Я пытаюсь установить чередующийся веб-крючок в проекте symfony 4 для прослушивания (в бэк-энде) событий, в частности успеха платежа. И выполнить код после получения события. Вот код моего метода
/**
*
* @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, но не получает никакого ответа от вызванного метода, тогда как я отправляю ему ответ http типа 200.
А во-вторых, где и как я должен настроить переменную 'HTTP_STRIPE_SIGNATURE'