ПРАВИЛА ИНТЕГРАЦИИ

3D-Secure

3D-Secure — проверка владельца карты банком-эмитентом. Для подтверждения банк может запросить одноразовый код или действие в банковском приложении.

Если API вернул status: "redirect", выполните переход в браузере плательщика. Поле url содержит адрес страницы, а method определяет способ перехода:

  • GET — откройте url в браузере. Если form_data содержит дополнительные поля, добавьте их в параметры URL, сохранив уже имеющиеся параметры.

  • POST — создайте HTML-форму с action, равным url, и method="post". Каждую пару из form_data добавьте как скрытое поле формы и отправьте форму. Это можно сделать автоматически через form.submit().

Используйте URL целиком и передавайте имена и значения параметров form_data из ответа, сохраняя регистр. Набор полей зависит от способа оплаты; при {} или null дополнительных полей нет.

Пример POST-перехода на страницу подтверждения:

json
{
  "status": "redirect",
  "url": "https://acs.example/challenge",
  "method": "POST",
  "form_data": {
    "termurl": "https://merchant.example/termurl",
    "pareq": "pareq_data",
    "MD": "md_data"
  },
  "id": "019c6c4f-9a9c-e583-18f4-0e22eec8fc82"
}

В этом примере браузер отправляет форму на https://acs.example/challenge с полями termurl, pareq и MD. В интеграции используйте значения из ответа API.

Переход может вести на платёжную страницу, подтверждение 3D-Secure или страницу возврата мерчанта. Итоговый статус платежа проверяйте через /status или webhook.

Начиная с 3D-Secure версии 2.0 необходимо передавать данные пользователя в запрос следующий набор параметров (см. /init):

ПараметрОписаниеПример
device_channelКанал аутентификацииBRW
ip_addressIP адрес браузера93.184.216.34
device_browser_accept_headerПринимаемый контентtext/html
device_browser_java_enabledПризнак работы с Javafalse
device_browser_languageЯзык браузераRU
device_browser_color_depthГлубина цвета браузера32
device_browser_screen_heightВысота экрана браузера800
device_browser_screen_widthШирина экрана браузера480
device_browser_tzЧасовой пояс браузера в минутах от UTC60, 120, -180
device_browser_user_agentПользовательский агент браузераMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Если их не передавать, то большинство банков-эмитентов будут отклонять платеж.