#php #laravel #stripe-payments
Вопрос:
У меня есть небольшой вопрос о рабочем процессе Stripe, и есть одна область, в которой я хотел бы узнать ваше мнение и опыт. Моя настройка такова: Laravel 8 и "stripe/stripe-php": "^7.97"
.
Рабочий процесс, как я его понимаю:
- Клиент хочет расплатиться с помощью stripe
- Клиент отправляет запрос XHR на сервер приложений (Laravel)
- Сервер генерирует платежное намерение Stripe с помощью ключа Stripe.
- Полоса отправляет обратно ключ.
- Сервер передает этот ключ клиенту.
- Загружена полоса JS (https://js.stripe.com/v3/)
- Stripe JS предоставляет платежную форму (номер кредитной карты и т.д.).
- Клиент вводит данные своей кредитной карты.
- Затем клиент нажимает «оплатить».
- Stripe получает информацию о кредитной карте клиента вместе с ключом назначения платежа Stripe.
- Если данные верны, процесс оплаты успешно завершен в Stripe.
- В ответ Stripe отправляет клиенту информацию о состоянии оплаты.
- Эта информация затем будет отправлена с клиента на сервер.
- Сервер может пометить заказ как выполненный.
Мои вопросы:
а) Правильно ли я понял рабочий процесс?
б) Вы бы уже хранили заказ в базе данных в месте назначения платежа (пункт 3.) или только в последнем пункте (пункт 14.)?
Комментарии:
1. Я знаю, что у Stripe есть веб-крючки, так что вы можете прослушивать завершение платежа и т. Д. Можно ли использовать шаг 13/14, если вы просто позволите клиенту сообщить, когда заказ будет выполнен?
Ответ №1:
а) Ваше понимание верно. Но для шагов 13 и 14 вы хотели бы использовать Webhook для выполнения вашего заказа на сервере вместо этого. Более интуитивно понятное руководство содержится в официальном документе Stripe.
б) В пункте 3 вы можете создать заказ, но вам нужно отметить его статус как незаконченный. В пункте 14 вы можете отметить его завершенным и начать предоставлять свои услуги. Причина в том, что клиент может отключиться между (т. е. не предоставлять данные карты и просто закрыть браузер).
Комментарии:
1. Спасибо за ответ и спасибо за ссылку на веб-книги.