1.13. Выплата с банковским подтверждением

Введение

Выплата - это тип финансовой транзакции, в результате которой Присоединяющаяся Сторона зачисляет средства на банковский счёт Клиента (Получателя). Этот сценарий предполагает интеграцию выплат, требующих дополнительного подтверждения от банка.
Значение терминов см. в Глоссарии.

Общий сценарий выплаты

participant Получатель as R
participant "Присоединяющаяся Сторона" as cp
autonumber
group Опционально
R -> cp : Инициализация
activate cp
end
== Запрос на выплату ==
cp -> "SBC": /api/v4/payout-check/
activate "SBC"
"SBC" --> cp: ИД транзакции
cp -> "SBC": Получение статуса по ИД транзакции\napi/v2/status
"SBC" --> cp : Ответ со\nстатусом,order-stage
cp -> "SBC": /api/v4/payout-pay/
"SBC" --> cp : Ответ payout-pay
group Опционально
cp -> "SBC": Получение статуса по ИД транзакции\napi/v2/status
"SBC" --> cp : Ответ со\nстатусом,redirect-to
cp -> R: Предоставлние URL-а перенаправления
deactivate "SBC"
deactivate cp
activate R
R -> "SBC": Перенаправление на redirect-to
deactivate R
activate "SBC"
"SBC" -> R: Дополнительная форма подстверждения
deactivate "SBC"
activate R
R -> "SBC": Подтверждение формы
deactivate R
activate "SBC"
end
"SBC" --> "SBC": Обработка\nвыплаты
group Получение финального статуса
== Получение обратного вызова \nПрисоединяющейся Стороны ==
cp <- "SBC" : Обратный вызов с финальным статусом
"SBC" <-- cp: HTTP 200
deactivate "SBC"
== Запрос статуса ==
cp -> "SBC": Получение статуса по ИД транзакции\napi/v2/status
activate "SBC"
"SBC" --> cp : Ответ со\nстатусом,order-stage
deactivate "SBC"
end
group Опционально
cp --> R: Показ результата
deactivate cp
end

(1) Выплата может быть инициирована Присоединяющейся Стороной в зависимости от внутренней бизнес-модели или запроса Получателя.
(2) Для имплементации запроса на проверку возможности выплаты см. /api/v4/payout-check.
(4) Для имплементации запроса статуса, см. /api/v2/status/.
(5) Параметр order-stage обязан вернуть payout_check_validated, возврат payout_check_validating означает что банк все ещё обрабатывает запрос. В этом случае Присоединяющаяся Сторона продолжает запрашивать статус транзакции.
(6) Чтобы продолжить обработку Payout, реализуйте запрос payout-pay, см. /api/v4/payout-pay.
(9) Некоторые типы выплат требуют от Получателя заполнить дополнительные данные в форме. Форма будет перенаправлена клиенту в параметре redirect-to ответа на запрос статуса.
(12) Получатель подтверждает форму выплаты.
(13) Получатель перенаправляется назад к Присоединяющейся Стороне. См. Финальное Перенаправление.
(15) Для имплементации обратного вызова с обработкой финального статуса см. Обратный вызов Присоединяющейся Стороны..
(17) Статус должен запрашиваться несколько раз с интервалами в 3-5 секунд до получения финального статуса в ответе.
(19) Финальный статус может быть отправлен Присоединяющейся Стороной в зависимости от бизнес модели или запроса Получателя.