Корректное прохождение аутентификации по 3-D Secure 2.2 на странице предприятия можно реализовать при помощи SDK.

3DSWebSDK представляет собой JavaScript-код, позволяющий отправлять сообщения 3DS Method и Challenge Request для аутентификаций через браузер плательщика.

Установка Web SDK

Для установки 3DSWebSDK необходимо импортировать готовый JavaScript в HTML-страницу предприятия. 

<!DOCTYPE html>
<html>
    <head>
        ...
        <script src="nca-3ds-web-sdk.js" type="text/javascript" />
        ...
    </head>
    <body>
    ...
    </body>
</html>

Скрипт прикрепит 3DSWebSDK к объекту окна браузера в JavaScript.

3DSWebSDK поддерживает следующие операции:

ОперацияОписание
init3DSMethodСоздает HTML-структуру, прикрепляет форму с одним полем ввода (threeDSMethodData) и автоматически отправляет его по адресу threeDSMethodUrl.
createIframeAndInit3DSMethodСоздает iFrame со структурой HTML, прикрепляет к нему форму с одним полем ввода (threeDSMethodData), автоматически отправляет ее по адресу threeDSMethodUrl и прикрепляет iFrame к контейнеру. В случае необходимости, при загрузке iFrame будет выполнен callback. Кроме того, можно указать тайм-аут ожидания и callback для обработки случаев, когда выполнение 3DSMethod не завершается вовремя.
init3DSChallengeRequestСоздает iFrame со структурой HTML, прикрепляет форму с одним полем ввода (creq), автоматически отправляет ее по адресу acsUrl и прикрепляет iFrame к контейнеру. Если указано, при загрузке iFrame будет выполнен callback. Дополнительно можно указать тайм-аут ожидания и callback для обработки случаев, когда страница ACS не загружена вовремя.
createIFrameAndInit3DSChallengeRequestСоздает iFrame со структурой HTML, прикрепляет форму с одним полем ввода (creq), автоматически отправляет ее по адресу acsUrl и прикрепляет iFrame к контейнеру. Если указано, при загрузке iFrame будет выполнен callback. Дополнительно можно указать тайм-аут ожидания и callback для обработки случаев, когда страница ACS не загружена вовремя.
getBrowserDataСкрипт для сбора данных о браузере и устройстве плательщика, может быть использован на начальном этапе для заполнения соответствующих параметров в запросе на оплату через интерфейс silentpay.