Проверка платёжных инструментов
Помимо этой статьи для работы с проверкой действительности могут быть полезны:
- статья Проверка действительности платёжного инструмента модели проведения платежей с описанием того, как в целом проверяется действительность платёжных инструментов через платёжную платформу ecommpay и какие статусы при этом могут использоваться;
- статьи раздела Платёжные методы с описанием того, как проверять действительность платёжных инструментов через Gate при работе с различными платёжными методами и какие запросы и оповещения могут быть актуальны при этом.
Информацию о возможности проведения проверки действительности платёжного инструмента необходимо уточнять у курирующего менеджера ecommpay.
Общая информация
Проверка действительности платёжного инструмента — это тип платежа, в рамках которого для проверки возможности использования платёжного инструмента на основании одного исходного запроса осуществляется один условный (нулевой) перевод денежных средств от пользователя к мерчанту или одна реальная (ненулевая) блокировка средств пользователя с последующей отменой. При этом сумма блокировки может согласовываться с мерчантом, а срок отмены блокировки может составлять до 45 дней.
Например, это может быть актуально при регистрации подписок на товары и услуги без списания средств за первый (пробный) период или перед проведением выплат пользователям. Подробная информация о регистрации повторяемых оплат представлена в разделе Повторяемые оплаты. Также эта возможность актуальна и для так называемых оплат Mail Order/Telephone Order (MO/TO), при проведении которых пользователь предоставляет реквизиты с использованием почты, телефона или иных средств связи. Подробная информация об оплатах MO/TO представлена в разделе Проведение оплат MO/TO.
Схема проведения
Для проверки действительности платёжного инструмента через Gate со стороны веб-сервиса необходимо:
- Отправить запрос к конечной точке
/v2/payment/{название метода}/account_verification[/token]
. - При необходимости выполнить вспомогательные процедуры, инициируемые со стороны платёжной платформы. Это может быть один из вариантов аутентификации пользователя или дополнение информации о платеже.
- Аутентификация 3‑D Secure. Такая аутентификация предназначена для обеспечения безопасности проведения оплаты с использованием карт через интернет. Подробная информация об этой процедуре представлена в разделе Аутентификация 3‑D Secure.
- Дополнение информации о платеже. Эта процедура используется, когда по запросу одной из сторон, участвующих в проведении платежа, требуется предоставить дополнительную информацию. Подробная информация о процедуре представлена в разделе Дополнение информации о платеже.
- Принять от платёжной платформы оповещение о результате проверки.
Схема проведения проверки в базовом случае — без выполнения дополнительных процедур — представлена далее.
Далее приведена информация о формате запросов на проверку действительности платёжных карт и о формате оповещений с результатами проверки. Информацию о возможных статусах проверки действительности можно найти в соответствующей статье.
Формат запросов
При формировании запросов на проверку действительности платёжных карт необходимо учитывать следующее:
- POST-запрос должен отправляться к одной из следующих конечных точек:
- если проверка по номеру карты — /v2/payment/card/account_verification;
- если проверка по токену, ассоциированному с картой, — /v2/payment/card/account_verification/token.
- В запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта мерчанта;signature
— подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Работа с подписью);
customer
— объект, содержащий сведения о пользователе:ip_address
— используемый IP-адрес;id
— идентификатор пользователя в рамках проекта мерчанта;
payment
— объект, содержащий сведения о платеже:amount
— сумма платежа, равная нулю;currency
— валюта платежа в формате ISO-4217 alpha-3.
- В запросе должны содержаться сведения о платёжной карте пользователя:
- при передаче реквизитов карты в явном виде — следующие данные в объекте
card
:pan
— номер карты,year
— год окончания срока действия карты,month
— месяц окончания срока действия карты,card_holder
— имя держателя карты (в соответствии с указанным на карте),cvv
— код проверки подлинности карты (в соответствии с указанным на карте); при проведении MO/TO оплат данный параметр необязателен, подробнее — в разделе Проведение оплат MO/TO;
- при передаче токена — токен, полученный от ecommpay, и код проверки подлинности карты в параметрах
token
иcvv
(при проведении MO/TO оплат последний параметр необязателен, подробнее — в разделе Проведение оплат MO/TO).
- при передаче реквизитов карты в явном виде — следующие данные в объекте
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос для проверки действительности платёжной карты пользователя должен содержать идентификаторы проекта и платежа, подпись, сведения о платёжной карте пользователя, IP-адрес пользователя, валюту и сумму платежа.
Формат оповещений
Для оповещений о результатах проверки платёжной карты на действительность используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере содержится информация о том, что в рамках проекта 874
карта 431422******0056
пользователя customer_10
действительна — может использоваться при проведении платежей — и зарегистрирована для проведения повторяемых оплат.
Далее представлен пример данных из оповещения с информацией об отказе в проведении проверки действительности. Проведение платежа отклонено платёжной системой без объяснения причины.