.. meta:: :description: Настройка Payment Cashier (Parallel Form) в интерфейсе менеджера SBC: главный endpoint, вспомогательные endpoints, типы транзакций и маршрутизация по странам. .. _payment_cashier_manager: Payment Cashier Configuration ############################# .. role:: ex .. role:: code Введение ^^^^^^^^^^^^ Для интеграции с Платёжной кассой требуется настроенный Главный Эндпоинт для отображения формы Кассы (также называемой Параллельной формой) и настроенные Вспомогательные Эндпоинты для каждого способа оплаты, отображаемого в Параллельной форме. Менеджер может настроить в Главном Эндпоинте, какой тип транзакции (sale, preauth) будет инициироваться для каждого способа оплаты и для какого списка стран этот способ оплаты будет отображаться. В одной Параллельной форме может быть несколько способов оплаты, например кредитная карта, банковский перевод и т. д., доступных Плательщику для выбора. Parallel Form Master Endpoint Settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Существует инструкция по конфигурации проекта для использования Parallel Form: | 1. Чтобы настроить параллельную форму со способами оплаты в разных валютах, необходимо создать как минимум один проект для каждой валюты. Например, для обработки платежей в :ex:`USD`, :ex:`EUR` и :ex:`JPY` следует создать 3 разных проекта. | | 2. После создания проектов необходимо создать и подключить к соответствующим проектам все требуемые конечные точки для указанных способов оплаты. Эти конечные точки будут вспомогательными по отношению к основной конечной точке и будут называться вспомогательными. | | 3. Чтобы создать Master Endpoint, перейдите (:code:`Settings` -> :code:`Configuration` -> :code:`Master Endpoints` -> + :code:`Master Endpoint`). | | 4. Вспомогательные Эндпоинты, представляющие способы оплаты, должны быть подключены к Главному Эндпоинту, чтобы отображаться в Параллельной форме. Это можно сделать в настройках Главного Эндпоинта. Чтобы добавить новый Вспомогательный Эндпоинт, нажмите кнопку :code:`Добавить`. Заполните форму с тремя полями: :code:`«Эндпоинт»`, :code:`«Способ оплаты»` и :code:`«Справочное имя способа оплаты»`. В поле :code:`«Эндпоинт»` следует выбрать один из доступных Эндпоинтов. Поле :code:`«Способ оплаты»` определяет название способа оплаты, отображаемое на соответствующей вкладке Параллельной формы. Поле :code:`«Справочное имя способа оплаты»` определяет внутреннее справочное имя этого способа оплаты, которое можно использовать для настройки стиля его отображения в шаблоне Параллельной формы. | | 5. После добавления Auxiliary Endpoint Менеджер также может выбрать тип инициируемой транзакции (sale, preauth) и задать список стран, в которых этот способ оплаты будет доступен. Чтобы выбрать список стран, нажмите кнопку с тремя точками напротив поля Auxiliary Endpoint. | | 6. Чтобы изменить шаблон Параллельной формы по умолчанию, перейдите к Главному Эндпоинту (:code:`Главный эндпоинт` → :code:`Общие` → :code:`Изменить` → :code:`Шаблон платёжной формы`). Чтобы изменить шаблон платёжной формы по умолчанию для конкретного способа оплаты, перейдите к экрану сведений соответствующего Вспомогательного Эндпоинта и задайте нужный :code:`Шаблон платёжной формы`. Этот алгоритм возврата шаблона формы используется для всех типов шаблонов форм: оплаты, ожидания и завершения. Подробнее см. раздел «Логика отображения страницы оплаты» далее. .. note:: Шаблон платёжной формы также можно задать в настройках Проекта (:code:`Проект` → :code:`Общие` → :code:`Изменить` → :code:`Шаблон платёжной формы`). Когда запрос отправляется на Главный Эндпоинт без указанного шаблона Параллельной формы, Главный Эндпоинт наследует шаблон Параллельной формы из настроек Проекта. Этот вариант не рекомендуется, поскольку обычно Главный Эндпоинт и Вспомогательные Эндпоинты подключены к одному Проекту, и таким образом все Эндпоинты унаследуют один и тот же шаблон формы. | | Ниже приведён пример настроенного Master Endpoint с несколькими доступными способами оплаты, представленными подключёнными к нему Auxiliary Endpoints: | .. figure:: ../_static/images/guides/masterendpointnew.png :scale: 50 % :align: center :alt: Master Endpoint | | Ниже приведён пример успешной транзакции через Master Endpoint. Когда Плательщик открыл Parallel Form, основная транзакция инициировала вспомогательную транзакцию для способа оплаты, выбранного в форме. После получения вспомогательной транзакцией финального успешного статуса он вызвал финальный успешный статус основной транзакции: | .. figure:: ../_static/images/guides/masterendpointtrx.png :scale: 50 % :align: center :alt: Master Endpoint Transaction Example Платёж Page Display Logic ^^^^^^^^^^^^^^^^^^^^^^^^^^ | Транзакции Платёжной кассы можно инициировать API-запросами или через Виртуальный терминал в интерфейсе. Когда Присоединяющаяся сторона (Торговец или платёжный посредник, представляющий Торговца) отправляет запрос на Главный Эндпоинт, система SBC возвращает URL Параллельной формы, HTML-содержимое которой определяется на уровне Главного Эндпоинта. Когда в Параллельной форме выбран способ оплаты, система SBC возвращает HTML-содержимое шаблона формы этого способа оплаты, заданного на уровне соответствующего Вспомогательного Эндпоинта (или вместо него отображает внешнюю платёжную форму). | У каждого способа оплаты своя логика отображения страницы оплаты. Payment Cashier может содержать несколько транзакций, инициированных в рамках одного платёжного сеанса, поскольку для Плательщика может быть доступно несколько способов оплаты. Когда Плательщик выбирает вкладку оплаты, инициируется соответствующая вспомогательная транзакция. .. uml:: :align: center skinparam ConditionEndStyle hline : (1) Initiate transaction; if ((2) Additional Payer input required?) then (yes) : (3) return input form; : (4) submit form; else (no) endif if ((5) External form required?) then (yes) : (6) request external form from the payment provider; : (7) redirect to external form; : (8) submit form on payment provider side; else (no) endif : (9) show wait form; : (10) process transaction; : (11) show finish form or redirect \nto Connecting Party website; | (1) Транзакции могут инициироваться API-запросами, пакетной загрузкой или через виртуальный терминал в UI. Для каждого метода оплаты предусмотрена собственная логика отображения платёжной страницы. .. note:: Payment Cashier может иметь несколько транзакций, инициированных в одном платёжном сеансе, поскольку для плательщика может быть доступно несколько способов оплаты. Когда плательщик выбирает вкладку оплаты, инициируется соответствующая вспомогательная транзакция. | (3) Для оплаты кредитной картой форма отображается на стороне Платёжного Шлюза и может настраиваться. См. :ex:`Payment Page Customization`. Некоторые другие способы оплаты могут иметь дополнительные формы на стороне Платёжного Шлюза. Обратитесь в поддержку за подробностями. | (7) Некоторые методы оплаты требуют перенаправления плательщика на собственную форму. Эта форма не размещается Платёжным Шлюзом и не может быть настроена. | (9) Пока транзакция не достигнет финального статуса, Платёжный Шлюз отображает :ex:`Wait Form` для Плательщика. | (11) После того как транзакция достигает финального статуса, Платёжный Шлюз отображает :ex:`Finish Form` для Плательщика или :ex:`Redirect` на сайт Присоединяющейся стороны. .. note:: Все шаблоны и макросы для кастомизации см. `Forms Customization `_