# Skrill Wallet {#pm_skrill} **На уровень выше:**[Платежи с использованием электронных кошельков](ru_pm_ewallet.md) ## Обзор {#ru_pm_skrill_overview} статья о работе с платёжным методом Skrill Wallet, который позволяет проводить платежи в разных валютах с использованием электронного кошелька в разных странах и для которого в платформе Ecommpay поддерживаются разовые и повторяемые оплаты, возвраты и выплаты ### Введение {#section_ql3_5fj_stb .section} Skrill Wallet — метод, позволяющий проводить платежи в разных валютах с использованием электронного кошелька в разных странах. Для этого метода в платёжной платформе Ecommpay поддерживаются разовые и повторяемыеоплаты, а также возвраты и выплаты. В этой статье представлена информация о работе с методом Skrill Wallet: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач. ### Характеристика {#section_tbf_2zk_ggb .section} |Тип платёжного метода|платежи с использованием электронных кошельков| |Платёжные инструменты|электронные кошельки| |Регионы использования|большинство стран мира| |Валюты платежей|[AUD](references/ru/currencies/AUD.md), [CAD](references/ru/currencies/CAD.md), [CHF](references/ru/currencies/CHF.md), [DKK](references/ru/currencies/DKK.md), [EUR](references/ru/currencies/EUR.md), [GBP](references/ru/currencies/GBP.md), [HUF](references/ru/currencies/HUF.md), [NOK](references/ru/currencies/NOK.md), [PLN](references/ru/currencies/PLN.md), [RON](references/ru/currencies/RON.md), [SEK](references/ru/currencies/SEK.md), [USD](references/ru/currencies/USD.md) \*| |Конвертация валют|–| |Разовые оплаты|+| |Повторяемые оплаты|+| |Полные возвраты|+| |Частичные возвраты|+| |Выплаты|+| |Опротестования|–| |Особенности|–| |Организация и стоимость подключения|по согласованию с курирующим менеджером Ecommpay; дополнительную информацию можно получить в [Ecommpay shop](https://ecommpay.com/shop/payment-methods/skrill/)| \* Точную информацию уточняйте у курирующего менеджера Ecommpay. ### Схема работы {#section_tsp_gzk_ggb .section} В проведении отдельного платежа с использованием метода Skrill Wallet задействуются веб-сервис мерчанта, один из интерфейсовплатёжная платформа Ecommpay, а также технические средства сервиса Skrill Wallet. ![](images/pm/ru_skrill_functional.svg) ### Основные операции {#section_rnx_4cl_ggb .section} Для проведения платежей и выполнения операций с использованием метода Skrill Wallet могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard \(с применением платёжных ссылок\), а возвраты и выплаты — через Gate и Dashboard. При этом, независимо от используемых интерфейсов, для этого метода характерны следующие ограничения. ||Суммы¹| |минимум|максимум| |--|------| |-------|--------| |Разовые оплаты|0,50 [EUR](references/ru/currencies/EUR.md) \(или эквивалент\)|8 000,00 [EUR](references/ru/currencies/EUR.md) \(или эквивалент\)| |Повторяемые оплаты|–|–| |Возвраты|–|–| |Выплаты|10,00 [USD](references/ru/currencies/USD.md) \(или эквивалент\)|10 000,00 [USD](references/ru/currencies/USD.md) \(или эквивалент\)| **Прим.:** 1. Точную информацию уточняйте у курирующего менеджера Ecommpay. ### Сценарии использования {#section_fgt_sdl_ggb .section} Проведение оплат с использованием метода Skrill Wallet осуществляется с перенаправлением пользователей к сервису Skrill Wallet, выполнение возвратов — с заявкой со стороны пользователя и уведомлением со стороны веб-сервиса, проведение выплат — с уведомлением пользователей через веб-сервис мерчанта. Пользовательский сценарий оплаты через Payment Page выглядит следующим образом. ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_1.svg "Переход к оплате") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_2.svg "Выбор метода") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_3.svg "Аутентификация") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_4.svg "Подтверждение платежа") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_5.svg "Возвращение к форме") ![](images/ecommpay/pm_pp_scenario/ru_pp_customer_scenario_skrill_6.svg "Возвращение к веб-сервису") Общие сценарии проведения оплат и выплат можно представить следующим образом. ![](images/pm/ru_skrill_interfaces_pp.svg "Оплата через Payment Page") ![](images/pm/ru_skrill_interfaces_gate.svg "Оплата через Gate") ![](images/pm/ru_skrill_interfaces_gate_refund.svg "Возврат через Gate") ![](images/pm/ru_skrill_interfaces_gate_payout.svg "Выплата через Gate") ## Разовые оплаты через Payment Page {#ru_pm_skrill_pp_purchase} ### Общая информация {#section_gtg_vxk_m2b .section} Для проведения оплаты через Payment Pageс использованием метода Skrill Wallet со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_skrill_uml_pp.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Payment Page. 3. Запрос на проведение оплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи. 5. Осуществляется подготовка Payment Page согласно параметрам проекта и вызова. 6. Пользователю отображается платёжная форма. 7. Пользователь выбирает для оплаты метод Skrill Wallet. 8. В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Skrill Wallet. 9. В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис Skrill Wallet. 10. В сервисе Skrill Wallet выполняется обработка запроса на оплату. 11. От сервиса Skrill Wallet к платёжной платформе передаются данные для перенаправления пользователя к сервису Skrill Wallet. 12. Данные для перенаправления пользователя передаются к Payment Page. 13. Пользователь перенаправляется к сервису Skrill Wallet. 14. Пользователь выполняет необходимые действия для оплаты. 15. В сервисе Skrill Wallet выполняется обработка платежа. 16. Информация о результате оплаты отображается пользователю в сервисе Skrill Wallet. 17. Пользователь перенаправляется к Payment Page. 18. От сервиса Skrill Wallet к платёжной платформе направляется информация о результате оплаты. 19. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 20. От платёжной платформы к Payment Page направляется информация о результате оплаты. 21. Информация о результате оплаты отображается пользователю на Payment Page. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Skrill Wallet через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье [Организация взаимодействия](ru_pp_interaction_organisation.md#). ### Формат запросов {#section_p5j_fgl_ggb .section} При формировании запросов на открытие платёжной формы с применением метода Skrill Wallet необходимо учитывать следующее: 1. Должен использоваться базовый минимум параметров, обязательный для любого платежа: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `payment_currency` — код валюты платежа в формате ISO-4217 alpha-3; - `payment_amount` — сумма платежа в дробных единицах валюты; - `customer_id` — идентификатор пользователя в рамках проекта. 2. Дополнительно рекомендуется указывать имю, фамилию и адрес электронной почты пользователя в параметрах `customer_first_name`, `customer_last_name` и `customer_email`. Если какие-либо из этих параметров отсутствуют в запросе, в платёжной форме могут отображаться поля для ввода пользователем недостающих значений \(подробнее — в разделе [Дополнение информации о платежах](ru_pp_clarification.md)\). 3. Для предварительного выбора метода Skrill Wallet необходимо указывать код этого метода в параметре `force_payment_method` — `skrill`. 4. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page \([подробнее](ru_PP_Parameters.md)\). 5. После указания всех целевых параметров необходимо составлять подпись \([подробнее](ru_platform_signature.md#)\). Таким образом, корректный запрос на открытие платёжной формы с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе и подпись. ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "customer_first_name": "John", "customer_last_name": "Doe", "customer_email": 'email@example.com', "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "customer_first_name": "John", "customer_last_name": "Doe", "customer_email": 'email@example.com', "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ### Формат оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Skrill Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `68` была проведена оплата в размере `50,00 USD`. ```language-json { "project_id": 68, "payment": { "id": "86526901942", "type": "purchase", "status": "success", "date": "2019-07-10T08:51:14+0000", "method": "skrill", "sum": { "amount": 5000, "currency": "USD" }, "description": "Deposit" }, "account": { "number": "account@customer.com" }, "customer": { "id": "207" }, "operation": { "id": 21547000003559, "type": "sale", "status": "success", "date": "2019-07-10T08:51:14+0000", "created_date": "2019-07-10T08:50:59+0000", "request_id": "arsthbvcab34", "sum_initial": { "amount": 5000, "currency": "USD" }, "sum_converted": { "amount": 5000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-10T08:51:13+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Dnr3zBWrTAnz1C6fpYKOcha4H4VGx3eMaO8A0IfvQ==" } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 68, "payment": { "id": "15626281690123599", "type": "purchase", "status": "decline", "date": "2019-07-09T23:22:59+0000", "method": "skrill", "sum": { "amount": 10000, "currency": "USD" }, "description": "Deposit" }, "customer": { "id": "207" }, "operation": { "id": 21531000003532, "type": "sale", "status": "decline", "date": "2019-07-09T23:22:59+0000", "created_date": "2019-07-08T23:22:54+0000", "request_id": "6e3cf13e8a76", "sum_initial": { "amount": 10000, "currency": "USD" }, "sum_converted": { "amount": 10000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-08T23:22:56+0000", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "AiXDW6GnzyvtjMqPkvIo7d7e+t9i8nCh5p/d3JYL==" } ``` ### Дополнительные материалы {#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_skrill_gate_purchase} ### Общая информация {#section_lsx_3jl_ggb .section} Для проведения оплаты через Gate с использованием метода Skrill Wallet со стороны веб-сервиса необходимо: 1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay. 2. Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису Skrill Wallet. 3. Принять итоговое оповещение от платёжной платформы. Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_skrill_uml_gate.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Skrill Wallet. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Gate. 3. Запрос на проведение оплаты поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md#)\). 6. В платёжной платформе выполняются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис Skrill Wallet. 7. В сервисе Skrill Wallet выполняется обработка запроса на оплату. 8. От сервиса Skrill Wallet к платёжной платформе передаются данные для перенаправления пользователя к сервису Skrill Wallet. 9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к сервису Skrill Wallet. 10. Пользователь перенаправляется к сервису Skrill Wallet. 11. Пользователь выполняет необходимые действия для оплаты. 12. В сервисе Skrill Wallet выполняется обработка платежа. 13. Пользователю отображается информация о результате оплаты. 14. Пользователь перенаправляется к веб-сервису. 15. От сервиса Skrill Wallet к платёжной платформе направляется информация о результате оплаты. 16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 17. На стороне веб-сервиса обеспечивается информирование пользователя о результате оплаты. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Skrill Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на оплаты с применением метода Skrill Wallet необходимо учитывать следующее: 1. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке `/v2/payment/wallet/skrill/sale`. Эта точка относится к группе [/v2/payment/wallet/\{payment\_method\}/sale](https://api-developers.ecommpay.com/api-specification/wallet/post-v2-payment-wallet-payment-method-sale). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма платежа в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемого платежа; - `email` — адрес электронной почты пользователя; - `first_name` — имя пользователя; - `last_name` — фамилия пользователя; - `return_url` — объект, содержащий URL для перенаправления пользователя в веб-сервис: - `success` — URL сайта для возврата после проведённой оплаты; - `decline` — URL сайта для возврата после отклонённой оплаты; - `return` — URL для перенаправления пользователя на любом шаге оплаты. 3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на оплату с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), информацию о пользователе, URL для перенаправления, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "SKRILL_SALE_12345", "signature": "t8qap+aD70GdZwkd73UfSt9F7dni4/9WWIYcBZEL==" }, "customer": { "ip_address": "192.0.2.0", "customer_email": "email@example.com", "customer_last_name": "Johnson", "customer_first_name": "John", "id": "customer123" }, "payment": { "amount": 5000, "currency": "USD", "description": "skrill payment" }, "return_url": { "success": "http://example.com/success", "decline": "http://example.com/decline", "return": "http://example.com/return" } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "SKRILL_SALE_12345", "signature": "t8qap+aD70GdZwkd73UfSt9F7dni4/9WWIYcBZEL==" }, "customer": { "ip_address": "192.0.2.0", "customer_email": "email@example.com", "customer_last_name": "Johnson", "customer_first_name": "John", "id": "customer123" }, "payment": { "amount": 5000, "currency": "USD", "description": "skrill payment" }, "return_url": { "success": "http://example.com/success", "decline": "http://example.com/decline", "return": "http://example.com/return" } } ``` ### Формат промежуточных оповещений для перенаправления пользователей {#section_x23_cpg_vgb .section} Для перенаправления пользователей от веб-сервиса мерчанта к сервису Skrill Wallet при проведении каждого платежа с использованием метода Skrill Wallet необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект `redirect_data`. Формат таких оповещений является типовым \([подробнее](ru_platform_callbacks.md#)\), при этом в состав объекта `redirect_data` включаются следующие объекты и параметры: - `body` — объект с данными для отправки в теле запроса; - `method` — параметр с указанием HTTP-метода отправки запроса\(`GET` или `POST`\); - `url` — параметр со ссылкой для перенаправления. ```language-json "redirect_data": { "body": {}, "method": "GET", "url": "https://www.example.com/pay" } ``` ### Формат итоговых оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Skrill Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `68` была проведена оплата в размере `50,00 USD`. ```language-json { "project_id": 68, "payment": { "id": "86526901942", "type": "purchase", "status": "success", "date": "2019-07-10T08:51:14+0000", "method": "skrill", "sum": { "amount": 5000, "currency": "USD" }, "description": "Deposit" }, "account": { "number": "account@customer.com" }, "customer": { "id": "207" }, "operation": { "id": 21547000003559, "type": "sale", "status": "success", "date": "2019-07-10T08:51:14+0000", "created_date": "2019-07-10T08:50:59+0000", "request_id": "arsthbvcab34", "sum_initial": { "amount": 5000, "currency": "USD" }, "sum_converted": { "amount": 5000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-10T08:51:13+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Dnr3zBWrTAnz1C6fpYKOcha4H4VGx3eMaO8A0IfvQ==" } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 68, "payment": { "id": "15626281690123599", "type": "purchase", "status": "decline", "date": "2019-07-09T23:22:59+0000", "method": "skrill", "sum": { "amount": 10000, "currency": "USD" }, "description": "Deposit" }, "customer": { "id": "207" }, "operation": { "id": 21531000003532, "type": "sale", "status": "decline", "date": "2019-07-09T23:22:59+0000", "created_date": "2019-07-08T23:22:54+0000", "request_id": "6e3cf13e8a76", "sum_initial": { "amount": 10000, "currency": "USD" }, "sum_converted": { "amount": 10000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-08T23:22:56+0000", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "AiXDW6GnzyvtjMqPkvIo7d7e+t9i8nCh5p/d3JYL==" } ``` ### Дополнительные материалы {#section_xsx_3jl_ggb .section} Для организации работы с оплатами через Gate также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как взаимодействовать с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Разовая оплата в одну стадию](ru_platform_sms_model.md)— о том, как проводить разовые оплаты через Gate. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Повторяемые оплаты через Gate {#ru_pm_skrill_gate_recurring} ### Общая информация {#section_lsx_3jl_ggb .section} Платёжный метод Skrill Wallet предоставляет возможность проводить повторяемые оплаты двух категорий: экспресс и регулярные. Более подробная информация о повторяемых оплатах представлена в статье [Повторяемые оплаты](ru_Gate__payments_on_saved_data.md). В платёжном методе Skrill Wallet экспресс-оплаты проводятся с использованием сервиса Skrill 1-Tap. Данный сервис позволяет проводить платежи нажатием «одной кнопки» при наличии ранее сохранённого кошелька. ### Регистрация повторяемой оплаты {#section_s21_rh1_j3b .section} Для регистрации повторяемой оплаты со стороны веб-сервиса необходимо отправить запрос на оплату, содержащий требуемые параметры и подпись, а также признак регистрации повторяемой оплаты `recurring.register: true`, на рабочий URL Ecommpay и принять оповещение о результате оплаты. Для регистрации регулярной оплаты в запросе необходимо передать информацию о периодичности, сумме, начале и конце совершения регулярной оплаты. В оповещении о регистрации повторяемой оплаты вы получите её идентификатор, который можно использовать для проведения экспресс-оплат, продления, изменения условий или отмены регулярной оплаты. Более подробная информация о проведении оплаты через Gate с помощью метода Skrill Wallet представлена в разделе [Разовые оплаты через Gate](pm_skrill.md#). ### Проведение повторяемой оплаты {#section_e2f_wl1_j3b .section} После того как платёж зарегистрирован, пользователь может проводить экспресс-оплаты с использованием сервиса Skrill 1-Tap, или средства начнут списываться автоматически по заданным условиям регулярной оплаты. ### Изменение условий проведения регулярной оплаты {#section_qkm_klb_j3b .section} В любой момент можно изменить условия проведения оплаты, например, изменить время выполнения, дату окончания или сумму списаний. При изменении условий фактического списания средств со счета пользователя не происходит. ### Отмена проведения регулярной оплаты {#section_yk2_4lb_j3b .section} До момента истечения срока выполнения регулярной оплаты её можно отменить. Информация о формате запросов и параметрах, а также о формате оповещений о результатах приведена далее. ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на проведение повторяемой оплаты с применением метода Skrill Wallet необходимо учитывать следующее: 1. Должны использоваться отдельные POST-запросы к следующим конечным точкам: - [/v2/payment/skrill/sale](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-sale) — для регистрации повторяемой оплаты, - [/v2/payment/skrill/1-tap](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-1-tap) — для проведения экспресс-оплаты, - [/v2/payment/skrill/recurring/update](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-recurring-update) — для продления или изменения условий проведения регулярной оплаты, - [/v2/payment/skrill/recurring/cancel](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-recurring-cancel) — для отмены проведения регулярной оплаты. 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма платежа в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя; - `recurring` — объект, содержащий сведения о повторяемой оплате: - `register` — указатель необходимости зарегистрировать повторяемую оплату; - `id` — идентификатор зарегистрированной повторяемой оплаты; - `period` — указатель базового периода списаний \(для регулярной оплаты\); - `interval` — множитель для кратного увеличения периода списаний\(для регулярной оплаты\), актуальный при указании параметра `period` и указываемый в виде числа от `1` до `100`; - `time` — время выполнения последующих списаний\(для регулярной оплаты\), актуальное при указании параметра `period` и указываемое в формате `чч:мм:сс (UTC0)`; - `amount` — фиксированная сумма последующих списаний\(для регулярной оплаты\) в дробных единицах валюты; - `start_date` — дата первого списания\(для регулярной оплаты\), актуальная при указании параметра `scheduled_payment_id` и указываемая в формате `ДД-ММ-ГГГГ` \(должна быть как минимум на один день позже, чем дата регистрации\); - `expiry_day` — номер календарного дня, в который должна быть завершена повторяемая оплата\(в виде числа от `1` до `31`, без ведущего нуля, по григорианскому календарю\); - `expiry_month` — порядковый номер месяца, в котором должна быть завершена повторяемая оплата\(в виде числа от `1` до `12`, без ведущего нуля, по григорианскому календарю\); - `expiry_year` — порядковый номер года, в котором должна быть завершена повторяемая оплата\(в четырёхзначном формате `ГГГГ`, по григорианскому календарю\). **Прим.:** Если какой-либо из параметров, определяющих дату завершения повторяемой оплаты, не указывается в запросе, для него по умолчанию применяются следующие значения: - для календарного дня — последний календарный день актуального месяца \(указанного в параметре `expiry_month` или соответствующего дате регистрации повторяемой оплаты\); - для месяца — месяц регистрации повторяемой оплаты; - для года — год, превышающий год регистрации повторяемой оплаты на 10 лет. Так, при указании только года применяются последний календарный день того месяца, в который была зарегистрирована повторяемая оплата, и указанный год. Обязательность параметров в объекте `recurring` зависит от типа запроса. Дополнительные сведения представлены в спецификации [API](https://api-developers.ecommpay.com/). 3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на регистрацию экспресс оплаты с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, признак регистрации повторяемой оплаты, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hltzO5GMSkzd0Iq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0", "id": "customer123" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "register": true } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hltzO5GMSkzd0Iq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0", "id": "customer123" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "register": true } } ``` Корректный запрос на регистрацию регулярной оплаты с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, признак регистрации и условия проведения списаний при регулярной оплате, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQ6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "register": true, "amount": 1000, "interval": 1, "cycle": "week", "start_date": "21-11-2018", "expiry_year": 2025, "expiry_month": 11, "expiry_day": 25 } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQ6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "register": true, "amount": 1000, "interval": 1, "cycle": "week", "start_date": "21-11-2018", "expiry_year": 2025, "expiry_month": 11, "expiry_day": 25 } } ``` Корректный запрос на проведение экспресс-оплаты с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, идентификатор зарегистрированной повторяемой оплаты, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/Iq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890 } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/Iq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890 } } ``` Корректный запрос на изменение условий или продление регулярной оплаты с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, идентификатор зарегистрированной повторяемой оплаты, новые условия проведения, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890, "expiry_year": 2030, "expiry_month": 11, "expiry_day": 25 } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSq6lM2v8rmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890, "expiry_year": 2030, "expiry_month": 11, "expiry_day": 25 } } ``` Корректный запрос на отмену регулярной оплаты с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, идентификатор зарегистрированной повторяемой оплаты, а также подпись. ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQhmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890 } } ``` ```language-javascript { "general": { "project_id": 238, "payment_id": "TEST_15427007172789", "signature": "DH0v2pZnkK9hwytQ6/ZtDSQhmWQV4sbP+4A==", }, "customer": { "ip_address": "192.0.2.0" }, "payment": { "amount": 1000, "currency": "EUR" }, "recurring": { "id": 1234567890 } } ``` ### Формат оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах действий с повторяемыми оплатами с применением метода Skrill Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `238` была зарегистрирована повторяемая оплата. ```language-json { "project_id": 238, "payment": { "id": "SKRILL_1TAP", "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "method": "skrill", "sum": { "amount": 300, "currency": "EUR" }, "description": "skrill payment" }, "account": { "number": "customer@exmaple.com" }, "recurring": { "id": 1000030038, "currency": "EUR", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 1000034, "type": "recurring", "status": "success", "date": "2018-11-20T08:44:46+0000", "created_date": "2018-11-20T08:44:41+0000", "request_id": "07fd7ade7cf010", "sum_initial": { "amount": 300, "currency": "EUR" }, "sum_converted": { "amount": 300, "currency": "EUR" }, "provider": { "id": 1132, "payment_id": "2548950091", "date": "2018-11-20T08:44:45+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "x2tsnvLCRXZMX8Kwyr9acRq/yx56uZb7MTMdDEEg4w==" } ``` В следующем примере оповещение свидетельствует об обновлении условий проведения регулярной оплаты. ```language-json { "project_id": 238, "payment": { "id": "SKRILL_SALE_ID", "type": "purchase", "status": "success", "date": "2018-11-22T07:05:56+0000", "method": "skrill", "sum": { "amount": 100, "currency": "EUR" }, "description": "skrill payment" }, "recurring": { "id": 1000034, "currency": "EUR", "valid_thru": "2018-11-29T00:00:00+0000" }, "operation": { "id": 1972, "type": "recurring_update", "status": "success", "date": "2018-11-22T07:09:18+0000", "created_date": "2018-11-22T07:09:16+0000", "request_id": "ab70b4f9643bb0b", "sum_initial": { "amount": 0, "currency": "" }, "sum_converted": { "amount": 0, "currency": "" }, "provider": { "id": 1132, "payment_id": "", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "dVpS1keJ0Bf0ofZRcAak+1nLPlD9rkjcKYUEtgpsMA==" } ``` В следующем примере оповещение свидетельствует об отмене проведения регулярной оплаты. ```language-json { "project_id": 238, "payment": { "id": "SKRILL_SALE_ID", "type": "purchase", "status": "success", "date": "2018-11-22T07:05:56+0000", "method": "skrill", "sum": { "amount": 100, "currency": "EUR" }, "description": "skrill payment" }, "recurring": { "id": 1000034, "currency": "EUR", "valid_thru": "2018-11-29T00:00:00+0000" }, "operation": { "id": 1973, "type": "recurring_cancel", "status": "success", "date": "2018-11-22T07:14:51+0000", "created_date": "2018-11-22T07:14:50+0000", "request_id": "8d5ea1f970faaa76c4d10", "sum_initial": { "amount": 0, "currency": "" }, "sum_converted": { "amount": 0, "currency": "" }, "provider": { "id": 1132, "payment_id": "", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "QHS5h1BVZqHS39wlzC0pfgSZMTizyQsossGDUVMAQ==" } ``` В следующем примере оповещение свидетельствует об отклонении регистрации повторяемой оплаты. ```language-json { "project_id": 238, "payment": { "id": "123456", "type": "recurring", "status": "decline", "date": "2018-11-15T07:17:08+0000", "method": "skrill", "sum": { "amount": 200, "currency": "EUR" }, "description": "skrill payment" }, "errors": [ { "code": "2701", "message": "Rules Failed Code", "description": "fatal: RULES_FAILED_CODE" } ], "recurring": { "id": 100070, "currency": "EUR", "valid_thru": "-0001-11-30T00:00:00+0000" }, "operation": { "id": 10001868, "type": "recurring", "status": "decline", "date": "2018-11-15T07:17:08+0000", "created_date": "2018-11-15T07:17:08+0000", "request_id": "e5ee540d420d6ccd", "sum_initial": { "amount": 200, "currency": "EUR" }, "sum_converted": { "amount": 200, "currency": "EUR" }, "provider": { "id": 1132, "payment_id": "" }, "code": "2701", "message": "Rules Failed Code" }, "signature": "SgrlW4XHS8dJdGW3lDLaqTBaNimdWxwwXYGjCsFI5ig==" } ``` ### Дополнительные материалы {#section_xsx_3jl_ggb .section} Для организации работы с оплатами через Gate также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как взаимодействовать с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Разовая оплата в одну стадию](ru_platform_sms_model.md)— о том, как проводить разовые оплаты через Gate. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Возвраты через Gate {#ru_pm_skrill_gate_refund} ### Общая информация {#section_lsx_3jl_ggb .section} Для выполнения возврата через Gate с использованием метода Skrill Wallet со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема выполнения возврата выглядит следующим образом. ![](images/pm/ru_skrill_uml_gate_refund.svg) 1. Пользователь инициирует возврат. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на выполнение возврата. 3. Запрос на выполнение возврата поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md#)\). 6. В платёжной платформе обеспечиваются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис Skrill Wallet. 7. В сервисе Skrill Wallet выполняется обработка возврата. 8. От сервиса Skrill Wallet к платёжной платформе направляется информация о результате возврата. 9. От платёжной платформы к веб-сервису направляется оповещение о результате возврата. 10. На стороне веб-сервиса обеспечивается информирование пользователя о результате возврата. Информация о форматах запросов и оповещений, используемых для выполнения возвратов методом Skrill Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на возврат с применением метода Skrill Wallet необходимо учитывать следующее: 1. Для инициирования каждого возврата должен использоваться отдельный POST-запрос к конечной точке [/v2/payment/skrill/refund](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-refund). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, для которого необходимо выполнить возврат; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о возврате: - `description` — комментарий к возврату или его описание; - `amount` — сумма возврата в дробных единицах валюты \(является обязательной при частичном возврате\); - `currency` — код валюты возврата в формате ISO-4217 alpha-3\(является обязательным при частичном возврате\). - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемого возврата; - `account` — объект, содержащий сведения о кошельке пользователя: - `number` — адрес электронной почты, привязанный к кошельку или номер кошелька; 3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на возврат с применением метода Skrill Wallet должен содержать идентификаторы проекта и платежа, описание возврата, сведения о кошельке, идентификатор и IP-адрес пользователя, подпись, а также, при необходимости, код валюты и сумму возврата. ```language-json { "general": { "project_id": 239, "payment_id": "refund_02", "signature": "of8k9xerKSK4XL1QLTZYO56lCv+f1M0Sf/7eg==" }, "customer": { "ip_address": "192.0.2.0", "id": "123456" }, "account": { "number": "customer@example.com" }, "payment": { "amount": 10000, "currency": "USD", "description": "refund_02" } } ``` ```language-json { "general": { "project_id": 239, "payment_id": "refund_02", "signature": "of8k9xerKSK4XL1QLTZYO56lCv+f1M0Sf/7eg==" }, "customer": { "ip_address": "192.0.2.0", "id": "123456" }, "account": { "number": "customer@example.com" }, "payment": { "amount": 10000, "currency": "USD", "description": "refund_02" } } ``` ### Формат оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах возврата с применением метода Skrill Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `238` был выполнен возврат в размере `5,00 USD`. ``` { "project_id": 238, "payment": { "id": "TEST_1540911136903", "type": "purchase", "status": "partially refunded", "date": "2018-10-31T10:21:50+0000", "method": "skrill", "sum": { "amount": 1000, "currency": "USD" }, "description": "TEST_1540911136903" }, "account": { "number": "98330562" }, "customer": { "id": "1" }, "operation": { "id": 19050000001772, "type": "refund", "status": "success", "date": "2018-10-31T10:21:50+0000", "created_date": "2018-10-31T10:21:48+0000", "request_id": "798451cf786ffd28", "sum_initial": { "amount": 500, "currency": "USD" }, "sum_converted": { "amount": 500, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "2528878875", "date": "2018-10-31T10:21:50+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "h7/6IhL12R8LtOGDG0sC6XiSZHCy+o/QycuAUw==" } } ``` В следующем примере оповещение свидетельствует об отклонённом возврате. ```language-json { "project_id": 238, "payment": { "id": "TEST_1540911136903", "type": "purchase", "status": "success", "date": "2018-10-31T09:37:02+0000", "method": "skrill", "sum": { "amount": 1000, "currency": "USD" }, "description": "TEST_1540911136903" }, "account": { "number": "98330562" }, "customer": { "id": "1" }, "operation": { "id": 19050000001771, "type": "refund", "status": "decline", "date": "2018-10-31T10:18:52+0000", "created_date": "2018-10-31T10:18:50+0000", "request_id": "f93d3a958efde05af6416f1312b90dab09", "sum_initial": { "amount": 2000, "currency": "USD" }, "sum_converted": { "amount": 2000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2018-10-31T10:18:51+0000", "auth_code": "" }, "code": "3283", "message": "Refund amount more than init amount" }, "signature": "tKGW0j0R9BqygpoG6f56vyl2IzHyK+c18LdhiDqrA==" } ``` ### Дополнительные материалы {#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)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Выплаты через Gate {#ru_pm_skrill_gate_payout} ### Общая информация {#section_lsx_3jl_ggb .section} Для проведения выплаты через Gate с использованием метода Skrill Wallet со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема проведения выплаты выглядит следующим образом. ![](images/pm/ru_skrill_uml_gate_payout.svg) 1. Пользователь на стороне веб-сервиса инициирует выплату через Skrill Wallet. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение выплаты через Gate. 3. Запрос на проведение выплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее — в разделе [Формат ответа](ru_gate_interaction_organisation.md#). 6. В платёжной платформе обеспечиваются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис Skrill Wallet. 7. В сервисе Skrill Wallet выполняется обработка выплаты. 8. От сервиса Skrill Wallet к платёжной платформе направляется информация о результате выплаты. 9. От платёжной платформы к веб-сервису направляется оповещение о результате выплаты. 10. На стороне веб-сервиса обеспечивается информирование пользователя о результате выплаты. Информация о форматах запросов и оповещений, используемых для проведения выплат методом Skrill Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на выплаты с применением метода Skrill Wallet необходимо учитывать следующее: 1. Для инициирования каждой выплаты должен использоваться отдельный POST-запрос к конечной точке [/v2/payment/skrill/payout](https://api-developers.ecommpay.com/api-specification/skrill/post-v2-payment-skrill-payout). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма выплаты в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемой выплаты; - `account` — объект, содержащий сведения о счёте пользователя: - `number` — номер счёта. 3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на выплату с применением метода Skrill Wallet должен содержать идентификатор проекта, базовые сведения о платеже \(его идентификатор, сумму и код валюты\), идентификатор и IP-адрес пользователя, номер счёта и подпись. ```language-json { "general": { "project_id": 35, "payment_id": "Payment 12", "signature": "2tlMuYxLW9Yu6RETr8pLyfbOQ+9ajAteg5lPk96Q==" }, "customer": { "id": "207", "ip_address": "192.0.2.0" }, "payment": { "amount": 5000, "currency": "USD" }, "account": { "number": "account@example.com" } } ``` ```language-json { "general": { "project_id": 35, "payment_id": "Payment 12", "signature": "2tlMuYxLW9Yu6RETr8pLyfbOQ+9ajAteg5lPk96Q==" }, "customer": { "id": "207", "ip_address": "192.0.2.0" }, "payment": { "amount": 5000, "currency": "USD" }, "account": { "number": "account@example.com" } } ``` ### Формат оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах выплат с применением метода Skrill Wallet используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md#). В следующем примере оповещение свидетельствует о том, что в рамках проекта `68` была проведена выплата в размере `50,00 USD`. ```language-json { "project_id": 68, "payment": { "id": "86526901942", "type": "payout", "status": "success", "date": "2019-07-10T08:51:14+0000", "method": "skrill", "sum": { "amount": 5000, "currency": "USD" }, "description": "Credit" }, "account": { "number": "account@customer.com" }, "customer": { "id": "207" }, "operation": { "id": 21547000003559, "type": "payout", "status": "success", "date": "2019-07-10T08:51:14+0000", "created_date": "2019-07-10T08:50:59+0000", "request_id": "arsthbvcab34", "sum_initial": { "amount": 5000, "currency": "USD" }, "sum_converted": { "amount": 5000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-10T08:51:13+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Dnr3zBWrTAnz1C6fpYDZoyw4VGx3eMaO8A0IfvQ==" } ``` В следующем примере оповещение свидетельствует об отклонённой выплате. ```language-json { "project_id": 68, "payment": { "id": "15626281690123599", "type": "payout", "status": "decline", "date": "2019-07-09T23:22:59+0000", "method": "skrill", "sum": { "amount": 10000, "currency": "USD" }, "description": "Credit" }, "customer": { "id": "81801" }, "account": { "number": " jwrangler889@gmail.com" }, "operation": { "id": 21531000003532, "type": "payout", "status": "decline", "date": "2019-07-09T23:22:59+0000", "created_date": "2019-07-08T23:22:54+0000", "request_id": "6e3cf13e8a76", "sum_initial": { "amount": 10000, "currency": "USD" }, "sum_converted": { "amount": 10000, "currency": "USD" }, "provider": { "id": 1132, "payment_id": "", "date": "2019-07-08T23:22:56+0000", "auth_code": "" }, "code": "20502", "message": "Error during operation validation" }, "signature": "AiXDW6GnzyvtjMq2sIo7d7e+t9i8nCh5p/d3JYL==" } ``` ### Дополнительные материалы {#section_xsx_3jl_ggb .section} Для организации работы с выплатами через Gate также могут быть полезны следующие материалы: - [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как взаимодействовать с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Проведение платежей](ru_platform_payment_model.md)— о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций. - [Выплаты](ru_Gate_payout.md)— о том, как проводить выплаты через Gate. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Тестирование {#ru_pm_skrill_testing} ### Общая информация {#section_ujs_5q4_zjb .section} Для метода Skrill Wallet доступно тестирование разовых оплат через Payment Page и Gate, а также возвратов, выплат и экспресс-оплат \(1-Tap\) через Gate. Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности следует обращаться к специалистам технической поддержки Ecommpay. При тестировании платежей и операций следует учитывать, что в запросах должен указываться идентификатор тестового проекта, а интерфейсы эмулятора платёжных форм Payment Page и Skrill Wallet могут отличаться от рабочих. ![](images/pm/pm_skrill_test.png) ### Статусы тестовых платежей и операций {#section_vjs_5q4_zjb .section} При тестировании разовых оплат их итоговые статусы определяются исходя из сумм, указанных в запросах: - `decline` — при указании суммы `40000` или `40400`, - `success` — при указании любой другой суммы. При тестировании экспресс-оплат их статусы определяются исходя из сумм, указанных в запросах: - Для регистрации экспресс-оплат: - `decline` — при указании в запросе суммы `40000` или `40400`, - `success` — при указании в запросе любой другой суммы. - Для проведения экспресс-оплат: - `decline` — при указании суммы `80000` или `80800`, - `success` — при указании любой другой суммы. Также следует учитывать, что проводимым экспресс-оплатам присваиваются отдельные идентификаторы `payment_id`, но при этом для них используется единый идентификатор `recurring_id`. При тестировании возвратов их итоговые статусы определяются исходя из сумм, указанных в запросах: - `decline` — при указании суммы `50000` или `50500`, - `success` — при указании любой другой суммы. При тестировании выплат их итоговые статусы определяются исходя из сумм, указанных в запросах: - `decline` — при указании суммы `40000` или `40400`, - `success` — при указании любой другой суммы. ### Разовые оплаты через Payment Page {#section_syj_bt4_xjb .section} Для проведения тестовой разовой оплаты через Payment Page необходимо: 1. Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page. 2. Если в запросе не был указан метод `skrill` — выбрать его на странице эмулятора. 3. Щёлкнуть кнопку **Success** или **Decline** \(в зависимости от запрашиваемой суммы\). 4. Принять итоговое оповещение с информацией о результате оплаты. Более подробная информация о проведении оплат с использованием метода Skrill Wallet через Payment Page представлена в разделе [Разовые оплаты через Payment Page](pm_skrill.md#) этой статьи. ### Разовые оплаты через Gate {#section_ul5_gt4_xjb .section} Для проведения тестовой разовой оплаты через Gate необходимо: 1. Отправить в платёжную платформу корректный тестовый запрос на оплату. 2. Принять оповещение с данными для перенаправления. 3. Перейти по полученному URL и щёлкнуть кнопку **Success** или **Decline** \(в зависимости от запрашиваемой суммы\) — на странице эмулятора. 4. Принять итоговое оповещение с информацией о результате оплаты. Более подробная информация о проведении оплат с использованием метода Skrill Wallet через Gate представлена в разделе [Разовые оплаты через Gate](pm_skrill.md#) этой статьи. ### Экспресс-оплаты через Gate {#section_wb3_zsg_2kb .section} Как для регистрации, так и для проведения тестовой экспресс-оплаты через Gate необходимо отправить в платёжную платформу корректный тестовый запрос и принять итоговое оповещение с информацией о результате. Более подробная информация о проведении экспресс-оплат с использованием метода Skrill Wallet через Gate представлена в разделе [Повторяемые оплаты через Gate](pm_skrill.md#) этой статьи. ### Возвраты через Gate {#section_fdw_jt4_xjb .section} Для выполнения тестового возврата через Gate необходимо отправить в платёжную платформу корректный тестовый запрос на возврат средств, полученных по ранее проведенной тестовой оплате, и принять итоговое оповещение с информацией о результате. Следует учитывать, что выполнение тестового возврата на полную или частичную сумму возможно только в течение суток после проведения оплаты. Более подробная информация о выполнении возвратов с использованием метода Skrill Wallet представлена в разделе [Возвраты через Gate](pm_skrill.md#) этой статьи. ### Выплаты через Gate {#section_n22_lt4_xjb .section} Для проведения тестовой выплаты через Gate необходимо отправить в платёжную платформу корректный тестовый запрос и принять итоговое оповещение с информацией о результате. Более подробная информация о проведении выплат с использованием метода Skrill Wallet представлена в разделе [Выплаты через Gate](pm_skrill.md#) этой статьи. ## Анализ результатов проведения платежей {#ru_pm_skrill_dash_analysis} Для анализа информации о платежах и операциях, как в отдельности по методу Skrill Wallet, так и в совокупности с другими методами, можно использовать: - инструментарийинтерфейса Dashboard, с различными реестрами и аналитическими панелями; - отчёты в формате CSV, выгружаемые\(как разово, так и периодически\) черезраздел **Отчёты** интерфейса Dashboard; - данные в формате JSON, получаемыепо программным запросам черезинтерфейс Data API. С вопросами по анализу информации можно обращаться к разделам документации \([Dashboard](ru_dbl_about.md) и [Использование Data API](ru_dbl_api_protocol.md)\) и специалистам Ecommpay.