Я ищу разъяснения по использованию контроллера Webhooks в Stripe Cashier, как описано в Laravel Docs, поскольку я не могу подтвердить, что мое приложение получает события webhook:
http://laravel.com/docs/5.0/billing#handling-failed-payments
Документы советуют указать маршрут к контроллеру веб-перехватчика следующим образом:
Route::post('stripe/webhook', 'Laravel\Cashier\WebhookController@handleWebhook');
URI в маршруте должен быть изменен, чтобы быть URI в моих настройках Stripe. В тестовой среде я использую ngrok для доступа к своему локальному серверу.
Я ищу разъяснения по поводу того, каким должен быть URI как для тестирования, так и для производства. Для тестирования я должен просто использовать URL-адрес переадресации ngrok (например, http://3a4bfceb.ngrok.com), или мне нужно иметь скрипт в общедоступном каталоге для обработки события веб-перехватчика из Stripe.
Я не уверен, может ли контроллер обрабатывать получение данных с помощью функции handlePayload
или мне нужно добавить дополнительный php-скрипт (например, webhook.php
) с чем-то, как описано в документах Stripe, например:
// Set your secret key: remember to change this to your live secret key in production
// See your keys here https://dashboard.stripe.com/account
Stripe::setApiKey("sk_test_xxxxxxxxxxxxxxxxxxxxxxx");
// Retrieve the request's body and parse it as JSON
$input = @file_get_contents("php://input");
$event_json = json_decode($input);
// Do something with $event_json
http_response_code(200); // PHP 5.4 or greater
Если кто-нибудь может помочь с URI тестирования и производства, а также с тем, требуется ли дополнительный сценарий обработки помимо того, что предлагает Cashier's WebhookController.php
, я был бы признателен.