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 (оплата зарегистрированным пользователем; кратко: типичная оплата) — оплата зарегистрированным пользователем с применением задействованных им ранее устройства, браузера и платёжной карты, а также с идентификацией этого пользователя по адресу его электронной почты и номеру телефона и последующей аутентификацией в сервисе Click to Pay.
- 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 выглядит следующим образом.
При передаче номера телефона и адреса электронной почты пользователя в исходном запросе (а в некоторых случаях — только одного из этих параметров) шаги с идентификацией и аутентификацией пользователя в сервисе Click to Pay пропускаются.
Оплата с нового устройства
Пользовательский сценарий оплаты с нового устройства через 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 идентична представленной схеме оплаты в одну стадию, с той разницей, что вместо незамедлительного списания средств инициируется и выполняется их предварительная блокировка.
В остальных сценариях пользовательское взаимодействие с интерфейсом 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— идентификатор пользователя в рамках проекта.
Внимание: В целях повышения качества обработки платежей и соблюдения отраслевых стандартов с 15 января 2026 года для определённых видов бизнеса становится обязательной передача параметраbooking_infoс информацией о датах начала и окончания бронируемой услуги (подробнее) для каждой инициируемой карточной оплаты. Это относится к мерчантам с кодами категорий (Merchant Category Code, MCC) 3000–3999, 4411, 4511, 4722, 5962, 6513, 7011, 7012, 7512, 7519 и 7922. - Должен использоваться базовый минимум параметров:
project_id,payment_id,payment_currency,payment_amount,customer_id. - Для указания варианта проведения оплаты, отличного от заданного по умолчанию для используемого проекта, необходимо указывать параметр
operation_typeсо значениемsale(для незамедлительного списания средств при оплате в одну стадию) илиauth(для предварительной блокировки средств при оплате в две стадии). - Дополнительно рекомендуется указывать телефонный код страны, номер телефона и адрес электронной почты пользователя в параметрах
customer_phone_country,customer_phoneиcustomer_email.Указание этих параметров в запросе позволяет аутентифицировать пользователя на стороне сервиса Click to Pay и не отображать соответствующие поля в пользовательском интерфейсе, даже если пользователь применяет устройство или браузер, которые не задействовались им ранее.
Если эти параметры отсутствуют в запросе, а пользователь при этом применяет новое устройство или браузер, то в платёжной форме отображаются поля для ввода недостающих значений, а также выполняется аутентификация пользователя в сервисе с использованием одноразового проверочного кода, отправляемого на указанный номер телефона или адрес электронной почты пользователя.
Рис. 53. Пример передаваемых данных для аутентификации пользователя в сервисе "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.