3-D Secure 1.0
В целях повышения безопасности платежей большинство банковских карт защищены механизмом аутентификации 3-D Secure.
Порядок обработки запросов для оплаты с карты, защищенной 3-D Secure 1.0, отличается от стандартного и подробно описан ниже.
Проверка участия карты в процедуре 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.
GetState
Команда GetState используется для получения актуального статуса платежа.
3-D Secure 2.0
Порядок обработки запросов при аутентификации по протоколу 3-D Secure 2.0 отличается от первой версии протокола 3-D Secure. Основной особенностью протокола 3-D Secure 2.0 и отличием от первой версии является…
