3-D Secure

3-D Secure 1.0

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

Порядок обработки запросов для оплаты с карты, защищенной 3-D Secure 1.0, отличается от стандартного и подробно описан ниже.

3DS

Проверка участия карты в процедуре 3-­D Secure аутентификации

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

Если карта Покупателя защищена 3-D Secure, значение параметра Success в синхронном ответе на вызов команд Pay, Block или Add принимает значение «3DS». В таком случае в ответе платежного шлюза передаются параметры ACSUrl, PaReq и ThreeDSKey, необходимые для дальнейшей 3-D Secure аутентификации.

ПараметрОписаниеФормат
ACSUrlАдрес сервера аутентификации 3-D Secure
Передается, если «Success=3DS»
String
PaReqЗапрос на аутентификацию 3-D Secure
Передается, если «Success=3DS»
String
ThreeDSKeyУникальный идентификатор транзакции (MD)
Передается, если «Success=3DS»
String

Проведение аутентификации

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

Для этого используется POST запрос по адресу, указанному в параметре ACSUrl. В запросе передаются следующие параметры:

ПараметрОписаниеФормат
TermUrlАдрес Продавца для получения результатов и перенаправления Покупателя после прохождения 3-D Secure аутентификацииString
Mandatory
MDУникальный идентификатор транзакции
Соответствует параметру ThreeDSKey из ответа на запрос Pay или Block
String
Mandatory
PaReqЗапрос на аутентификацию 3-D Secure
Соответствует параметру PaReq из ответа на запрос Pay или Block
String
Mandatory

Пример формы запроса

<body onload="document.form.submit()">
    <form name="form" action="{ACSUrl}" method="post">
        <input type="hidden" name="TermUrl" value="{TermUrl}" />
        <input type="hidden" name="MD" value="{ThreeDSKey}" />
        <input type="hidden" name="PaReq" value="{PaReq}" />
    </form>
</body>

Получение результата аутентификации

После выполнения проверки банк-эмитент возвращает Покупателя POST запросом по адресу Продавца, указанному в значении параметра TermUrl. В теле запроса передаются параметры:

ПараметрОписаниеФормат
MDУникальный идентификатор транзакции
Соответствует ранее переданному
String
PaResСтрока, содержащая результаты 3-D Secure аутентификацииString

Завершение платежа

Наконец, для выполнения списания или блокирования средств на карте, защищенной 3-D Secure, Продавцу необходимо передать в платежный шлюз результаты аутентификации, полученные от банка-эмитента. Для интерфейса Payture API результаты передаются в запросе Pay3DS или Block3DS. Для Payture eWallet — в PaySubmit3DS или AddSubmit3DS.