Рабочий процесс Оформления заказа в полоску Laravel

#php #laravel #stripe-payments

Вопрос:

У меня есть небольшой вопрос о рабочем процессе Stripe, и есть одна область, в которой я хотел бы узнать ваше мнение и опыт. Моя настройка такова: Laravel 8 и "stripe/stripe-php": "^7.97" .

Рабочий процесс, как я его понимаю:

  1. Клиент хочет расплатиться с помощью stripe
  2. Клиент отправляет запрос XHR на сервер приложений (Laravel)
  3. Сервер генерирует платежное намерение Stripe с помощью ключа Stripe.
  4. Полоса отправляет обратно ключ.
  5. Сервер передает этот ключ клиенту.
  6. Загружена полоса JS (https://js.stripe.com/v3/)
  7. Stripe JS предоставляет платежную форму (номер кредитной карты и т.д.).
  8. Клиент вводит данные своей кредитной карты.
  9. Затем клиент нажимает «оплатить».
  10. Stripe получает информацию о кредитной карте клиента вместе с ключом назначения платежа Stripe.
  11. Если данные верны, процесс оплаты успешно завершен в Stripe.
  12. В ответ Stripe отправляет клиенту информацию о состоянии оплаты.
  13. Эта информация затем будет отправлена с клиента на сервер.
  14. Сервер может пометить заказ как выполненный.

Мои вопросы:

а) Правильно ли я понял рабочий процесс?

б) Вы бы уже хранили заказ в базе данных в месте назначения платежа (пункт 3.) или только в последнем пункте (пункт 14.)?

Комментарии:

1. Я знаю, что у Stripe есть веб-крючки, так что вы можете прослушивать завершение платежа и т. Д. Можно ли использовать шаг 13/14, если вы просто позволите клиенту сообщить, когда заказ будет выполнен?

Ответ №1:

а) Ваше понимание верно. Но для шагов 13 и 14 вы хотели бы использовать Webhook для выполнения вашего заказа на сервере вместо этого. Более интуитивно понятное руководство содержится в официальном документе Stripe. введите описание изображения здесь

б) В пункте 3 вы можете создать заказ, но вам нужно отметить его статус как незаконченный. В пункте 14 вы можете отметить его завершенным и начать предоставлять свои услуги. Причина в том, что клиент может отключиться между (т. е. не предоставлять данные карты и просто закрыть браузер).

Комментарии:

1. Спасибо за ответ и спасибо за ссылку на веб-книги.