我正在尝试在symfony 4项目上安装条纹webhook,以监听(在后端)事件,尤其是付款是否成功。 并在事件接收后执行代码。 这是我的方法的代码
/**
*
* @Route("/confirmation_paiement", name="confirmation_paiement")
*
*/
public function confirmationPaiement(Request $request){
$endpoint_secret = self::WEBHOOK_TEST_KEY;
$payload = @file_get_contents('php://input');
$sig_header = $_SERVER['HTTP_STRIPE_SIGNATURE'];
$event = null;
try {
$event = \Stripe\Webhook::constructEvent(
$payload, $endpoint_secret
);
//, $sig_header
} catch(\UnexpectedValueException $e) {
// Invalid payload
return new Response(Response::HTTP_BAD_REQUEST);
exit();
} catch(\Stripe\Exception\SignatureVerificationException $e) {
// Invalid signature
return new Response(Response::HTTP_BAD_REQUEST);
exit();
}
// Handle the event
switch ($event->type) {
case 'payment_intent.succeeded':
$paymentIntent = $event->data->object; // contains a StripePaymentIntent
handlePaymentIntentSucceeded($paymentIntent);
break;
case 'payment_method.attached':
$paymentMethod = $event->data->object; // contains a StripePaymentMethod
handlePaymentMethodAttached($paymentMethod);
break;
// ... handle other event types
default:
// Unexpected event type
return new Response(Response::HTTP_BAD_REQUEST);
exit();
}
return new Response(Response::HTTP_OK);
}
问题在于,Stripe可以很好地识别url,但无法从调用的方法中收到任何响应,而我确实向其发送了类型为200的http响应。
其次,我应该在哪里以及如何配置变量'HTTP_STRIPE_SIGNATURE'