.. meta:: :description: Интеграция Перевод средств по форме с SBC: размещённая форма, которая собирает данные карты отправителя и получателя и обрабатывает перевод между картами. .. _transfer_form: Перевод средств по форме ############################### .. role:: ex .. role:: code Введение ^^^^^^^^^^^^ | Перевод - это тип комплексной оплаты, которая позволяет перечислять средства между банковскими картами (:ref:`PAN`), карточными токенами (:ref:`RPI`) и банковским аккаунтом Присоединяющейся Стороны (:ref:`Депозит`). | Перевод с использованием формы подходит Присоединяющимся Сторонам, не принимающим карточные данные Отправителя (веб-сайт Присоединяющейся Стороны обязан быть сертифицированным по PCI DSS). Используя перевод с внешней формой, Присоединяющаяся Сторона освобождена от обработки данных для оплаты. В данном случае получение и обработка данных оплаты производится на стороне SBC (если не отправлен PAN). Такой тип интеграции позволяет Отправителю (для перевода между картами) и Получателю (для выплат с депозита на карту) подтверждать PAN на стороне SBC. | | Все формы настраиваемы. Примеры и макросы - см. настройки :ref:`Платёжной Формы`, :ref:`Предварительно Заполненных Данных`, :ref:`Формы Ожидания` и :ref:`Финишной Формы` в разделе :ref:`Настройка Форм`. | | Значение терминов см. в :ref:`Глоссарии`. | | Диаграмма сценариев трансфера по форме: .. uml:: :align: center hide members hide circle circle " " as c2 package Из <> { class "Форма" as f1a class "Номер карты\n(Pan)" as pan1a class "ИД повторяющейся транзакции\n(RPI)" as rpi1a class "Аккаунт Присоединяющейся Стороны\n(Deposit to card)" as dca } package К <> { 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 Возможные сценарии трансфера по форме: .. list-table:: :widths: 25, 75 :header-rows: 0 :class: longtable * - 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 происходит при перечислении средств с аккаунта Присоединяющейся Стороны на платёжные данные, указанные в форме. .. _transfer_form_definitions: Сценарий Переводов ^^^^^^^^^^^^^^^^^^ .. uml:: :align: center skinparam roundcorner 20 skinparam sequenceArrowThickness 2 skinparam ParticipantPadding 30 autonumber actor Отправитель as Payer participant "Присоединяющаяся Сторона" as A participant "Платёжный Шлюз" as B Payer -> A: Инициация платежа activate A == Запрос на перевод средств == A -> B: api/v4/transfer-form activate B B --> A: Redirect-url, orderId deactivate B A -> Payer: Предоставление redirect-url \nбраузеру отправителя deactivate A activate Payer Payer -> B: GET redirect-url deactivate Payer activate B B --> Payer: Форма перевода средств deactivate B activate Payer Payer -> B: Подтверждение формы deactivate Payer activate B B -> B: Обработка платежа == Финальное перенаправление Плательщика == B -> Payer: edirect_url веб-сайта Присоединяющейся Стороны activate Payer Payer -> A: POST redirect_url status, orderid deactivate Payer activate A group Получение финального статуса == Получение обратного вызова == A <- B: Обратный вызов \nс финальным статусом B <-- A: HTTP 200 deactivate B == Запрос статуса == A -> B: Получение статуса \nпо ИД транзакции activate B B --> A: Конечный статус deactivate B end A --> Payer: Показ результата deactivate Payer deactivate A | (1) Перевод между картами инициируется Отправителем. Перевод от Присоедияющейся Стороной (:ref:`депозиты`) инициируется Получателем с тем же Сценарием. | (2) Для имплементации запроса на перевод по форме см. :ref:`/api/v4/transfer-form/`. | (9) Для имплементации финального перенаправления Плательщика см. :ref:`Финальное Перенаправление`. | (11) Для обработки обратного вызова с окончательным статусом заказа см.:ref:`Обратный вызов Присоединяющейся Стороны`. | (13) Для имплементации запроса статуса заказа, см. :ref:`/api/v2/status/`. Статус должен запрашиваться несколько раз с интервалом в 3-5 секунд до получения финального статуса. .. ifconfig:: "doc.payneteasy.com" in site_link ---- .. admonition:: See also :class: related-cross-link `Card-to-card transfers for fintech apps → `_ .. ifconfig:: "doc.payneteasy.ru" in site_link ---- .. admonition:: См. также :class: related-cross-link `Финтех-решения: переводы карта-карта → `_