Интеграция с ЮKassa

В этой статье описываются особенности интеграции eCom и ЮKassa, общая схема взаимодействия их компонентов.

Общий порядок проведения оплаты:

  1. UI отправляет сервису payment-orchestration:

    • цена,

    • валюта,

    • информация о заказе (ID и т.д.).

    • ссылка на страницу завершения оплаты.

  2. Сервис payment-orchestration отправляет в ЮKassa запрос, который содержит:

    • информация из предыдущего шага,

    • данные из конфигурации (ключи магазина, ссылка на страницу завершения оплаты),

    • генерируемый ключ идемпотентности.

  3. ЮKassa возвращает сервису payment-orchestration данные о платеже и ссылку на страницу оплаты.

  4. Сервис payment-orchestration сохраняет полученный платёж c помощью сервиса payment.

  5. Сервис payment-orchestration возвращает UI ссылку на страницу (нужно хранить на стороне фронтенд) оплаты и ID платежа.

  6. UI преходит по ссылке страницы оплаты, полученной на предыдущем шаге.

  7. По завершению оплаты на UI происходит переход по ссылке завершения оплаты, отправленной на шаге 2.

  8. UI отправляет сервису payment-orchestration запрос c ранее сохраненным ID по статусу платежа.

  9. Сервис payment-orchestration отправляет в ЮKassa запрос по платежу с полученным от UI ID.

  10. ЮKassa возвращает сервису payment-orchestration данные о платеже по указанному ID
    * возможно результат платежа может быть актуальным только спустя некоторое время, возможно стоит предусмотреть запрос статуса платежей по расписанию.

  11. Сервис payment-orchestration обновляет платёж c помощью сервиса payment.

  12. Сервис payment-orchestration обновляет статус заказа c помощью сервиса order.

  13. Сервис payment-orchestration отправляет на UI по платежу для уведомления пользователя.

Изображение статьи

Общая схема взаимодействия компонентов