Аутентификация по инициативе мерчанта
Общая информация
Аутентификация пользователя со стороны провайдера по инициативе мерчанта предназначена для обеспечения дополнительной безопасности проведения интернет-оплат с использованием платёжных карт. Такая аутентификация используется, как правило, в качестве замены аутентификации 3‑D Secure или для её дополнения. Это может быть уместно в тех случаях, когда аутентификация 3‑D Secure недостаточно надёжна, например из-за поддержки эмитентами устаревших методов подтверждения пользователем своей личности. При аутентификации по инициативе мерчанта подтверждение личности пользователя осуществляется путём ввода пользователем проверочного кода, полученного в информации о списании. Информацию о списании пользователь получает в SMS-сообщении или банковской выписке.
В платёжной платформе аутентификация по инициативе мерчанта поддерживается только для некоторых провайдеров, а для её подключения необходимо настроить проект мерчанта. Для этого следует обратиться в службу технической поддержки support@ecommpay.com.
Со стороны веб-сервиса для аутентификации по инициативе мерчанта необходимо:
- принять оповещение с информацией об изменении статуса платежа на
awaiting merchant auth
; - получить согласие пользователя;
- отправить запрос на аутентификацию;
- принять проверочный код от пользователя;
- отправить проверочный код в запросе к платёжной платформе.
Более подробные сведения о работе с аутентификацией по инициативе мерчанта представлены далее.
Схема работы
Аутентификация по инициативе мерчанта может выполняться при проведении одностадийных и двухстадийных оплат с применением платёжных карт. Информирование о необходимости такой аутентификации осуществляется через оповещения, на которые, как и обычно, необходимо направлять ответы об их приёме. Эти оповещения содержат информацию об изменении статуса платежа на awaiting merchant auth
.
Со стороны веб-сервиса для реагирования на такие оповещения необходимо: получить от пользователя согласие на аутентификацию, отправить в платёжную платформу запрос на аутентификацию, получить от пользователя проверочный код и отправить этот код в платёжную платформу в запросе на продолжение платежа.
Время ожидания запроса на продолжение проведения платежа с учётом результата аутентификации не ограничено, но общее время проведения платежа не должно превышать максимально допустимое, установленное на стороне провайдера. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline
.
После того как в платёжную платформу поступает запрос с проверочным кодом, проведение платежа продолжается дальше.
Информация о формате запросов и оповещений приведена далее; общая информация о работе с API — в разделе Организация взаимодействия.
Формат оповещения о необходимости аутентификации
Информация о необходимости аутентификации передаётся в оповещении стандартного формата, описание которого представлено в разделе Оповещения.
В данном случае оповещение свидетельствует о том, что платёж и операция переведены в статус awaiting merchant auth
до получения запроса на продолжение платежа.
Формат запроса на инициирование аутентификации
Для инициирования аутентификации по инициативе мерчанта необходимо отправить в платёжную платформу POST-запрос к конечной точке /v2/payment/card/merchant_auth. В этом запросе должен использоваться объект general
, содержащий основные идентификационные сведения и указатель типа запроса:
project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта;type
— указатель типа запроса, необходимо передать значениеstart
;signature
— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью).
Таким образом, корректный запрос должен содержать идентификаторы проекта и платежа, указатель типа запроса (start
) и подпись.
Формат запроса на продолжение проведения платежа
Для продолжения проведения платежа с учётом результата аутентификации необходимо отправить в платёжную платформу POST-запрос к конечной точке /v2/payment/card/merchant_auth. В этом запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения и указатель типа запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта;type
— указатель типа запроса, необходимо передать значениеfinish
;signature
— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью);
confirmation_code
— проверочный код, полученный от пользователя.
Таким образом, корректный вопрос должен содержать идентификаторы проекта и платежа, указатель типа запроса (finish
), подпись и проверочный код.