Использование технологии 3-D Secure версии 2

Применяется при подключении Продавцом механизма 3-D Secure аутентификации. Порядок выполнения - аутентификация держателя карты на стороне банка-эмитента и сообщение результатов сервису шлюза.

Пример для двустадийной оплаты.


При передаче запроса на блокировку средств Продавцу необходимо сформировать дополнительный объект threeds_ver2:

Название Описание Формат
term_url URL для получения CRes при прохождении challenge-flow сценария Строка
browser_info Объект содержащий информацию и браузере Пользователя JSON объект
├─ accept_header Содержимое HTTP-заголовков, отправленных в систему интернет-эквайринга из браузера клиента. Максимальное значение – 2048 символов. Например, application/json,application/jose;charset=utf-8 Строка
├─ color_depth Значение, представляющее битовую глубину цветовой палитры для отображения изображений, в битах на пиксель. Например, 24 (screen.colorDepth) Строка (максимальная длина - 2 символа)
├─ java_enabled Возможность выполнять java в браузере (novigator.javaEnabled) true/false
├─ javascript_enabled Признак возможности выполнения JavaScript в браузере держателя карты true/false
├─ language Язык браузера, указанный по стандарту IETF BCP47. Например, ru-RU Строка (максимальная длина - 8 символов)
├─ height Общая высота (в пикселях) экрана, отображаемого держателю карты. Максимальное значение – 6 символов. Например, 1080 (screen.height) Строка
├─ width Общая ширина (в пикселях) экрана, отображаемого держателю карты. Максимальное значение – 6 символов. Например, 1920 (screen.width) Строка
├─ timezone Разница во времени между временем по UTC и местным временем (браузера) пользователя в минутах. Например, если UTC -5, то необходимо указать +300, а если UTC +5, то необходимо указать -300 Строка (максимальная длина - 5 символов)
├─ useragent Содержимое HTTP-заголовка User-Agent. Например: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Строка (максимальная длина - 2048 символов)
├─ window_height Высота окна в браузере (в пикселях), в котором будет отображаться страница для ввода аутентификационных данных (например, страница ввода одноразового пароля). Оптимальное значение для десктопного браузера – 500. Строка
├─ window_width Ширина окна в браузере (в пикселях), в котором будет отображаться страница для ввода аутентификационных данных (например, страница ввода одноразового пароля). Оптимальное значение для десктопного браузера – 600. Строка

При получении запроса на блокировку средств шлюз проверяет факт участия карты в 3-D Secure аутентификации.

Если карта Пользователя вовлечена в технологию 3-D Secure версии 2, то в ответе так же присутствуют атрибуты ThreedsMethodURL, Is3DSVer2 и ThreedsMethodURLData.

Название Описание Формат eCom
ThreedsMethodURL Адрес (URL/URI) сервера аутентификации 3-D Secure для сбора информации о браузере клиента Строка
ThreedsMethodURLData Зашифрованная base64 строка Строка
Is3DSVer2 Флаг проведения операции с использованием технологии 3DS версии 2 true/false

После получения ответа от шлюза Продаец отправляет запрос через скрытый iframe в браузере Пользователя, состав запроса:

  • POST ThreedsMethodURL
  • Content-Type: application/x-www-form-urlencoded
  • Параметр threeDSMethodData со значением ThreedsMethodURLData, полученным в ответе

После получения ответа на ThreedsMethodURL произойдёт перенаправление на URL шлюза, для подтверждения прохождения сценария сбора данных о браузере Пользователя сервером ACS.

При получении кода ответа 202 после перенаправления на URL шлюза Продавец посылает запрос на Block3DS:

Название Описание Формат eCom
key Идентификатор Продавца. Выдается с параметрами тестового/боевого доступа Строка
merchant_order_id Идентификатор платежа в системе theMAP Строка (максимум 50 символов)

Аутентификация 3-D Secure версии 2 проходит по одному из двух сценариев: frictionless-flow, либо challenge-flow. Cценарий прохождения аутентификации, зависит он наличия параметров ACSUrl, CReq в ответе на запрос Block3DS.

  • При отсутствии параметров ACSUrl, CReq сценарий считается frictionless-flow и не требует дополнительных действий для аутентификации
  • При наличии параметров ACSUrl, CReq сценарий считается challenge-flow и требует дополнительных действий для аутентификации

В случае прохождения аутентификации по сценарю frictionless-flow, данный Block3DS считается финальным.


Сценарий прохождения challenge-flow:

После получения ответа от шлюза Продавец перенаправляет держателя карты на сайт банка-эмитента для дополнительной аутентификации. Для этого используется POST запрос по адресу, указанному в значении атрибута ACSUrl, состав запроса:

  • POST ACSUrl
  • Content-Type: application/x-www-form-urlencoded
  • Параметр creq со значением CReq, полученным в ответе

После прохождения авторизации на сайте банка-эмитента происходит возврат пользователя HTTPS POST запросом по адресу, указанному в параметре term_url запроса Block с параметром указанным ниже.

Название Описание Формат
cres Шифрованная строка, содержащая результаты 3-D Secure аутентификации Строка

После получения параметра cres Продавец посылает запрос на Block3DS для завершения сценария challenge-flow:

Название Описание Формат eCom
key Идентификатор Продавца. Выдается с параметрами тестового/боевого доступа Строка
merchant_order_id Идентификатор платежа в системе theMAP Строка (максимум 50 символов)
cres Шифрованная строка, содержащая результаты 3-D Secure аутентификации Строка: cоответствует ответу от ACS 1

1 Параметр обязателен при прохождении challenge-flow

При одностадийной оплате (в случае использования метода Pay), необходимо вместо метода Block3DS для завершения операции 3-DS использовать метод Pay3DS.

При сохранении карты, вовлеченной в технологию 3-D Secure, для завершения операции, и получения в ответе идентификатора карты, необходимо использовать метод StoreCard3DS.

Параметры запроса, ответа и составы полей методов Pay3DS и StoreCard3DS аналогичны методу Block3DS.