# Click to Pay {#pm_clicktopay} статья о работе с платёжным методом Click to Pay, который позволяет проводить платежи с использованием платёжных карт, сохранённых в сервисе Click to Pay, в большинстве стран мира с применением разных валют и для которого в платформе Ecommpay поддерживаются оплаты в одну и две стадии и возвраты **На уровень выше:**[Карточные платежи](ru_pm_cardpayments.md) ## Обзор {#ru_pm_clicktopay_overview} статья о работе с платёжным методом Click to Pay, который позволяет проводить платежи с использованием платёжных карт, сохранённых в сервисе Click to Pay, в большинстве стран мира с применением разных валют и для которого в платформе Ecommpay поддерживаются оплаты в одну и две стадии и возвраты ### Введение {#section_ql3_5fj_stb .section} Click to Pay — метод, позволяющий проводить платежи с использованием платёжных карт American Express, Maestro, Mastercard и Visa в большинстве стран мира с применением разных валют. При работе с этим методом данные используемых платёжных карт сохраняются с высоким уровнем защиты в сервисе Click to Pay, и для доступа к этим данныммогут применяться разнообразные настольные и мобильные устройства, в том числе работающие под управлением операционных систем Android и iOS. Click to Pay поддерживает проведение платежей в США и Канаде, странах Европейской экономической зоны \(EEA\) и многих из стран Азии, Африки и Южной Америки, при этом покрытие стран и валют активно расширяется. В платёжной платформе Ecommpay поддерживаются оплаты в одну и две стадии и возвраты с применением метода Click to Pay. В этой статье представлена информация о работе с методом Click to Pay: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач. ### Характеристика {#section_tbf_2zk_ggb .section} |Тип платёжного метода|карточные платежи| |Платёжные инструменты|платёжные карты| |Регионы использования|большинство стран мира| |Валюты платежей|большинство валют мира| |Конвертация валют|+| |Разовые оплаты|+| |Повторяемые оплаты|–| |Полные возвраты|+| |Частичные возвраты|+| |Выплаты|–| |Опротестования|+| |Особенности|- международные платёжные системы поддерживают и расширяют покрытие стран для метода Click to Pay в соответствии с их критериями \(информацию об этом можно уточнять у курирующего менеджера Ecommpay\) - поддержка метода Click to Pay для пользователей в конкретных странах зависит также от эмитентов платёжных карт в этих странах \(информацию об этом можно уточнять у курирующего менеджера Ecommpay\) - в пользовательском интерфейсе Payment Page Click to Pay выступает как один из вариантов проведения карточной оплаты \(наряду с классическими карточными платежами; подробнее[далее](pm_clicktopay.md#section_bfv_nbd_3cc), в описании сценариев использования\) - при отклонении оплаты методом Click to Pay пользователю может предоставляться повторная попытка с применением классических карточных платежей и, при последующих отклонениях, дополнительные попытки с применением других доступных методов \(подробнее о повторных попытках — [в отдельной статье](ru_PP_Try_Again.md)\) | |Организация и стоимость подключения|по согласованию с курирующим менеджером Ecommpay| ### Схема работы {#section_tsp_gzk_ggb .section} В проведении отдельного платежа с использованием метода Click to Pay задействуются веб-сервис мерчанта, интерфейс Payment Page, платёжная платформа Ecommpay и технические средства сервиса Click to Pay. ![](images/pm/ru_click_functional.svg) ### Основные операции {#section_rnx_4cl_ggb .section} Для проведения оплат с использованием метода Click to Pay применяется интерфейс Payment Page, а для выполнения возвратов — интерфейсы Gate и Dashboard. При этом могут быть актуальны различные ограничения по суммам и времени с учётом специфики платёжных систем и эмитентов. ### Сценарии использования {#ru_pm_clicktopay_processing_scenarios} #### Общая информация {#section_ep5_fbd_3cc .section} Проведение оплат с использованием метода Click to Pay осуществляется с регистрацией пользователей и их платёжных карт в сервисе Click to Pay и с выполнением последующих необходимых действий, выполнение возвратов — с заявкой со стороны пользователя и с уведомлением со стороны веб-сервиса. При этом регистрация пользователей и их платёжных карт может выполняться не только в переходе к платежам, но и предварительно: через МПС и эмитентов \(подробнее — [далее](pm_clicktopay.md#section_qlv_wfn_zcc)\). Общие сценарии проведения оплат и выполнения возвратов методом Click to Pay можно представить следующим образом. ![](images/pm/ru_clicktopay_interfaces_pp.svg "Оплата через Payment Page") ![](images/pm/ru_clicktopay_interfaces_gate_refund.svg "Возврат через Gate") Частные сценарии проведения оплаты с использованием метода 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 могут облегчаться за счёт автоматической идентификации и аутентификации такого пользователя либо за счёт предварительного заполнения соответствующих полей.В связи с этим рекомендуется регистрировать в веб-сервисе и указывать в запросах на проведение оплат номера телефонов и адреса электронной почты пользователей — чтобы улучшать пользовательский опыт и конверсию платёжной формы. К особенностям оплат с использованием метода Click to Pay можно отнести то, что при их проведении используются специализированные страницы, отображаемые в платёжной форме на основе информации от „фасилитаторов платежей“ \(Digital Card Facilitators, DCF\), в роли которых выступают международные платёжные системы — участницы сервиса Click to Pay, предоставляющие пользователям доступ к цифровым картам. #### Типичная оплата {#section_bfv_nbd_3cc .section} Пользовательский сценарий *типичной оплаты* через Payment Page выглядит следующим образом. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_3.svg "Идентификация") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_4.svg "Аутентификация Click to Pay") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_3.svg "Bыбор карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_4.svg "Уведомление об обработке платежа") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_5.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_6.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_7.svg "Возвращение к веб-сервису") При передаче номера телефона и адреса электронной почты пользователя в исходном запросе \(а в некоторых случаях — только одного из этих параметров\) шаги с идентификацией и аутентификацией пользователя в сервисе Click to Pay пропускаются. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_3.svg "Bыбор карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_4.svg "Уведомление об обработке платежа") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_5.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_6.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_common_7.svg "Возвращение к веб-сервису") #### Оплата с нового устройства {#section_m3s_sbd_3cc .section} Пользовательский сценарий *оплаты с нового устройства* через Payment Page выглядит следующим образом. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_3.svg "Идентификация") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_4.svg "Аутентификация Click to Pay") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_5.svg "Bыбор карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_6.svg "Уведомление об обработке платежа") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_7.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_8.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_9.svg "Возвращение к веб-сервису") Если в исходном запросе передаются номер телефона и адрес электронной почты пользователя \(а в некоторых случаях — только один из этих параметров\), шаг с идентификацией пользователя пропускается. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_4.svg "Аутентификация Click to Pay") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_5.svg "Bыбор карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_6.svg "Уведомление об обработке платежа") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_7.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_8.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_otpcode_9.svg "Возвращение к веб-сервису") #### Оплата с новой карты {#section_bvm_fcd_3cc .section} Пользовательский сценарий *оплаты с новой карты* через Payment Page выглядит следующим образом. При этом, если в исходном запросе передаются номер телефона и адрес электронной почты пользователя, соответствующие поля отображаются предварительно заполненными. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_3.svg "Переход к добавлению карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_4.svg "Указание данных") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_5.svg "Уведомление о добавлении карты") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_6.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_7.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_addcard_8.svg "Возвращение к веб-сервису") #### Оплата новым пользователем {#section_xbv_fcd_3cc .section} Пользовательский сценарий *оплаты новым пользователем* через Payment Page выглядит следующим образом. При этом, если в исходном запросе передаются номер телефона и адрес электронной почты пользователя, соответствующие поля отображаются предварительно заполненными. ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_1.svg "Переход к оплате") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_2.svg "Открытие формы") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_3.svg "Идентификация") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_4.svg "Указание данных") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_5.svg "Уведомление о регистрации") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_6.svg "Аутентификация 3‑D Secure") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_7.svg "Возвращение к форме") ![](images/pm/pp_scenario/ru_pp_customer_scenario_click_registration_8.svg "Возвращение к веб-сервису") #### Предварительная регистрация {#section_qlv_wfn_zcc .section} Регистрация пользователей и их карт в сервисе Click to Pay может выполняться не только при переходе к платежам\(как в приведённых ранее сценариях\), но и предварительно: - через платёжные системы: - American Expressобеспечивает для держателей карт Amex доступ к учётным записям Click to Pay по адресам электронной почты, которые использовались для создания учётных записей на сайте или в мобильном приложении American Express; - Mastercardдаёт возможность регистрироваться [по ссылке](https://src.mastercard.com/profile/card/add); - Visaдаёт возможность регистрироваться [по ссылке](https://secure.checkout.visa.com/); - через эмитентов платёжных карт— они могут предлагать пользователям создавать учётные записи Click to Pay в своих мобильных приложениях или на сайтах, а также предварительно регистрировать пользователей и их карты в сервисе, если эти карты отвечают заданным критериям отбора. ## Оплаты через Payment Page {#ru_pm_clicktopay_pp_purchase} ### Общая информация {#section_gtg_vxk_m2b .section} Для проведения оплаты через Payment Pageс использованием метода Click to Pay со стороны веб-сервиса в общем случае необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате. При этом в случае с оплатой в две стадии позднее может быть необходимым отправить дополнительный запрос на списание заблокированных средств \([подробнее](ru_platform_dms_model.md)\). Полная схема проведения оплаты в одну стадию выглядит следующим образом. ![](images/pm/ru_clicktopay_uml_pp.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Payment Page. 3. Запрос на проведение оплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к сервису Click to Pay передаётся запрос на проверку наличия учётной записи пользователя в сервисе Click to Pay. 6. В сервисе Click to Pay выполняется обработка запроса. 7. От сервиса Click to Pay к платёжной платформе передаётся подтверждения наличия учётной записи пользователя. 8. От платёжной платформы к сервису Click to Pay передаётся запрос на получение информации о картах пользователя, привязанных к его учётной записи в сервисе Click to Pay. 9. В сервисе Click to Pay выполняется обработка запроса. 10. От сервиса Click to Pay к платёжной платформе передаётся список доступных платёжных карт пользователя. 11. Осуществляется подготовка к открытию платёжной формы согласно параметрам проекта и вызова. 12. Пользователю отображается платёжная форма со списком карт, привязанных к его учётной записи в сервисе Click to Pay. 13. Пользователь выбирает платёжную карту и подтверждает оплату. 14. К сервису Click to Pay передаётся запрос на проведение оплаты с использованием выбранной платёжной карты. 15. В сервисе Click to Pay выполняется обработка запроса. 16. От сервиса Click to Pay к Payment Page передаются данные для отображения страницы ожидания сервиса. 17. Пользователю отображается страница ожидания Click to Pay. 18. От сервиса Click to Pay к платёжной платформе передаётся подтверждение возможности проведения оплаты с использованием выбранной карты. 19. От платёжной платформы к Payment Page направляется информация о подтверждении. 20. Пользователю отображается страница ожидания Payment Page. 21. В платформе выполняются дальнейшая обработка запроса и его отправка к сервису международной платёжной системы. 22. В сервисе международной платёжной системы выполняется обработка платежа. 23. От сервиса международной платёжной системы к платёжной платформе направляется информация о результате оплаты. 24. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 25. От платёжной платформы к Payment Page направляется информация о результате оплаты. 26. Информация о результате оплаты отображается пользователю на Payment Page. В случае с оплатой в две стадии схема блокировки средств через Payment Page с использованием метода Click to Pay идентична представленной схеме оплаты в одну стадию, с той разницей, что вместо незамедлительного списания средств инициируется и выполняется их предварительная блокировка. В остальных сценариях пользовательское взаимодействие с интерфейсом Payment Page соответствует сценариям, представленным [ранее](pm_clicktopay.md#), в то время как действия со стороны веб-сервиса не меняются. В дополнение к этому, при использовании возможности повторных попыток и отклонении в каком-либо из сценариев оплаты методом Click to Pay пользователю предоставляется повторная попытка с применением классических карточных платежей и, при последующих отклонениях, дополнительные попытки с применением других доступных методов \(подробнее о повторных попытках — [в отдельной статье](ru_PP_Try_Again.md)\). Информация о форматах запросов и оповещений, используемых для проведения оплат методом Click to Pay через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье [Организация взаимодействия](ru_pp_interaction_organisation.md#). ### Формат запросов {#section_p5j_fgl_ggb .section} При формировании запросов на открытие платёжной формы с применением метода Click to Pay необходимо учитывать следующее: 1. Должен использоваться базовый минимум параметров, обязательный для любого платежа: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `payment_currency` — буквенный код валюты платежа в формате ISO-4217 alpha-3; - `payment_amount` — сумма платежа в дробных единицах валюты; - `customer_id` — идентификатор пользователя в рамках проекта. **Внимание:** В целях повышения качества обработки платежей и соблюдения отраслевых стандартов с 15 января 2026 года для определённых видов бизнеса обязательна передача параметра `booking_info` с информацией о датах начала и окончания бронируемой услуги \([подробнее](ru_pp_additional_data.md#)\) для каждой инициируемой [карточной оплаты](ru_pm_cardpayments.md). Это относится к мерчантам с кодами категорий \([Merchant Category Code, MCC](ru_glossary.md#)\) 3000–3999, 4411, 4511, 4722, 5962, 6513, 7011, 7012, 7512, 7519 и 7922. 2. Для указания варианта проведения оплаты, отличного от заданного по умолчанию для используемого проекта, необходимо указывать параметр `operation_type` со значением `sale`\(для незамедлительного списания средств при оплате в одну стадию\) или `auth`\(для предварительной блокировки средств при оплате в две стадии\). 3. Дополнительно рекомендуется указывать телефонный код страны, номер телефона и адрес электронной почты пользователя в параметрах `customer_phone_country`, `customer_phone` и `customer_email`. Указание этих параметров в запросе позволяет аутентифицировать пользователя на стороне сервиса Click to Payи не отображать соответствующие поля в пользовательском интерфейсе, даже если пользователь применяет устройство или браузер, которые не задействовались им ранее. Если эти параметры отсутствуют в запросе, а пользователь при этом применяет новое устройство или браузер, то в платёжной форме отображаются поля для ввода недостающих значений, а также выполняется аутентификация пользователя в сервисе с использованием одноразового проверочного кода, отправляемого на указанный номер телефона или адрес электронной почты пользователя. ```language-json "customer_phone_country": "44", "customer_phone": "1172345678", "customer_email": "test@test.com" ``` 4. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page \([подробнее](ru_PP_Parameters.md)\). 5. После указания всех целевых параметров необходимо составлять подпись \([подробнее](ru_platform_signature.md#)\). Таким образом, корректный запрос на открытие платёжной формы с применением метода Click to Pay должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор пользователя и подпись. ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` Вместе с тем, рекомендуемый состав параметров может выглядеть следующим образом. ```language-json { "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==" } ``` ### Формат оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Click to Pay используется типовой формат, описание которого представлено в статье [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `1204` для пользователя `cust123` была проведена оплата в размере `10,00 USD`. ```language-json { "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==" } ``` В следующем примере оповещение свидетельствует о том, что оплата была отклонена. ```language-json { "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==" } ``` ### Дополнительные материалы {#section_xpz_thl_ggb .section} Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_pp_interaction_organisation.md#)— о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Проведение оплат](ru_pp_purchase.md)— о том, как проводить разовые оплаты через Payment Page. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций. ## Возвраты через Gate {#ru_pm_clicktopay_gate_refund} ### Общая информация {#section_lsx_3jl_ggb .section} Для выполнения возврата через Gate с использованием метода Click to Pay со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема выполнения возврата выглядит следующим образом. ![](images/pm/ru_clicktopay_uml_gate_refund.svg) 1. Пользователь инициирует возврат. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на выполнение возврата. 3. Запрос на выполнение возврата поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md#)\). 6. В платёжной платформе обеспечиваются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка к сервису международной платёжной системы. 7. В сервисе международной платёжной системы выполняется обработка возврата. 8. От сервиса международной платёжной системы к платёжной платформе направляется информация о результате возврата. 9. В платёжной платформе обеспечивается обработка полученной информации и передача информации о возврате к сервису Click to Pay, после чего от платёжной платформы к веб-сервису направляется оповещение о результате возврата. 10. На стороне веб-сервиса обеспечивается информирование пользователя о результате возврата. Информация о форматах запросов и оповещений, используемых для выполнения возвратов методом Click to Pay через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на возвраты с применением метода Click to Pay необходимо учитывать следующее: 1. Для инициирования каждого возврата должен использоваться отдельный POST-запрос к конечной точке [/v2/payment/refund](https://api-developers.ecommpay.com/api-specification/direct-debit/post-v2-payment-refund). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, для которого необходимо выполнить возврат; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о возврате: - `description` — комментарий к возврату или его описание; - `amount` — сумма возврата в дробных единицах валюты \(является обязательной при частичном возврате\); - `currency` — буквенный код валюты возврата в формате ISO-4217 alpha-3\(является обязательным при частичном возврате\); - `customer` — объект, содержащий сведения о пользователе: - `ip_address` — IP-адрес пользователя, актуальный для инициируемого возврата. 3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на возврат с применением метода Click to Pay должен содержать идентификаторы проекта и платежа, описание возврата, IP-адрес пользователя, подпись, а также, при необходимости, код валюты и сумму возврата. ```language-json { "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" } } ``` ```language-json { "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" } } ``` ### Формат оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах возвратов с применением метода Click to Pay используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `424242` для пользователя `cust123` был выполнен возврат в размере `10,00 USD`. ```language-json { "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==" } ``` В следующем примере оповещение свидетельствует о том, что возврат был отклонён. ```language-json { "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==" } } ``` ### Дополнительные материалы {#section_xsx_3jl_ggb .section} Для организации работы с возвратами через Gate также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как взаимодействовать с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Возвраты средств после оплат](ru_Gate_Refund.md)— о том, как выполнять возвраты через Gate. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Возвраты через Dashboard {#ru_pm_dash_refund} При использовании интерфейса Dashboard можно выполнять возвратыметодом Click to Pay с единичной и пакетной отправкой запросов, называемые соответственно *одиночными* и *массовыми*. - Для выполнения одиночного возврата необходимо выбрать целевую оплату, открыть карточку этой оплаты, указать сумму возврата, отправить запрос и убедиться в выполнении возврата. - Для выполнения массового возврата необходимо подготовить и загрузить файл с информацией обо всех целевых возвратах, отправить пакет запросов и убедиться в выполнении возвратов. При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе [Сведения о массовых платежах](ru_dbl_payments.md#), а параметры возвратов — требованиям, представленным в разделе [Возвраты через Gate](pm_clicktopay.md#) этой статьи \(за исключением пункта о подписи\). Более подробная информация о выполнении возвратов через Dashboard представлена в [отдельном разделе](ru_dbl_payments.md#). ## Анализ результатов проведения платежей {#ru_pm_clicktopay_dash_analysis} Для анализа информации о платежах и операциях, как в отдельности по методу Click to Pay, так и в совокупности с другими методами, можно использовать: - инструментарийинтерфейса Dashboard, с различными реестрами и аналитическими панелями; - отчёты в формате CSV, выгружаемые\(как разово, так и периодически\) черезраздел **Отчёты** интерфейса Dashboard; - данные в формате JSON, получаемыепо программным запросам черезинтерфейс Data API. С вопросами по анализу информации можно обращаться к соответствующим разделам документации \([Dashboard](ru_dbl_about.md) и [Использование Data API](ru_dbl_api_protocol.md)\) и специалистам Ecommpay.