Laravel Касса События

Я использую кассу Laravel 7.0 и хочу запустить некоторые методы после успешной подписки. Я надеялся, что будут какие-то события, которые я мог бы прослушать, но, похоже, это не так (если только я их не пропустил).

Stripe — платежная система, которой я пользуюсь, если это имеет значение. (пакет stripe-php.)

Я упускаю что-то очевидное?

Я знаю, что есть много способов сделать это сам, но я ищу элегантное решение.


person Daniel Dewhurst    schedule 16.10.2017    source источник


Ответы (2)


Просто создайте конечную точку API в файле route/api.php, а затем добавьте их в свою учетную запись Stripe. Stripe будет рассматривать эти API как веб-хуки. Как только кто-то подпишется на один из ваших сервисов, Stripe вызовет предоставленный веб-хук на вашем сервере, чтобы сообщить ему о новом событии подписки.

В вашем route/api.php или (лучше) в отдельном контроллере API добавьте любое событие, которое вам нужно запустить.

в Laravel убедитесь, что:

1- удалить middleware('auth:api') на этих вебхуках.

2- затем проанализируйте полезную нагрузку, отправленную полосой, чтобы проверить платеж

вы можете обратиться к документации Stripe здесь для получения более подробной информации.

person Anas Red    schedule 21.10.2017

Ребята из Spatie создали красивую упаковку именно для этой цели.

Я только что внедрил его в свое собственное приложение для управления подписками для обработки веб-хуков Stripe, и это, ну, очень просто!

Их сообщение в блоге об этом находится здесь: https://murze.be/handling-stripe-webhooks-in-a-laravel-application

И репозиторий GitHub находится здесь: https://github.com/spatie/laravel-stripe-webhooks

Потребовалось около 5 минут, чтобы приступить к работе и создать собственную обработку входящих веб-перехватчиков, включая ее чтение!

person Dan Streeter    schedule 27.05.2018
comment
Я пытался запустить этот пакет всю неделю, я думаю, что у меня проблемы с конечной точкой веб-перехватчика. Не возражаете, если я задам вам несколько вопросов? - person Dustin; 08.11.2018
comment
Да, конечно, прошло несколько месяцев с тех пор, как я работал над этим проектом, но я сделаю все, что в моих силах. - person Dan Streeter; 10.11.2018
comment
Я использую тот же пакет Spatie, но когда я отправляю тестовый веб-хук, я получаю 302 для входа в систему, я не могу понять, что может его блокировать. - person Dustin; 11.11.2018
comment
Если я понял это правильно. Вы запускаете веб-хуки на полосе в своем приложении и получаете правильный 302. Входят ли ваши вебхуки в группу маршрутов авторизации? Это означает, что им требуется аутентифицированный сеанс. Они должны быть за пределами этого, чтобы полоса могла просто общаться с вашим приложением. - person Dan Streeter; 12.11.2018
comment
Эй Дэн, спасибо за ответ. Я думаю, что это правильная идея, но не проблема. Я попытался переместить маршрут в самый низ страницы web.php и получил ту же ошибку. Я также дважды проверил исключение токена CSRF. Я разместил вопрос несколько дней назад здесь. stackoverflow.com/questions/53213735/ - person Dustin; 13.11.2018