1.13. Payout по Форме

Введение

Payout-form - это тип транзакции, в результате которой происходит перевод средств с банковского счёта Присоединяющейся Стороны на банковский счёт клиента (получателя) или в электронный кошелёк. Транзакция payout-form в большинстве случаев используется для пополнения банковского счёта. В отличие от интеграции Server-to-Server Payout, в которой Присоединяющаяся Сторона отправляет счёт получателя в первоначальном запросе, интеграция Payout по Форме позволяет получателю ввести данные банковского счёта на форме, размещённой на стороне SBC.

Примечание

For this integration type Payout Validation must be used for payout-form transactions status handling.
Значение терминов см. в Глоссарии.

  1. Получатель заполняет форму payout и отправляет данные;

Платёжная Форма
  1. Контекстные данные собираются SBC для обработки транзакции;

Форма Ожидания
  1. Браузер Получателя перенаправляется на сайт Присоединяющейся Стороны на финальную страницу.

Финальная форма

Сценарий Payout по Форме

  participant Receiver as R
  participant "Connecting Party" as Cp
  autonumber
  group optional
  R -> Cp : Checkout
  activate Cp
  end
  == Payout form request ==
  Cp -> "SBC": /api/v4/payout-form/
  activate "SBC"
  "SBC" --> Cp: Order ID\nredirect-url
  deactivate "SBC"
  Cp --> R : Redirect to Payout по Форме\nredirect-url
  deactivate Cp
  activate R
  R -> "SBC" : GET redirect-url
  deactivate R
  activate "SBC"
  "SBC" --> R : Payout по Форме
  deactivate "SBC"
  activate R
  R -> "SBC" : Submit Form
  deactivate R
  activate "SBC"
  "SBC" --> "SBC" : Process payout
  == Final redirect of Receiver ==
  "SBC" --> R : Connecting Party website redirect_url
  activate R
  R -> Cp : POST status,Order ID
  deactivate R
  activate Cp
  group Manual Verification
      Cp -> "SBC": Get transaction marker
      "SBC" -> Cp: markerId
      Cp -> "SBC": Processing the marker
      "SBC" -> Cp: Marker status
      == Transaction filtering ==
      Cp -> "SBC": filterTransaction
      "SBC" -> Cp: Transaction filtering
      == Transaction processing ==
      Cp -> "SBC": manualVerificationResumeProcessing
      "SBC" -> Cp: Transaction processing
      deactivate "SBC"
      end
  group Get Final Status
  == Receive Connecting Party Callback ==
  Cp <- "SBC" : Callback with Final Status
  activate "SBC"
  "SBC" <-- Cp: HTTP 200
  deactivate "SBC"
  == Order Status request ==
  Cp -> "SBC": Get status by Order ID\napi/v2/status
  activate "SBC"
  "SBC" --> Cp : Response\nstatus,order-stage
  deactivate "SBC"
  end
  group Optional
  Cp --> R: Show result
  deactivate Cp
  end

(1) Payout-form может быть инициирован Присоединяющейся Стороной на основании внутренней бизнес-модели или по запросу Получателя.
(2) Для имплементации payout-form см. /api/v2/payout-form.
(9) Для имплементации финального перенаправления Плательщика см. Финальное Перенаправление.
(11) To implement manual verification see Payout Validation.
(19) To implement callback with final status handling see Connecting Party Callback.
(21) To implement order status request see /api/v2/status/. Status should be requested multiple times with 3-5 seconds interval until final status will be received in response.
(23) Final Status can be sent by Connecting Party based on internal business model or by Receiver’s request.