Перейти к содержанию

3-D Secure 2.0

В 3-D Secure 2.0 (3DS 2.0) для аутентификации плательщиков при онлайн платежах используются данные их браузеров и устройств. Это позволяет ускорить проведение платежей и делает сервис более удобным для платежей в мобильных приложениях.

Однако, иногда данных браузера и устройства клиента недостаточно для аутентификации. Банк-эмитент может попросить провести дополнительную проверку (challenge flow), когда клиента требуется перенаправить на форму Access Control Server (ACS форма) для ввода пароля, полученного от банка.


3DS 2.0 при использовании платежной страницы или виджета PayCross

Если вы выполнили интеграцию с платежной страницей или используете виджет PayCross, при проверке транзакции система самостоятельно соберет необходимые данные браузера и устройства и, если требуется, направит вашего клиента на ACS форму банка-эмитента. Результат проверки 3-D Secure будет содержаться в уведомлении о статусе транзакции.

3-D Secure Workflow

Шаг Описание
1 Клиент оформляет заказ на сайте или в приложении торговца.
2 Когда клиент готов оплатить, торговец создает токен платежа при интеграции с платежной страницей PayCross или запускает виджет.
3 В ответе на запрос создания токена система сообщает token иredirect_url платежной страницы PayCross.
4 Торговец перенаправляет клиента на redirect_url для завершения оплаты или открывает виджет для клиента как встроенный фрейм или всплывающее окно.
5 Клиент предоставляет данные кредитной карты, чтобы завершить транзакцию.
6 Система проверяет, зарегистрирована ли карта в программе 3-D Secure 2.0.

Если карта зарегистрирована, то система собирает данные браузера и, если требуется, перенаправляет клиента на ACS форму для ввода пароля. Иначе, система переходит к шагу 3 проверки 3-D Secure 1.0.
7 PayCross получает данные о результате проверки 3-D Secure.

В зависимости от результатов проверки и настроенных правил обработки транзакций, система переходит к шагу 8 для проведения транзакции или же завершает обработку платежа, уведомляя торговца на шаге 10.
8 Если клиент прошел проверку 3-D Secure или карта не участвует в программе, PayCross отправляет данные карты клиента и результат проверки 3-D Secure эквайеру для завершения транзакции.
9 Банк-эквайер уведомляет PayCross о результате обработки транзакции.
10 PayCross отправляет уведомление на notification_url, указанный в личном кабинете PayCross или в запросе на создание токена. Результат 3-D Secure проверки будет содержаться в секции параметров three_d_secure_verification.
11 PayCross перенаправляет клиента на return_url или на success_url, decline_url и fail_url, заданные при создании токена. Эти URL будут вызваны методом GET с параметрами uid, token и status. Подробнее описано здесь.

Если необходимо уточнить статус транзакции, отправьте запрос статуса с идентификатором транзакции uid или значением tracking_id, переданным для этой транзакции. Система вернет ответ с действительным на тот момент статусом.

Пример уведомления при успешном прохождении проверки 3DS 2.0
{
"transaction": {
    "uid": "20906-e0cb376a8e",
    "status": "successful",
    "amount": 299,
    "currency": "GBP",
    "description": "Order description",
    "type": "payment",
    "payment_method_type": "credit_card",
    "tracking_id": null,
    "message": "Successfully processed",
    "test": true,
    "created_at": "2021-12-09T06:37:33.207Z",
    "updated_at": "2021-12-09T06:37:47.919Z",
    "paid_at": "2021-12-09T06:37:47.877Z",
    "expired_at": null,
    "recurring_type": null,
    "closed_at": null,
    "settled_at": null,
    "manually_corrected_at": null,
    "language": "en",
    "redirect_url": "https://https://gateway.pay-cross.com/process/20906-e0cb376a8e",
    "credit_card": {
    "holder": "RICK ASTLEY",
    "stamp": "5f854c844e3007f2eccf2aa614f6a4cc6b8a2c241aab3e5776fe7912dc7b9d92",
    "brand": "visa",
    "last_4": "0013",
    "first_1": "4",
    "bin": "420000",
    "issuer_country": "LT",
    "issuer_name": null,
    "product": null,
    "exp_month": 12,
    "exp_year": 2026,
    "token_provider": null,
    "token": null
    },
    "receipt_url": "https://admin.pay-cross.com/customer/transactions/20906-e0cb376a8e/41848e78dc92cfee3bd5654d3b04c8b316d37a455e544004a7e5f8c73cbca026?language=en",
    "status_code": null,
    "id": "20906-e0cb376a8e",
    "additional_data": {
    "request_id": "e88c81f8-83f5-449d-8ac6-6364ab8a1ea6",
    "browser": {
        "screen_width": 1920,
        "screen_height": 1080,
        "screen_color_depth": 24,
        "language": "en",
        "java_enabled": false,
        "user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0",
        "time_zone": -180,
        "time_zone_name": "Europe/Moscow",
        "window_height": 726,
        "window_width": 600,
        "accept_header": "application/json"
    },
    "vendor": {
        "name": "CTP",
        "token": "7244323ecfd8a3dded41ef8a64f5fd939f9520697bb0779819952314389d6ae5"
    }
    },
    "three_d_secure_verification": {
    "status": "successful",
    "message": "Authentication Successful",
    "ve_status": "Y",
    "acs_url": null,
    "pa_req": null,
    "md": null,
    "pa_res_url": "https://https://gateway.pay-cross.com/process/20906-e0cb376a8e",
    "eci": "02",
    "pa_status": "Y",
    "xid": "378d19a2-68dd-4332-b0c8-bce6f775b65c",
    "cavv": "AAABCVQXAQAAAAAIZhcBARphtD6=",
    "cavv_algorithm": null,
    "fail_reason": null,
    "method_process_url": null,
    "creq": null
    },
    "payment": {
    "auth_code": "654321",
    "bank_code": "05",
    "rrn": "999",
    "ref_id": "777888",
    "message": "Payment was approved",
    "amount": 299,
    "currency": "GBP",
    "billing_descriptor": "test descriptor",
    "gateway_id": 645,
    "status": "successful"
    },
    "avs_cvc_verification": {
    "avs_verification": {
        "result_code": "1"
    },
    "cvc_verification": {
        "result_code": "1"
    }
    },
    "customer": {
    "ip": "38.214.36.218",
    "email": "[email protected]",
    "device_id": "4d3445f7a5b597558b7751bf3763625d",
    "birth_date": null
    },
    "billing_address": {
    "first_name": "Rick",
    "last_name": "Astley",
    "address": "Baker street 221b",
    "country": "GB",
    "city": "London",
    "zip": null,
    "state": null,
    "phone": null
    }
}
}
Пример уведомления при неуспешном прохождении проверки 3DS 2.0
{
"transaction": {
    "uid": "21324-1544a58bfe",
    "status": "failed",
    "amount": 199,
    "currency": "GBP",
    "description": "Order description",
    "type": "payment",
    "payment_method_type": "credit_card",
    "tracking_id": null,
    "message": "Card authentication failed",
    "test": true,
    "created_at": "2021-02-22T15:25:03.252Z",
    "updated_at": "2021-02-22T15:25:11.074Z",
    "paid_at": null,
    "expired_at": null,
    "closed_at": null,
    "settled_at": null,
    "manually_corrected_at": null,
    "language": "en",
    "redirect_url": "https://https://gateway.pay-cross.com/process/21324-1544a58bfe",
    "credit_card": {
    "holder": "RICK ASTLEY",
    "stamp": "d70457267debbf26b527711651e766a7157590c4d1c3a1cce29dcbde54630bca",
    "brand": "visa",
    "last_4": "0021",
    "first_1": "4",
    "bin": "420000",
    "issuer_country": "LT",
    "issuer_name": null,
    "product": null,
    "exp_month": 12,
    "exp_year": 2026,
    "token_provider": null,
    "token": null
    },
    "receipt_url": "https://admin.pay-cross.com/customer/transactions/21324-1544a58bfe/c3204e3e0df0bc30d140916b36e061091e19cb5c6e889d8e7ab1508666ff6ff5?language=en",
    "status_code": null,
    "id": "21324-1544a58bfe",
    "additional_data": {
    "request_id": "9d27d6bc-8880-486c-b73d-bf4917de35fb",
    "browser": {
        "screen_width": 1920,
        "screen_height": 1080,
        "screen_color_depth": 24,
        "language": "en",
        "java_enabled": false,
        "user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0",
        "time_zone": -180,
        "time_zone_name": "Europe/Moscow",
        "window_height": 726,
        "window_width": 600,
        "accept_header": "application/json"
    },
    "vendor": {
        "name": "CTP",
        "token": "2c31e33b4e040a9ff69a5db8a2f5cffb32fde95e1c7c070d38b375914211f611"
    }
    },
    "three_d_secure_verification": {
    "status": "failed",
    "message": "Card authentication failed",
    "ve_status": "Y",
    "acs_url": null,
    "pa_req": null,
    "md": null,
    "pa_res_url": "https://https://gateway.pay-cross.com/process/21324-1544a58bfe",
    "eci": "",
    "pa_status": "N",
    "xid": "aa43e942-37a1-4f6d-b7b7-eab3ca9a4c26",
    "cavv": "",
    "cavv_algorithm": null,
    "fail_reason": "Card authentication failed",
    "method_process_url": null
    },
    "payment": {
    "auth_code": null,
    "bank_code": null,
    "rrn": null,
    "ref_id": null,
    "message": null,
    "amount": 199,
    "currency": "GBP",
    "billing_descriptor": null,
    "gateway_id": 645,
    "status": "incomplete"
    },
    "avs_cvc_verification": {
    "avs_verification": {
        "result_code": null
    },
    "cvc_verification": {
        "result_code": null
    }
    },
    "customer": {
    "ip": "37.214.26.144",
    "email": "[email protected]",
    "device_id": "16a57cf4e329e8cb4854a3d7b30cda57",
    "birth_date": null
    },
    "billing_address": {
    "first_name": "Rick",
    "last_name": "Astley",
    "address": "Baker street 221b",
    "country": "GB",
    "city": "London",
    "zip": null,
    "state": null,
    "phone": null
    }
}
}

3DS 2.0 при API интеграции

Если вы используете собственную платежную страницу, то при проведении транзакции с проверкой 3-D Secure 2.0 вы можете выбрать один из двух вариантов взаимодействия:

  • базовый - система PayCross отвечает за взаимодействие с 3-D Secure сервером и банком-эмитентом при аутентификации покупателя;

  • с расширенным контролем - аутентификация проходит под контролем торговца, который отвечает за взаимодействие с банком-эмитентом.

Описание простой схемы проверки 3DS 2.0



3-D Secure Workflow

Шаг Описание
1 Клиент оформляет покупку товара или услуги на сайте или в приложении торговца.
2 Торговец отправляет запрос на оплату, авторизацию или токенизацию в систему PayCross с передачей секции параметров additional_data.browser и указанием параметра return_url.
3 PayCross проверяет, зарегистрирована ли карта в программе 3DS 2.0.
4 Система PayCross получает результат проверки регистрации карты в программе 3DS 2.0.
5 При условии, что карта зарегистрирована в программе 3DS 2.0, торговец получает ответ, который содержит следующие параметры:

uid - идентификатор транзакции,
status - статус транзакции,
redirect_url - адрес страницы системы PayCross, куда необходимо направить клиента для дополнительной проверки 3DS 2.0.

Если статус транзакции - incomplete, то происходит переход к шагу 6. Иначе, система переходит к шагу 9.

Если карта не зарегистрирована в программе 3DS 2.0, то система переходит к шагу 3 проверки 3-D Secure 1.0.
6 Торговец перенаправляет клиента на redirect_url, полученный на шаге 5, для дополнительной проверки.
7 В браузере клиента открывается redirect_url, где происходит дальнейшая проверка.
8 Система собирает данные о браузере и устройстве, если они не были переданы ранее, для дополнительной проверки на стороне банка-эмитента.
Если данных для авторизации транзакции недостаточно, система перенаправит клиента на ACS форму для ввода пароля.
9 Система PayCross получает результат проверки транзакции.

В зависимости от результатов проверки и настроенных правил обработки транзакций, система переходит к шагу 10 для проведения транзакции или же завершает обработку платежа, уведомляя торговца на шаге 12.
10 После завершения проверки система PayCross инициализирует проведение транзакции с результатом 3-D Secure проверки.
11 Эквайер сообщает системе PayCross результат обработки транзакции.
12 Система высылает торговцу автоматическое уведомление о результате оплаты на notification_url, указанный в личном кабинете или в запросе на оплату.
13 После проведения проверки и обработки оплаты система PayCross возвращает клиента на страницу торговца по return_url, указанном в запросе на шаге 2.

Если необходимо уточнить статус транзакции, отправьте запрос статуса с идентификатором транзакции uid или значением tracking_id, переданным для этой транзакции. Система вернет ответ с действительным на тот момент статусом.

Пример уведомления торговца о результате проверки регистрации карты в программе 3DS 2.0
{
    "transaction": {
        "uid": "21528-f9d3c90797",
        "status": "incomplete",
        "amount": 100,
        "currency": "USD",
        "description": "Test transaction ütf",
        "type": "payment",
        "payment_method_type": "credit_card",
        "tracking_id": "tracking_id_001",
        "message": null,
        "test": true,
        "created_at": "2022-03-02T06:44:03.593Z",
        "updated_at": "2022-03-02T06:44:05.450Z",
        "paid_at": null,
        "expired_at": null,
        "recurring_type": null,
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": "John Doe",
            "stamp": "5f854c844e3007f2ecff2aa614f6a4cc6b8a2c241aab3e5776fe7912dc7b9d92",
            "brand": "visa",
            "last_4": "0013",
            "first_1": "4",
            "bin": "420000",
            "issuer_country": "LT",
            "issuer_name": null,
            "product": null,
            "exp_month": 10,
            "exp_year": 2026,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://admin.pay-cross.com/customer/transactions/21528-f9d3c90797/23c66abe808d1c20a491bfbd5614f9400c8248113f195cf5e468a307628e7bff?language=en",
        "status_code": null,
        "id": "21528-f9d3c90797",
        "additional_data": {
            "browser": {
                "screen_width": 1920,
                "screen_height": 1080,
                "screen_color_depth": 24,
                "language": "en",
                "java_enabled": false,
                "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
                "time_zone": -180,
                "time_zone_name": "Europe/London",
                "accept_header": "*/*",
                "window_height": 667,
                "window_width": 600
            }
        },
        "redirect_url": "https://https://gateway.pay-cross.com/process/21528-f9d3c90797",
        "three_d_secure_verification": {
            "status": "incomplete",
            "message": "Authentication Available",
            "ve_status": "Y",
            "acs_url": null,
            "pa_req": null,
            "md": null,
            "pa_res_url": "https://https://gateway.pay-cross.com/process/21528-f9d3c90797",
            "eci": null,
            "pa_status": null,
            "xid": null,
            "cavv": null,
            "cavv_algorithm": null,
            "fail_reason": null,
            "method_process_url": null,
            "creq": null
        },
        "payment": {
            "auth_code": null,
            "bank_code": null,
            "rrn": null,
            "ref_id": null,
            "message": null,
            "amount": 100,
            "currency": "USD",
            "billing_descriptor": null,
            "gateway_id": 645,
            "status": "incomplete"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": null
            },
            "cvc_verification": {
                "result_code": null
            }
        },
        "customer": {
            "ip": "127.0.0.1",
            "email": "[email protected]",
            "device_id": "12312312321fff67",
            "birth_date": "1980-01-31"
        },
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "address": "1st Street",
            "country": "US",
            "city": "Denver",
            "zip": "96002",
            "state": "CO",
            "phone": null
        }
    }
}

Описание схемы обработки транзакций с проверкой 3-D Secure с расширенным контролем

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

Info

Перед реализацией данного сценария работы с 3DS 2.0 уточните у вашего менеджера, доступен ли он для вас.

3-D Secure Workflow

Шаг Описание
1 Клиент оформляет покупку товара или услуги на сайте или в приложении торговца.
2 Торговец отправляет запрос на оплату, авторизацию или токенизацию в систему PayCross с обязательной передачей секции параметров additional_data.browser, указанием параметра return_url и параметром three_d_secure.advanced в значении true.
3 PayCross проверяет, участвует ли карта клиента в программе проверки 3DS 2.0.
4 Система получает результат проверки регистрации карты.
5 Торговец получает ответ, который содержит помимо прочих следующие параметры:

uid - идентификатор транзакции,
status - статус транзакции,
status_code - статус процесса аутентификации,
секция three_d_secure_verification с параметрами acs_url, creq, method_process_url.

Возможные значения параметров:
"status":"successful" - транзакция успешно обработана, переход к шагу 17;
"status":"incomplete" и "status_code":20 - система ожидает результат проверки. Отправьте запрос статуса транзакции для уточнения результата;
"status":"incomplete" и "status_code":21 - требуется дополнительная проверка, переход к шагу 6;
"status":"incomplete" и "status_code":22 - требуется дополнительная проверка, переход к шагу 11.
6 Invisible iframe
Торговец открывает method_process_url, полученный на шаге 5, в скрытом iframe для дополнительной проверки.
7 Система собирает и анализирует данные о браузере и устройстве, если они не были переданы ранее, для дополнительной проверки на стороне банка-эмитента.
8 Система PayCross получает результат авторизации и обработки транзакции.
9 Торговец направляет запрос статуса транзакции в систему PayCross.
10 Торговец получает ответ, который содержит помимо прочих следующие параметры:

uid - идентификатор транзакции,
status - статус транзакции,
status_code - статус процесса аутентификации,
секция three_d_secure_verification с параметрами acs_url и creq.

Возможные значения параметров:
"status":"successful" - транзакция успешно обработана, переход к шагу 15;
"status":"incomplete" и "status_code":22 - требуется дополнительная проверка, переход к шагу 11.
11 Challenge flow
Торговец создает форму для отправки клиента к банку-эмитенту на дополнительную проверку.
12 Клиент вводит 3-D Secure пароль.
13 После завершения проверки банк-эмитент возвращает клиента на return_url, указанный на шаге 2, и высылает результат проверки торговцу.
14 Торговец отправляет POST запросом в систему PayCross полученный результат cres на https://https://gateway.pay-cross.com/process/{transaction_uid}/return, где transaction_uid - это uid транзакции, полученный в ответе от системы на шаге 5.
15 Система PayCross инициализирует проведение транзакции с результатом 3-D Secure проверки.
16 Эквайер сообщает системе PayCross результат обработки транзакции.
17 Система высылает торговцу ответ с результатом оплаты на notification_url, указанный в запросе на оплату.
18 Торговец показывает клиенту страницу с результатом проведения оплаты.

Если необходимо уточнить статус транзакции, отправьте запрос статуса с идентификатором транзакции uid или значением tracking_id, переданным для этой транзакции. Система вернет ответ с действительным на тот момент статусом.

Создание формы для перенаправления клиента на страницу эмитента

Создайте форму, используя значения acs_url и creq:

<form id="ACSRedirect" action="value_of_acs_url" method="POST">
      <input type="hidden" name="CReq" value="value_of_creq">
      <input type="submit" value="Submit">
</form>

Параметры проверки 3-D Secure

Параметр Тип Описание
ve_status string статус проверки регистрации
pa_status string статус аутентификации оплаты (только если аутентификация выполнена)
eci string Electronic Commerce Indicator. Предоставляет информацию об уровне защиты от запросов на возврат платежей владельцев карт или их банков.
xid string Уникальный идентификационный код 3-D Secure
cavv string Cardholder Authentication Verification Value (только если владелец карты был успешно аутентифицирован)
cavv_algorithm string CAVV алгоритм (только если статус аутентификации Y или A)
fail_reason string Понятное человеку причина (только если аутентификация 3-D Secure не прошла)
status * обязательный
string Статус аутентификации 3-D Secure
Пример ответа проверки регистрации в 3-D Secure (шаг 5)
{
    "transaction": {
        "uid": "21575-841c01d591",
        "status": "incomplete",
        "amount": 100,
        "currency": "USD",
        "description": "Test transaction ütf",
        "type": "payment",
        "payment_method_type": "credit_card",
        "tracking_id": "tracking_id_001",
        "message": null,
        "test": true,
        "created_at": "2022-03-03T20:50:18.271Z",
        "updated_at": "2022-03-03T20:50:18.731Z",
        "paid_at": null,
        "expired_at": null,
        "recurring_type": null,
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": "John Doe",
            "stamp": "5f854c844e3007f2ecff2aa614f6a4cc6b8a2c241aab3e5776fe7912dc7b9d92",
            "brand": "visa",
            "last_4": "0013",
            "first_1": "4",
            "bin": "420000",
            "issuer_country": "LT",
            "issuer_name": null,
            "product": null,
            "exp_month": 10,
            "exp_year": 2026,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://admin.pay-cross.com/customer/transactions/21575-841c01d591/a551ce9198be8f17366baa0da0bfb322eb4676e76363ce00a280427730975c27?language=en",
        "status_code": 21,
        "id": "21575-841c01d591",
        "additional_data": {
            "browser": {
                "screen_width": 1920,
                "screen_height": 1080,
                "screen_color_depth": 24,
                "language": "en",
                "java_enabled": false,
                "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
                "time_zone": -180,
                "time_zone_name": "Europe/Moscow",
                "accept_header": "*/*",
                "window_height": 667,
                "window_width": 600
            }
        },
        "three_d_secure_verification": {
            "status": "incomplete",
            "message": "Authentication Available",
            "ve_status": "Y",
            "acs_url": null,
            "pa_req": null,
            "md": null,
            "pa_res_url": "https://https://gateway.pay-cross.com/process/21575-841c01d591",
            "eci": null,
            "pa_status": null,
            "xid": null,
            "cavv": null,
            "cavv_algorithm": null,
            "fail_reason": null,
            "method_process_url": "https://3ds-staging.begateway.com:4443/api/v1/transactions/b280945e-7a49-4056-a008-95f2a555f7b6/method-process",
            "creq": null
        },
        "payment": {
            "auth_code": null,
            "bank_code": null,
            "rrn": null,
            "ref_id": null,
            "message": null,
            "amount": 100,
            "currency": "USD",
            "billing_descriptor": null,
            "gateway_id": 645,
            "status": "incomplete"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": null
            },
            "cvc_verification": {
                "result_code": null
            }
        },
        "customer": {
            "ip": "127.0.0.1",
            "email": "[email protected]",
            "device_id": "12312312321fff67",
            "birth_date": "1980-01-31"
        },
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "address": "1st Street",
            "country": "US",
            "city": "Denver",
            "zip": "96002",
            "state": "CO",
            "phone": null
        }
    }
}

Пример ответа о статусе транзакции
{
    "transaction": {
        "uid": "21575-841c01d591",
        "status": "successful",
        "amount": 100,
        "currency": "USD",
        "description": "Test transaction ütf",
        "type": "payment",
        "payment_method_type": "credit_card",
        "tracking_id": "tracking_id_001",
        "message": "Successfully processed",
        "test": true,
        "created_at": "2022-03-03T20:50:18.271Z",
        "updated_at": "2022-03-03T21:10:55.219Z",
        "paid_at": "2022-03-03T21:10:55.196Z",
        "expired_at": null,
        "recurring_type": null,
        "closed_at": null,
        "settled_at": null,
        "manually_corrected_at": null,
        "language": "en",
        "credit_card": {
            "holder": "John Doe",
            "stamp": "5f854c844e3007f2ecff2aa614f6a4cc6b8a2c241aab3e5776fe7912dc7b9d92",
            "brand": "visa",
            "last_4": "0013",
            "first_1": "4",
            "bin": "420000",
            "issuer_country": "LT",
            "issuer_name": null,
            "product": null,
            "exp_month": 10,
            "exp_year": 2026,
            "token_provider": null,
            "token": null
        },
        "receipt_url": "https://admin.pay-cross.com/customer/transactions/21575-841c01d591/a551ce9198be8f17366baa0da0bfb322eb4676e76363ce00a280427730975c27?language=en",
        "status_code": null,
        "id": "21575-841c01d591",
        "additional_data": {
            "browser": {
                "screen_width": 1920,
                "screen_height": 1080,
                "screen_color_depth": 24,
                "language": "en",
                "java_enabled": false,
                "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
                "time_zone": -180,
                "time_zone_name": "Europe/Moscow",
                "accept_header": "*/*",
                "window_height": 667,
                "window_width": 600
            }
        },
        "redirect_url": "https://https://gateway.pay-cross.com/process/21575-841c01d591",
        "three_d_secure_verification": {
            "status": "successful",
            "message": "Authentication Successful",
            "ve_status": "Y",
            "acs_url": null,
            "pa_req": null,
            "md": null,
            "pa_res_url": "https://https://gateway.pay-cross.com/process/21575-841c01d591",
            "eci": "02",
            "pa_status": "Y",
            "xid": "b280945e-7a49-4056-a008-95f2a555f7b6",
            "cavv": "AAABASVzkQAAAAAJKHORAfLuSAo=",
            "cavv_algorithm": null,
            "fail_reason": null,
            "method_process_url": "https://3ds.begateway.com/api/v1/transactions/b280945e-7a49-4056-a008-95f2a555f7b6/method-process",
            "creq": null
        },
        "payment": {
            "auth_code": "654321",
            "bank_code": "05",
            "rrn": "999",
            "ref_id": "777888",
            "message": "Payment was approved",
            "amount": 100,
            "currency": "USD",
            "billing_descriptor": "test descriptor",
            "gateway_id": 645,
            "status": "successful"
        },
        "avs_cvc_verification": {
            "avs_verification": {
                "result_code": "1"
            },
            "cvc_verification": {
                "result_code": "1"
            }
        },
        "customer": {
            "ip": "127.0.0.1",
            "email": "[email protected]",
            "device_id": "12312312321fff67",
            "birth_date": "1980-01-31"
        },
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "address": "1st Street",
            "country": "US",
            "city": "Denver",
            "zip": "96002",
            "state": "CO",
            "phone": null
        }
    }
}

Статус проверки регистрации

Статус Описание 3-D Secure доступен? Оплата завершена?
Y Карта зарегистрирована. Да Нет
N Карта не зарегистрирована. Нет Да
U Не удалось аутентифицировать. Нет Да
E Ошибка проверки регистрации. Смотрите fail_reason Нет Да

Статус аутентификации оплаты

Status Description VISA ECI MC ECI
Y Владелец карты был успешно аутентифицирован. 05 02
A Процесс аутентификации не был выполнен, но попытка аутентификации была совершена. 06 01
N Владелец карты не был аутентифицирован. Процесс авторизации не должен быть совершен. - -
U Аутентификация не может быть выполнена из-за технической ошибки или других проблем. Операция будет рассматриваться как электронная коммерция. Карта оплаты, используемая для этой операции, признана непригодной для обработки 3-D Secure. Торговец примет решение, обработать неавторизованный запрос на оплату или попросить клиента воспользоваться другой формой оплаты 07 00
E Ошибка произошла во время аутентификации. Процесс авторизации не должен быть совершен. - -

CAVV алгоритм

Алгоритм используется для генерации свойства аутентификации CAVV. Это свойство определяет ACS (сервер управления доступом) после получения PAReq (Payer Authentication Request), если статус аутентификации Y или A. Это свойство содержит одну цифру, указывающую алгоритм генерации CAVV (Cardholder Authentication Verification Value). Допустимые алгоритмы:

Значение CAVV Описание
0 HMAC (в соответствии с SET TranStain)
1 CVV
2 CVV с ATN