Веб-перехватчики Stripe – это мощная функция, позволяющая получать уведомления от Stripe в режиме реального времени о различных событиях, таких как успешные платежи, отмена подписки или неудачное списание средств. В этой статье мы рассмотрим, как реализовать веб-перехватчики Stripe в приложении Laravel с помощью инструмента Stripe CLI.
Предварительные требования:
Прежде чем мы углубимся в реализацию, убедитесь, что у вас настроено следующее:
- Laravel установлен в вашей локальной среде разработки.
- Композитор установлен для управления зависимостями Laravel.
- Учетная запись Stripe и ключи API.
Шаг 1. Установите Stripe CLI
Для начала нам необходимо установить инструмент Stripe CLI, который обеспечивает удобный способ локального тестирования и обработки веб-перехватчиков. Следуйте официальному руководству по установке для вашей операционной системы, чтобы установить Stripe CLI.
Шаг 2. Настройте конечную точку веб-перехватчика в Laravel
Далее нам нужно настроить конечную точку веб-перехватчика в нашем приложении Laravel для получения и обработки событий веб-перехватчика, отправленных Stripe. Давайте создадим маршрут и контроллер для обработки событий веб-перехватчика.
- Определите маршрут в файле
web.php:
Route::post('/stripe/webhook', 'StripeWebhookController@handleWebhook');
- Создайте новый контроллер с помощью следующей команды:
php artisan make:controller StripeWebhookController
- Откройте файл
StripeWebhookController.phpи добавьте следующий код:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Laravel\Cashier\Http\Controllers\WebhookController;
class StripeWebhookController extends WebhookController
{
/
* Handle a Stripe webhook.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handleWebhook(Request $request)
{
$payload = $request->all();
// Handle the webhook event based on the received payload
// Implement your logic here
return $this->successMethod();
}
}
Шаг 3. Настройте интерфейс командной строки Stripe
Теперь давайте настроим CLI Stripe для пересылки событий веб-перехватчика на наш локальный сервер разработки.
- Откройте окно терминала и выполните следующую команду:
stripe login
-
Следуйте инструкциям для аутентификации в своей учетной записи Stripe.
-
После аутентификации выполните следующую команду для пересылки событий веб-перехватчика:
stripe listen --forward-to=http://localhost/stripe/webhook
Эта команда сообщает интерфейсу командной строки Stripe пересылать входящие события веб-перехватчика на указанный URL-адрес.
Шаг 4. Тестирование событий вебхука
Настроив CLI Stripe, вы теперь можете тестировать события веб-перехватчика и обрабатывать их в своем приложении Laravel.
- Откройте другое окно терминала и выполните следующую команду, чтобы смоделировать успешный платеж:
stripe trigger payment_intent.created
-
Проверьте терминал, на котором работает ваше приложение Laravel, чтобы увидеть выходные данные события веб-перехватчика.
-
Реализуйте необходимую логику в методе
handleWebhookобъектаStripeWebhookControllerдля обработки определенного события веб-перехватчика.
В этой статье мы узнали, как реализовать веб-перехватчики Stripe в приложении Laravel с помощью инструмента Stripe CLI. Мы рассмотрели настройку конечной точки веб-перехватчика в Laravel, настройку интерфейса командной строки Stripe для пересылки событий и обработку событий веб-перехватчика в вашем приложении. Обладая этими знаниями, вы сможете легко интегрировать уведомления о событиях Stripe в режиме реального времени в свое приложение Laravel.