Методы для работы с 3DS
Методы для прохождения 3DS.
Методы Отправить запрос в банк-эмитент для прохождения 3DS и 3DS Method выполняются без использования токена и mTLS-сертификата.
Отправить запрос в банк-эмитент для прохождения 3DS
Если в ответе метода Подтвердить платеж возвращается статус 3DS_CHECKING
, вам нужно сформировать запрос на URL ACS банка, выпустившего карту, из параметра acsUrl
. acsUrl
возвращается в ответе метода Подтвердить платеж.
Для 3DS v2.1: компонент ACS использует пары сообщений CReq и CRes для выполнения проверки (Challenge). В ответ на полученное сообщение CReq компонент ACS формирует сообщение CRes, которое запрашивает держателя карты ввести данные для аутентификации.
Запрос
Content-type
— application/x-www-form-urlencoded.- URL —
acsUrl
из ответа метода Подтвердить платеж.
Название параметра | Тип | Описание |
---|---|---|
MD | String | Уникальный идентификатор транзакции в системе банка из ответа метода Получить версию 3DS. |
PaReq | String | Результат аутентификации 3-D Secure из ответа метода Получить версию 3DS. |
TermUrl | String | Адрес перенаправления после аутентификации 3-D Secure — URL обработчик на стороне мерчанта, принимающий результаты прохождения 3-D Secure. |
Пример запроса
<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="{MD}" >
<input type="hidden" name="PaReq" value="{PaReq}" >
</form>
</body>
Ответ
Формат ответа: cres, полученный по NotificationUrl
из запроса метода Подтвердить платеж. При успешном результате прохождения 3DS инициированный платеж подтверждается с помощью метода Подтвердить прохождение 3DS.
Content-type
— application/json.
Название параметра | Тип | Описание |
---|---|---|
MD | String | Уникальный идентификатор транзакции в системе банка из ответа метода Получить версию 3DS. |
PaRes | String | Шифрованная строка, содержащая результаты 3-D Secure аутентификации. |
FallbackOnTdsV1 | String | Если нельзя пройти аутентификацию по 3DS v2.1, делается принудительный Fallback на 3DS v1.0 и параметр выставляется в true, иначе — не передается в ответе. |
Пример ответа
{
"cres": "FwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aFwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aGIdXfZ3psSfuKZt3O35yCVpfAbYs8AmIdIHQmJyskyNxYZyGIdXfZ3psSfuKZt3O35yCVpNkQwzuH68WlB9oiEnt6NdGaegzJ6ljDlKAl7tvQNCPw2FjDWbhHlxj34ut0hhivaJBNHSmvumv7sndTpA7AzxJYNUhkp67fG411fAbYs8AmIdIHQmJyskyNxYZy"
}
Пройти этап 3DS Method
Метод используется для сбора информации ACS-ом о девайсе. Обязателен, если для 3DSv2.1 в ответе метода Проверить версию 3DS был получен параметр ThreeDSMethodURL
.
Условия выполнения:
- в скрытом iframe на стороне браузера;
- с таймаутом ожидания ответа на запрос — 10 секунд.
Запрос
Content-type
— application/x-www-form-urlencoded.- URL —
ThreeDSMethodURL
из ответа метода Проверить версию 3DS.
Параметры запроса:
threeDSMethodData
— JSON, закодированный в форматbase-64
, с параметрами:threeDSMethodNotificationURL
— обратный адрес, на который будет отправлен запрос после прохожденияthreeDSMethod;threeDSServerTransID
— идентификатор транзакции из ответа метода.
Пример запроса
<body onload="document.form.submit()">
<form name="form" action="{ThreeDSMethodURL}" method="post">
<input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjU2ZTcxMmE1LTE5MGEtNDU4OC05MWJjLWUwODYyNmU3N2M0NCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3Jlc3QtYXBpLXRlc3QudGlua29mZi5ydS92Mi9Db21wbGV0ZTNEU01ldGhvZHYyIn0">
</form>
</body>
Ответ
Content-type
— application/json.
Параметры ответа:
threeDSServerTransID
— уникальный идентификатор транзакции, который генерируется 3DS Server.
Пример ответа
{
"threeDSServerTransID":"string"
}