1.5. Server-to-Server выплата

Введение

Выплата — это тип транзакции, в результате которой средства переводятся с банковского счёта Присоединяющейся Стороны на банковский счёт клиента (получателя) или цифровой кошелёк. В большинстве случаев транзакция выплаты используется для пополнения банковского счёта.

Значение терминов см. в Глоссарии.

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

@startuml
participant Получатель as R
participant "Присоединяющаяся Сторона" as cp
autonumber
group Опционально
R -> cp : Инициализация
activate cp
end
== Запрос на выплату ==
cp -> "SBC": /api/v4/payout/
activate "SBC"
"SBC" --> cp: ИД транзакции
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": PОбработка\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
@enduml

(1) Выплата может быть инициирована Присоединяющейся Стороной в зависимости от внутренней бизнес-модели или запроса Получателя.
(2) Для реализации транзакции выплаты см. /api/v4/payout.
(5) Некоторые способы выплаты требуют от Получателя заполнения дополнительных данных в форме. Форма для перенаправления клиента возвращается в ответе на запрос статуса в параметре redirect-to.
(8) Получатель отправляет форму выплаты.
(9) Получатель перенаправляется обратно к Присоединяющейся Стороне. См. Финальное перенаправление.
(11) Для реализации запроса статуса заказа см. /api/v2/status/. Статус следует запрашивать несколько раз с интервалом 3-5 секунд до получения финального статуса в ответе.
(13) Для реализации обратного вызова с обработкой финального статуса см. Обратный вызов Присоединяющейся Стороны.
(15) Финальный статус может быть отправлен Присоединяющейся Стороной в зависимости от внутренней бизнес-модели или запроса Получателя.