Click to Pay
Обзор
Введение
Click to Pay — метод, позволяющий проводить платежи с использованием платёжных карт American Express, Maestro, Mastercard и Visa в большинстве стран мира с применением разных валют. При работе с этим методом данные используемых платёжных карт сохраняются с высоким уровнем защиты в сервисе Click to Pay, и для доступа к этим данным могут применяться разнообразные настольные и мобильные устройства, в том числе работающие под управлением операционных систем Android и iOS. Click to Pay поддерживает проведение платежей в США и Канаде, странах Европейской экономической зоны (EEA) и многих из стран Азии, Африки и Южной Америки, при этом покрытие стран и валют активно расширяется. В платёжной платформе ecommpay поддерживаются оплаты и возвраты с применением метода Click to Pay.
В этой статье представлена информация о работе с методом Click to Pay: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.
Характеристика
Тип платёжного метода | карточные платежи |
---|---|
Платёжные инструменты | платёжные карты |
Регионы использования | большинство стран мира |
Валюты платежей | большинство валют мира |
Конвертация валют | + |
Разовые оплаты | + |
Повторяемые оплаты | – |
Полные возвраты | + |
Частичные возвраты | + |
Выплаты | – |
Опротестования | + |
Особенности |
|
Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием метода Click to Pay задействуются веб-сервис мерчанта, интерфейс Payment Page, платёжная платформа ecommpay и технические средства сервиса Click to Pay.
Основные операции
Для проведения оплат с использованием метода Click to Pay применяется интерфейс Payment Page, а для выполнения возвратов — интерфейсы Gate и Dashboard. При этом могут быть актуальны различные ограничения по суммам и времени с учётом специфики платёжных систем и эмитентов.
Сценарии использования
Общая информация
Проведение оплат с использованием метода Click to Pay осуществляется с регистрацией пользователей и их платёжных карт в сервисе Click to Pay и с выполнением последующих необходимых действий, выполнение возвратов — с заявкой со стороны пользователя и с уведомлением со стороны веб-сервиса. При этом регистрация пользователей и их платёжных карт может выполняться не только в переходе к платежам, но и предварительно: через МПС и эмитентов (подробнее — далее).
Общие сценарии проведения оплат и выполнения возвратов методом Click to Pay можно представить следующим образом.
Частные сценарии проведения оплаты с использованием метода Click to Pay могут отличаться с учётом того, какой пользователь, с какого устройства, через какой браузер и с какой картой участвует в оплате. Основными при этом можно считать следующие сценарии:
- Returning user checkout (оплата зарегистрированным пользователем; кратко: типичная оплата) — оплата зарегистрированным пользователем с применением задействованных им ранее устройства, браузера и платёжной карты и с идентификацией этого пользователя по адресу его электронной почты.
- Returning user checkout, unrecognized device (оплата зарегистрированным пользователем с нового устройства; кратко: оплата с нового устройства) — оплата зарегистрированным пользователем с применением устройства или браузера, которые не задействовались им ранее.
- Returning user checkout with a new card (оплата зарегистрированным пользователем с новой карты; кратко: оплата с новой карты) — оплата зарегистрированным пользователем с применением карты, которая не задействовалась им ранее.
- First time user enrollment (оплата с регистрацией пользователя; кратко: оплата новым пользователем) — оплата новым пользователем с его регистрацией в сервисе Click to Pay.
К особенностям оплат с использованием метода Click to Pay можно отнести то, что при их проведении используются специализированные страницы, отображаемые в платёжной форме на основе информации от „фасилитаторов платежей“ (Digital Card Facilitators, DCF), в роли которых выступают международные платёжные системы — участницы сервиса Click to Pay, предоставляющие пользователям доступ к цифровым картам.
Типичная оплата
Пользовательский сценарий типичной оплаты через Payment Page выглядит следующим образом.
Оплата с нового устройства
Пользовательский сценарий оплаты с нового устройства через Payment Page выглядит следующим образом. При этом, если в исходном запросе передаются номер телефона и адрес электронной почты пользователя, шаг с его идентификацией пропускается.
Оплата с новой карты
Пользовательский сценарий оплаты с новой карты через Payment Page выглядит следующим образом. При этом, если в исходном запросе передаются номер телефона и адрес электронной почты пользователя, соответствующие поля отображаются предварительно заполненными.
Оплата новым пользователем
Пользовательский сценарий оплаты новым пользователем через Payment Page выглядит следующим образом. При этом, если в исходном запросе передаются номер телефона и адрес электронной почты пользователя, соответствующие поля отображаются предварительно заполненными.
Предварительная регистрация
Регистрация пользователей и их карт в сервисе Click to Pay может выполняться не только при переходе к платежам (как в приведённых ранее сценариях), но и предварительно:
- через платёжные системы:
- American Express обеспечивает для держателей карт Amex доступ к учётным записям Click to Pay по адресам электронной почты, которые использовались для создания учётных записей на сайте или в мобильном приложении American Express;
- Mastercard даёт возможность регистрироваться по ссылке;
- Visa даёт возможность регистрироваться по ссылке;
- через эмитентов платёжных карт — они могут предлагать пользователям создавать учётные записи Click to Pay в своих мобильных приложениях или на сайтах, а также предварительно регистрировать пользователей и их карты в сервисе, если эти карты отвечают заданным критериям отбора.
Оплаты через Payment Page
Общая информация
Для проведения оплаты через Payment Page с использованием метода Click to Pay со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема проведения типичной оплаты выглядит следующим образом.
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи.
- От платёжной платформы к сервису Click to Pay передаётся запрос на проверку наличия учётной записи пользователя в сервисе Click to Pay.
- В сервисе Click to Pay выполняется обработка запроса.
- От сервиса Click to Pay к платёжной платформе передаётся подтверждения наличия учётной записи пользователя.
- От платёжной платформы к сервису Click to Pay передаётся запрос на получение информации о картах пользователя, привязанных к его учётной записи в сервисе Click to Pay.
- В сервисе Click to Pay выполняется обработка запроса.
- От сервиса Click to Pay к платёжной платформе передаётся список доступных платёжных карт пользователя.
- Осуществляется подготовка к открытию платёжной формы согласно параметрам проекта и вызова.
- Пользователю отображается платёжная форма со списком карт, привязанных к его учётной записи в сервисе Click to Pay.
- Пользователь выбирает платёжную карту и подтверждает оплату.
- К сервису Click to Pay передаётся запрос на проведение оплаты с использованием выбранной платёжной карты.
- В сервисе Click to Pay выполняется обработка запроса.
- От сервиса Click to Pay к Payment Page передаются данные для отображения страницы ожидания сервиса.
- Пользователю отображается страница ожидания Click to Pay.
- От сервиса Click to Pay к платёжной платформе передаётся подтверждение возможности проведения оплаты с использованием выбранной карты.
- От платёжной платформы к Payment Page направляется информация о подтверждении.
- Пользователю отображается страница ожидания Payment Page.
- В платформе выполняются дальнейшая обработка запроса и его отправка к сервису международной платёжной системы.
- В сервисе международной платёжной системы выполняется обработка платежа.
- От сервиса международной платёжной системы к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется информация о результате оплаты.
- Информация о результате оплаты отображается пользователю на Payment Page.
В остальных сценариях пользовательское взаимодействие с интерфейсом Payment Page соответствует сценариям, представленным ранее, в то время как действия со стороны веб-сервиса не меняются. В дополнение к этому, при использовании возможности повторных попыток и отклонении в каком-либо из сценариев оплаты методом Click to Pay пользователю предоставляется повторная попытка с применением классических карточных платежей и, при последующих отклонениях, дополнительные попытки с применением других доступных методов (подробнее о повторных попытках — в отдельной статье).
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Click to Pay через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Click to Pay необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров, обязательный для любого платежа:
project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта;payment_currency
— буквенный код валюты платежа в формате ISO-4217 alpha-3;payment_amount
— сумма платежа в дробных единицах валюты;customer_id
— идентификатор пользователя в рамках проекта.
- Должен использоваться базовый минимум параметров:
project_id
,payment_id
,payment_currency
,payment_amount
,customer_id
. - Дополнительно рекомендуется указывать телефонный код страны, номер телефона и адрес электронной почты пользователя в параметрах
customer_phone_country
,customer_phone
иcustomer_email
.Указание этих параметров в запросе позволяет аутентифицировать пользователя на стороне сервиса Click to Pay и не отображать соответствующие поля в пользовательском интерфейсе, даже если пользователь применяет устройство или браузер, которые не задействовались им ранее.
Если эти параметры отсутствуют в запросе, а пользователь при этом применяет новое устройство или браузер, то в платёжной форме отображаются поля для ввода недостающих значений, а также выполняется аутентификация пользователя в сервисе с использованием одноразового проверочного кода, отправляемого на указанный номер телефона или адрес электронной почты пользователя.
Рис. 36. Пример передавамых данных для аутентификации пользователя в сервисе "customer_phone_country": "44", "customer_phone": "1172345678", "customer_email": "test@test.com"
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
- После указания всех целевых параметров необходимо составлять подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода Click to Pay должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), идентификатор пользователя и подпись.
{ "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" }
{ "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" }
Вместе с тем, рекомендуемый состав параметров может выглядеть следующим образом.
{ "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "GBP", "customer_id": "customer1", "customer_phone_country": "44", "customer_phone": "1172345678", "customer_email": "test@test.com", "signature": "oMg2x9dgASNAFUldOcZzUCwX6R\/ekpsdfkIFf==" }
Формат оповещений
Для оповещений о результатах оплат с применением метода Click to Pay используется типовой формат, описание которого представлено в статье Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 1204
для пользователя cust123
была проведена оплата в размере 10,00 USD
.
{ "project_id": 1204, "payment": { "id": "Payment_15671726468667687", "type": "purchase", "status": "success", "date": "2024-08-30T13:58:12+0000", "method": "etoken-click2pay", "sum": { "amount": 1000, "currency": "USD" }, "description": "Purchase" }, "customer": { "id": "cust123" }, "account": { "number": "518600******8785" }, "operation": { "id": 47478000001698, "type": "sale", "status": "success", "date": "2024-08-30T13:58:12+0000", "created_date": "2024-08-30T13:58:06+0000", "request_id": "0a5cb476be3a55010fb050ec1c1cbd35361ac912a3", "sum": { "amount": 1000, "currency": "USD" }, "provider": { "id": 120461, "payment_id": "24fb3f30-000f-5000-8000-1c329d900c68", "date": "2024-08-30T13:58:09+0000", "auth_code": "591748" }, "code": "0", "message": "Success" }, "signature": "5DtWEGy+dMGZZnm3Owjgw9ly67Mb9siv7+WD1u7AyIYdQ==" }
В следующем примере оповещение свидетельствует о том, что оплата была отклонена.
{ "account": { "number": "518600******8785" }, "customer": { "id": "cust123" }, "payment": { "date": "2024-08-06T12:57:03+0000", "id": "10906183900", "method": "etoken-click2pay", "status": "decline", "sum": { "amount": 1030000, "currency": "USD" }, "type": "purchase", "description": "test" }, "project_id": 312, "country": "GB", "operation": { "id": 45047000000055, "type": "sale", "status": "decline", "date": "2024-08-06T12:57:03+0000", "created_date": "2024-08-06T12:57:00+0000", "request_id": "f92c3dfdf76133d5e1a9d26279b3b77b7da32e", "sum": { "amount": 1030000, "currency": "USD" }, "provider": { "id": 120461, "payment_id": "5cb2f2fb-e4df-4807-8839-067f9366d506", "auth_code": "" }, "code": "10105", "message": "Insufficient funds on card" }, "signature": "9CIXvWMsKOcQsWEHKLsSVSRo8YNjIxHPjEEQSmLAtClQ==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Payment Page.
- Информация о выполнении операций — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Возвраты через Gate
Общая информация
Для выполнения возврата через Gate с использованием метода Click to Pay со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема выполнения возврата выглядит следующим образом.
- Пользователь инициирует возврат.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на выполнение возврата.
- Запрос на выполнение возврата поступает в платёжную платформу ecommpay.
- В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности (подробнее).
- В платёжной платформе обеспечиваются дальнейшая обработка запроса (с проверкой согласованности параметров) и его отправка к сервису международной платёжной системы.
- В сервисе международной платёжной системы выполняется обработка возврата.
- От сервиса международной платёжной системы к платёжной платформе направляется информация о результате возврата.
- В платёжной платформе обеспечивается обработка полученной информации и передача информации о возврате к сервису Click to Pay, после чего от платёжной платформы к веб-сервису направляется оповещение о результате возврата.
- На стороне веб-сервиса обеспечивается информирование пользователя о результате возврата.
Информация о форматах запросов и оповещений, используемых для выполнения возвратов методом Click to Pay через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на возвраты с применением метода Click to Pay необходимо учитывать следующее:
- Для инициирования каждого возврата должен использоваться отдельный POST-запрос к конечной точке /v2/payment/refund.
- В каждом запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;,payment_id
— идентификатор платежа, для которого необходимо выполнить возврат;,signature
— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее)),
payment
— объект, содержащий сведения о возврате:description
— комментарий к возврату или его описание;,amount
— сумма возврата в дробных единицах валюты (является обязательной при частичном возврате);,currency
— буквенный код валюты возврата в формате ISO-4217 alpha-3 (является обязательным при частичном возврате);,
customer
— объект, содержащий сведения о пользователе:ip_address
— IP-адрес пользователя, актуальный для инициируемого возврата.
- Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.
Таким образом, корректный запрос на возврат с применением метода Click to Pay должен содержать идентификаторы проекта и платежа, описание возврата, IP-адрес пользователя, подпись, а также, при необходимости, код валюты и сумму возврата.
{ "general": { "project_id": 210, "payment_id": "test_payment", "signature": "PJkV8ej\/UG0Di8hTng6JvipTv+AWoXW\/9MTO8yJA==" }, "payment": { "description": "test refund", "amount": 1000, "currency": "USD" }, "customer": { "ip_address": "192.0.2.0" } }
{ "general": { "project_id": 210, "payment_id": "test_payment", "signature": "PJkV8ej\/UG0Di8hTng6JvipTv+AWoXW\/9MTO8yJA==" }, "payment": { "description": "test refund", "amount": 1000, "currency": "USD" }, "customer": { "ip_address": "192.0.2.0" } }
Формат оповещений
Для оповещений о результатах возвратов с применением метода Click to Pay используется типовой формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 424242
для пользователя cust123
был выполнен возврат в размере 10,00 USD
.
{ "project_id": 424242, "payment": { "id": "payment_15792507735", "type": "purchase", "status": "refunded", "date": "2024-01-20T08:31:36+0000", "method": "etoken-click2pay", "sum": { "amount": 1000, "currency": "USD" }, "description": "purchase" }, "customer": { "id": "cust123" }, "account": { "number": "518600******8785" }, "operation": { "id": 69512000019571, "type": "refund", "status": "success", "date": "2024-01-20T08:31:36+0000", "created_date": "2024-01-20T08:31:35+0000", "request_id": "e0069513", "sum": { "amount": 1000, "currency": "USD" }, "code": "0", "message": "Success", "provider": { "id": 120461, "payment_id": "0000438583", "auth_code": "" } }, "signature": "beJ1deUiEDd+7zuo6YrfSRzgEQj34sKAStuW8Fg==" }
В следующем примере оповещение свидетельствует о том, что возврат был отклонён.
{ "project_id": 424242, "payment": { "id": "Payment_1579250773501", "type": "purchase", "status": "success", "date": "2024-01-20T08:31:36+0000", "method": "etoken-click2pay", "sum": { "amount": 100, "currency": "USD" }, "description": "" }, "customer": { "id": "cust123" }, "account": { "number": "518600******8785" }, "operation": { "sum": { "amount": 100000, "currency": "USD" }, "code": "3283", "message": "Refund amount more than init amount", "provider": { "id": 120461, "payment_id": "0000438582", "auth_code": "" }, "id": 69512000019571, "type": "refund", "status": "decline", "date": "2024-01-20T08:31:36+0000", "created_date": "2024-01-20T08:31:35+0000", "request_id": "e0069142" }, "signature": "beJ1deUiEDd+7zuooJzgEQj34sKAStuW8Fg==" } }
Дополнительные материалы
Для организации работы с возвратами через Gate также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Возвраты средств после оплат — о том, как выполнять возвраты через Gate.
- Информация об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.
Возвраты через Dashboard
При использовании интерфейса Dashboard можно выполнять одиночные и массовые возвраты методом Click to Pay с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.
- Для выполнения одиночного возврата необходимо выбрать целевую оплату, открыть карточку этой оплаты, указать сумму возврата, отправить запрос и убедиться в выполнении возврата.
-
Для выполнения массового возврата необходимо подготовить и загрузить файл с информацией обо всех целевых возвратах, отправить пакет запросов и убедиться в выполнении возвратов.
При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры возвратов — требованиям, представленным в разделе Возвраты через Gate этой статьи (за исключением пункта о подписи).
Более подробная информацияИнформация о выполнении возвратов через Dashboard представлена в отдельном разделе.
Анализ результатов проведения платежей
Для анализа информации о платежах и операциях, как в отдельности по методу Click to Pay, так и в совокупности с другими методами, можно использовать:
- инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
- отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
- данные в формате JSON, получаемые по программным запросам через интерфейс Data API.
С вопросами по анализу информации можно обращаться к соответствующим разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.