Предварительный выбор платёжного метода

Общая информация

По умолчанию работа пользователя с Payment Page начинается со страницы выбора платёжного метода, но в некоторых случаях нет необходимости отображать эту страницу. Например, когда пользователь выбирает метод в веб-сервисе мерчанта до открытия Payment Page или когда со стороны мерчанта по каким-либо причинам (с учётом специфики региона, пользователя или иных факторов) актуально использовать конкретный платёжный метод.

Для работы с такими ситуациями в платёжной платформе ECommPay предусмотрена возможность открытия Payment Page с учётом предварительно выбранного (пользователем или мерчантом) метода, минуя выбор метода в платёжной форме. Выбранный метод в таких случаях указывается в запросе на открытие Payment Page, и для подключения этой возможности не требуется никаких дополнительных действий.

Рис.: Базовый сценарий — с выбором метода в платёжной форме



Рис.: Дополненный сценарий — с выбором метода до открытия платёжной формы



Вместе с выбором метода в некоторых случаях могут использоваться и другие возможности, актуальные для конкретного метода и влияющие на сценарии работы Payment Page. К таким возможностям относятся:

  • Отображение сохранённых данных определённой платёжной системы. Для оплаты с прямым использованием карт можно ограничивать выбор карт, данные которых были сохранены пользователем. В таком случае в запросе на открытие Payment Page указывается идентификатор предпочтительной платёжной системы (например, Mastercard или Visa), в результате чего первой пользователю отображается страница выбора платёжной карты с данными карт указанной платёжной системы. Если таких данных нет или среди представленных карт нет подходящих, то пользователь может указать данные другой карты, в том числе другой платёжной системы.


  • Предварительный выбор банка. Для некоторых методов интернет-банкинга, например Banks of Indonesia, предварительно можно указывать конкретный банк, поддерживающий оплату с использованием этого метода. В таком случае перенаправление пользователя осуществляется напрямую на сайт банка, минуя страницы с выбором платёжного метода и выбором банка. Информация о таких возможностях, специфичных для отдельных методов, представлена в описании этих методов в разделе Поддержка платёжных методов.

Наконец, помимо выбора конкретного метода в некоторых ситуациях может быть актуальна фильтрация платёжных методов, отображаемых пользователю на Payment Page. Эта возможность описана в отдельной статье.

Особенности

При работе с предварительным выбором платёжных методов необходимо учитывать следующие особенности:

  • в качестве предварительно выбранного может указываться один из методов, доступных в рамках используемого проекта, иначе запрос отклоняется;
  • пользователю не предоставляется возможность выбрать другой метод, кроме указанного при вызове Payment Page, в том числе и при выполнении всех повторных попыток в рамках платежа;
  • при одновременном указании в запросе метода и токена платёжных данных платёж проводится с использованием токена, а информация о платёжном методе игнорируется.

Формат запросов

Для указания платёжного метода в запросе на открытие Payment Page необходимо передавать код этого метода в параметре force_payment_method. Коды поддерживаемых методов представлены в отдельном разделе.

В следующем примере для проведения оплаты указан метод Alipay.

{
   "project_id": 42,
   "payment_id": "456789",
   "payment_currency": "USD",
   "payment_amount": 131970,
   "customer_id": "customer_12",
   "force_payment_method": "alipay",  // код платёжного метода
   "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..."
 }

Чтобы указать предпочтительную платёжную систему для оплаты с прямым использованием карты, в запросе на открытие Payment Page необходимо указать код платёжного метода card в параметре force_payment_method и идентификатор платёжной системы в параметре force_payment_method_subtype. Используемые идентификаторы платёжных систем представлены в соответствующем разделе.

В следующем примере в качестве предпочтительной указана платёжная система Mastercard.

{
   "project_id": 43,
   "payment_id": "456790",
   "payment_currency": "USD",
   "payment_amount": 131970,
   "customer_id": "customer_12", 
   "force_payment_method": "card",  // код платёжного метода
   "force_payment_method_subtype": "mastercard",   // идентификатор платёжной системы
   "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..."
 }

Дополнительные материалы

При работе с предварительным выбором платёжных методов могут быть полезны следующие материалы: