1.9. Перевод средств по форме

Введение

Перевод - это тип комплексной оплаты, которая позволяет перечислять средства между банковскими картами (PAN), карточными токенами (RPI) и банковским аккаунтом Присоединяющейся Стороны (Депозит).
Перевод с использованием формы подходит Присоединяющимся Сторонам, не принимающим карточные данные Отправителя (веб-сайт Присоединяющейся Стороны обязан быть сертифицированным по PCI DSS). Используя перевод с внешней формой, Присоединяющаяся Сторона освобождена от обработки данных для оплаты. В данном случае получение и обработка данных оплаты производится на стороне Denumtech (если не отправлен PAN). Такой тип интеграции позволяет Отправителю (для перевода между картами) и Получателю (для выплат с депозита на карту) подтверждать PAN на стороне Denumtech.

Примечание

For this integration type Payout Validation must be used for transfer-form transactions status handling.
Все формы настраиваемы. Примеры и макросы - см. настройки Платёжной Формы, Предварительно Заполненных Данных, Формы Ожидания и Финишной Формы в разделе Настройка Форм.

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

Диаграмма сценариев трансфера по форме:

hide members
hide circle

circle " " as c2
package Из <<Frame>> {
class "Форма" as f1a
class "Номер карты\n(Pan)" as pan1a
class "ИД повторяющейся транзакции\n(RPI)" as rpi1a
class "Аккаунт Присоединяющейся Стороны\n(Deposit to card)" as dca

}
package К <<Frame>> {
class "Номер карты\n(PAN)" as pan2
class "ИД повторяющейся транзакции\n(RPI)" as rpi2
class "Форма" as f2

}

f1a --|> pan2
f1a --|> rpi2
f1a -- c2
pan1a -- c2
rpi1a -- c2
dca -- c2
dca -[hidden]> f2
c2 --|> f2

Возможные сценарии трансфера по форме:

Form to PAN

Перевод по форме по сценарию Form to PAN происходит при перечислении средств с платёжных данных, указанных в форме, на банковскую карту, номер которой указан.

Form to RPI

Перевод по форме по сценарию Form to RPI происходит при перечислении средств с платёжных данных, указанных в форме, на банковскую карту, идентификатор повторных выплат которой указан.

PAN to Form

Перевод по форме по сценарию PAN to Form происходит при перечислении средств с банковской карты, номер которой указан, на платёжные данные, указанные в форме.

RPI to Form

Перевод по форме по сценарию RPI to Form происходит при перечислении средств с банковской карты, идентификатор повторных выплат которой указан, на платёжные данные, указанные в форме.

Form to Form

Перевод по форме по сценарию Form to Form происходит при перечислении средств с одних платёжных данных на другие платёжные данные, указанные в форме.

deposit to Form

Перевод по форме по сценарию deposit to Form происходит при перечислении средств с аккаунта Присоединяющейся Стороны на платёжные данные, указанные в форме.

Сценарий Переводов

      skinparam roundcorner 20
      skinparam sequenceArrowThickness 2
      skinparam ParticipantPadding 30
      autonumber
      actor Sender as Payer
      participant "Connecting Party" as A
      participant "Payment Gateway" as B
      Payer -> A: Payment Initiation
      activate A
      == Transfer Request ==
      A -> B: api/v4/transfer-form
      activate B
      B --> A: Redirect-url, orderId
      deactivate B
      A -> Payer: Provide redirect-url to sender’s browser
      deactivate A
      activate Payer
      Payer -> B: GET redirect-url
      deactivate Payer
      activate B
      B --> Payer: Перевод средств по форме
      deactivate B
      activate Payer
      Payer -> B: Submit form
      deactivate Payer
      activate B
      B -> B: Process payment
      == Final redirect of Payer ==
      B -> Payer: Connecting Party website redirect_url
      activate Payer
      Payer -> A: POST redirect_url status, orderid
      deactivate Payer
      activate A
      group Manual Verification
        A -> B: Get transaction marker
        B -> A: markerId
        A -> B: Processing the marker
        B -> A: Marker status
        == Transaction filtering ==
        A -> B: filterTransaction
        B -> A: Transaction filtering
        == Transaction processing ==
        A -> B: manualVerificationResumeProcessing
        B -> A: Transaction processing
        deactivate B
        end
      group Get Final Status
      == Receive Callback ==
      A <- B: Сallback with final status
      activate B
      B <-- A: HTTP 200
      deactivate B
      == Order Status Request ==
      A -> B: Get status by Order ID
      activate B
      B --> A: Final Status
      deactivate B
      end
      A --> Payer: Show Result
      deactivate Payer
      deactivate A

(1) Перевод между картами инициируется Отправителем. Перевод от Присоедияющейся Стороной (депозиты) инициируется Получателем с тем же Сценарием.
(2) Для имплементации запроса на перевод по форме см. /api/v4/transfer-form/.
(9) Для имплементации финального перенаправления Плательщика см. Финальное Перенаправление.
(11) To implement manual verification see Payout Validation.
(19) To implement callback with final status handling see Connecting Party Callbacks.
(21) To implement order status see /api/v2/status/. Status should be requested multiple times with 3-5 seconds interval until final status will be received in response.