# Philippines Over the Counter & ATM {#pm_philippines_atm} статья о работе с платёжным методом Philippines Over the Counter & ATM, который позволяет проводить платежи в филиппинских песо с использованием наличных и платёжных карт в Филиппинах и для которого в платформе Ecommpay поддерживаются оплаты **На уровень выше:**[Банковские платежи](ru_pm_bankpayments.md) ## Обзор {#ru_pm_philippines_atm_overview} статья о работе с платёжным методом Philippines Over the Counter & ATM, который позволяет проводить платежи в филиппинских песо с использованием наличных и платёжных карт в Филиппинах и для которого в платформе Ecommpay поддерживаются оплаты ### Введение {#section_l5l_dyx_pzb .section} Philippines Over the Counter & ATM — метод, позволяющий проводить платежи в филиппинских песо с использованием наличных и платёжных карт в Филиппинах. Для этого метода в платёжной платформе Ecommpay поддерживаются оплаты. В этой статье представлена информация о работе с методом Philippines Over the Counter & ATM: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач. ### Характеристика {#section_tbf_2zk_ggb .section} |Тип платёжного метода|банковские платежи| |Платёжные инструменты|- наличные - платёжные карты | |Регионы использования|[PH](references/ru/countries/PH.md)| |Валюты платежей|[PHP](references/ru/currencies/PHP.md)| |Конвертация валют|на стороне Ecommpay| |Разовые оплаты|+| |Повторяемые оплаты|–| |Полные возвраты|+| |Частичные возвраты|+| |Выплаты|–| |Опротестования|–| |Особенности|- поддержка полных и частичных возвратов осуществляется со стороны провайдера - можно задавать дополнительные параметры при формировании Payment Page | |Организация и стоимость подключения|по согласованию с курирующим менеджером Ecommpay; дополнительную информацию можно получить в [ecommshop](https://ecommpay.com/shop/payment-methods/atm-philippines/)| ### Схема работы {#section_tsp_gzk_ggb .section} В проведении отдельного платежа с использованием метода Philippines Over the Counter & ATM задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа Ecommpay, а также технические средства сервиса провайдера. ![](images/pm/ru_philippinesover_functional.svg) ### Основные операции {#section_rnx_4cl_ggb .section} Для проведения платежей и выполнения операций с использованием метода Philippines Over the Counter & ATM могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard \(с применением платёжных ссылок\) При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения. ||Суммы, [PHP](references/ru/currencies/PHP.md)¹|Время²| |минимум|максимум|базовое|предельное| |--|----------------------------------------------|------| |-------|--------|-------|----------| |Оплаты|1,00|1 000 000,00|1 день|2 дня| |Возвраты|\*|\*|\*|\*| \* Для проведения полных и частичных возвратов пользователям необходимо заполнять [форму обращения](https://www.dragonpay.ph/refund). **Прим.:** 1. Информацию следует уточнять у курирующего менеджера Ecommpay. 2. Базовое и предельное время определяются следующим образом: - Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя. Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа \([подробнее](ru_Gate_payment_status_request.md)\). - Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус `decline`. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки Ecommpay. ### Сценарии использования {#section_fgt_sdl_ggb .section} Проведение оплат с использованием метода Philippines Over the Counter & ATM осуществляется с перенаправлением пользователей к сервису провайдера. ![](images/pm/ru_philippinesover_interfaces_pp.svg "Оплата через Payment Page") ![](images/pm/ru_philippinesover_interfaces_gate.svg "Оплата через Gate") Вместе с тем, к особенностям работы с методом Philippines Over the Counter & ATM можно отнести то, что для каждого платежа с использованием этого метода должен быть выбран конкретное отделение банков или сеть банкоматов. При работе через Payment Page, как правило, выбор банка осуществляется пользователем уже в платёжной форме, но при вызовах Payment Page с предварительным выбором метода и отделения банков или сети банкоматов, а также при инициировании оплат через Gate отделение или сеть должна быть выбрана на стороне веб-сервиса и в запросах должен указываться идентификатор этого отделения или сети. Возможные варианты выбора отделения или сети при работе через Payment Page описаны в разделе [Оплаты через Payment Page](pm_philippines_atm.md) этой статьи, а способы работы с идентификаторами отделений и сетей — в следующем подразделе, [Поддержка со стороны отделений банков и сетей банкоматов](pm_philippines_atm.md#section_rqp_zdl_ggb). ### Поддержка со стороны отделений банков и сетей банкоматов {#section_rqp_zdl_ggb .section} В следующей таблице в ознакомительных целях приведены названия и идентификаторы отделения банков и сетей банкоматов, поддерживающих работу с методом Philippines Over the Counter & ATM. |Отделения банков и сети банкоматов|ID| |----------------------------------|--| |AUB Online/Cash Payment|485| |Banco de Oro ATM|2331| |Banco de Oro Cash Payment|2341| |BDO Cash Deposit w/ Ref|2351| |BDO Network Bank \(formerly ONB\) Cash Dep|2361| |BPI Over-the-Counter|2371| |BPI Bills Payment|2381| |Chinabank ATM/Cash Payment|2391| |EastWest Online/Cash Payment|2411| |EastWest Bank Over-the-counter|2401| |Landbank Cash Payment|2421| |Metrobank Cash Payment|2441| |Metrobank Over-the-Counter|2431| |PNB Cash Payment|2471| |PNB e-Banking Bills Payment|2301| |PNB Over-the-Counter|2461| |PNB Remit|2451| |RCBC Cash Payment|2481| |RCBC Savings Cash Payment|2511| |RCBC Over-the-Counter/ATM|2491| |RobinsonsBank Over-the-Counter|2501| |SB Regular OTC|2541| |Security Bank ATM|2521| |Security Bank Cash Payment|2531| |UCPB ATM/Cash Payment|2571| |UCPB Over-the-Counter/ATM|2581| |Unionbank ATM|2561| |Unionbank Cash Payment|2551| Поскольку со временем состав доступных отделений банков и сетей банкоматов может меняться, для получения актуальной информации рекомендуется использовать POST-запрос к конечной точке `/v2/info/banks/atm/philippines/sale/list`, которая относится к группе конечных точек [/v2/info/banks/\{parentMethod\}/\{childMethod\}/\{operationType\}/list](https://api-developers.ecommpay.com/api-specification/requests-for-information/post-v2-info-banks-parent-method-child-method-operation-type-list) Gate API.В этом запросе должны указываться идентификатор проекта, идентификатор, валюта и сумма платежа и подпись к этим данным; при этом рекомендуется передавать реальные данные о платеже, но допускается и указание произвольных значений. ```language-json { "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1000, "currency": "PHP" } } ``` ```language-json [ { "id": 2331, // Индентификатор отделения банка или сети банкоматов "abbr": "BDOA", // Служебная аббревиатура отделения банка или сети банкоматов, используемая в платформе "name": "Banco de Oro ATM", // Основное (международное) название отделения банка или сети банкоматов "nativeName": "Banco de Oro ATM", // Локальное (национальное или региональное) название отделения банка или сети банкоматов "currencies": [ // Массив с информацией о валютах, поддерживаемых отделеним банка или сетью банкоматов { "id": 1076, // Идентификатор валюты в платёжной платформе "alpha_3_4217": "PHP", // Буквенный код валюты платежа в формате ISO-4217 alpha-3 "number_3_4217": "608", // Цифровой код валюты платежа в формате ISO-4217 alpha-3 "exponent": 2 // Число дробных разрядов валюты } ] }, { "id": 2371, "abbr": "BPIX", "name": "BPI Over-the-Counter", "nativeName": "BPI OTC", "currencies": [ { "id": 1076, "alpha_3_4217": "PHP", "number_3_4217": "608", "exponent": 2 } ] }, { "id": 2451, "abbr": "PNBR", "name": "PNB Remit", "nativeName": "PNB Remit", "currencies": [ { "id": 1076, "alpha_3_4217": "PHP", "number_3_4217": "608", "exponent": 2 } ] } ] ``` С вопросами о работе с отделениями банков и сетями банкоматов, поддерживающими метод Philippines Over the Counter & ATM, можно обращаться к курирующему менеджеру Ecommpay. ## Оплаты через Payment Page {#ru_pm_philippines_atm_pp_purchase} ### Общая информация {#section_gtg_vxk_m2b .section} Для проведения оплаты через Payment Pageс использованием метода Philippines Over the Counter & ATM со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay и принять оповещение о результате.Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_philippinesover_uml_pp.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Payment Page. 3. Запрос на проведение оплаты поступает в платёжную платформу. 4. В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи. 5. Осуществляется подготовка Payment Page согласно параметрам проекта и вызова. 6. Пользователю отображается платёжная форма. 7. Пользователь выбирает для оплаты метод Philippines Over the Counter & ATM. 8. В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Philippines Over the Counter & ATM. 9. В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис провайдера. 10. В сервисе провайдера выполняется обработка запроса на оплату. 11. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя к сервису провайдера. 12. Данные для перенаправления пользователя передаются к Payment Page. 13. Пользователь перенаправляется к сервису провайдера. 14. Пользователь выполняет необходимые действия для оплаты. 15. В сервисе провайдера выполняется обработка платежа. 16. Информация о результате оплаты отображается пользователю в сервисе провайдера. 17. Пользователь перенаправляется к Payment Page. 18. От сервиса провайдера к платёжной платформе направляется информация о результате оплаты. 19. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 20. От платёжной платформы к Payment Page направляется информация о результате оплаты. 21. Информация о результате оплаты отображается пользователю на Payment Page. Как правило, после того как пользователь на стороне веб-сервиса подтверждает готовность перейти к оплате, он перенаправляется к Payment Page, выбирает платёжный метод и, в случае работы с методом Philippines Over the Counter & ATM, дополнительно выбирает одно из доступных отделений банков или сеть банкоматов. Вместе с тем, в некоторых ситуациях могут быть актуальны другие варианты выбора платёжного метода и отделения или сети. Например, при открытии Payment Page можно сразу перенаправлять пользователя к выбору отделения или сети либо ограничивать список поддерживаемых отделений или сетей для отдельного платежа и отображать пользователю только кнопки выбора целевых отделений или сетей. Конкретный вариант выбора платёжного метода и отделений или сети определяется через параметры, указанные в запросе на открытие Payment Page \([подробнее](pm_philippines_atm.md#section_p5j_fgl_ggb)\), при этом допустимы следующие варианты: - 1 — при открытии платёжной формы в ней последовательно отображаются отдельные страницы для выбора метода и отделения или сети, и пользователь выбирает сначала метод, а затем банк \(этот вариант используется по умолчанию\); - 2 — при открытии платёжной формы в ней отображается страница с кнопками выбора методов и отделения или сети для данного метода, и пользователь выбирает одно из этих отделений или сеть; - 3 — при открытии платёжной формы в ней отображается страница с кнопками выбора всех доступных отделений и сетей для данного метода, и пользователь выбирает одно из этих отделений или сети; - 4 — при открытии платёжной формы в ней отображается страница с кнопками выбора заданных отделений или сетей для данного метода, и пользователь выбирает одно из этих отделений или сеть; - 5 — при открытии платёжной формы в ней отображается страница подтверждения перенаправления к сервису заданного отделения или сети, и пользователь соглашается с этим перенаправлением. ![](images/universal/pm/splits/ru_asian_banking_pp_1_philippines_atm.svg "1 — Выбор метода и отделения или сети") ![](images/universal/pm/splits/ru_asian_banking_pp_2_philippines_atm.svg "2 — Выбор отделения или сети среди доступных методов") ![](images/universal/pm/splits/ru_asian_banking_pp_4_philippines_atm.svg "3 — Выбор среди доступных отделений или сетей") ![](images/universal/pm/splits/ru_asian_banking_pp_5_philippines_atm.svg "4 — Выбор среди заданных отделений или сетей") ![](images/universal/pm/splits/ru_asian_banking_pp_6_philippines_atm.svg "5 — Перенаправление к сервису заданного отделения или сети") Информация о форматах запросов и оповещений, используемых для проведения оплат методом Philippines Over the Counter & ATM через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье [Организация взаимодействия](ru_pp_interaction_organisation.md). ### Формат запросов {#section_p5j_fgl_ggb .section} При формировании запросов на открытие платёжной формы с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее: 1. Должен использоваться базовый минимум параметров, обязательный для любого платежа: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `payment_currency` — код валюты платежа в формате ISO-4217 alpha-3; - `payment_amount` — сумма платежа в дробных единицах валюты; - `customer_id` — идентификатор пользователя в рамках проекта. 2. Дополнительно рекомендуется указывать адрес электронной почты пользователя в параметре `customer_email`. Если этот параметр отсутствует в запросе, в платёжной форме может отображаться поле для ввода пользователем недостающего значеня \(подробнее — в разделе [Дополнение информации о платежах](ru_pp_clarification.md)\). 3. Вариант выбора отделения банка или сети банкоматов может определяться следующим образом: 1. *Через выбор в Payment Page метода и отделения или сети \(1\)* — как вариант по умолчанию, применяемый, если не указываются параметр `force_payment_method` и объект `payment_methods_options`, упоминаемые в подпунктах *2–5*. 2. *Через выбор в Payment Page отделения или сети среди доступных методов \(2\)* — для этого в объекте `payment_methods_options` необходимо указывать объект `philippines_atm`, содержащий параметр `split_banks` со значением `true`: ```language-json "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true}}" ``` 3. *Через выбор в Payment Page отделения или сети из числа доступных \(3\)* — для этого в параметре `force_payment_method` необходимо указывать код предварительного выбора метода `philippines-atm`. 4. *Через выбор в Payment Page отделения или сети из числа заданных \(4\)* — для этого необходимо указывать: - код `philippines-atm` в параметре `force_payment_method`; - объект `payment_methods_options` с объектом `philippines_atm`, который должен содержать параметр `split_banks` со значением `true` и объект `banks_id` с массивом, включающим в себя идентификаторы целевых отделений и сетей: ```language-json "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true, \"banks_id\": [2421, 2371]}}" ``` 5. *Через подтверждение в Payment Page перенаправления к сервису заданного отделения или сети \(5\)* — для этого необходимо указывать: - код `philippines-atm` в параметре `force_payment_method`; - объект `payment_methods_options` с объектом `philippines_atm`, который должен содержать параметр `split_banks` со значением `true` и объект `banks_id` с массивом, включающим в себя идентификатор целевого отделения или сети: ```language-json "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true, \"banks_id\": [2421]}}" ``` 4. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page \([подробнее](ru_PP_Parameters.md)\). 5. После указания всех целевых параметров необходимо составлять подпись \([подробнее](ru_platform_signature.md)\). Таким образом, корректный запрос на открытие платёжной формы с применением метода Philippines Over the Counter & ATM должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор и адрес электронной почты пользователя, а также подпись. ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "PHP", "customer_id": "customer1", "customer_email": "test@example.com", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "PHP", "customer_id": "customer1", "customer_email": "test@example.com", "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` Вместе с тем, в случае с выбором из заданных отделений и сетей \(4\), запрос на открытие Payment Page может содержать расширенный набор данных. ```language-json { "project_id": 120, "payment_id": "580", "payment_amount": 1000, "payment_currency": "USD", "customer_id": "customer1", "customer_email": "test@example.com", "force_payment_method": "philippines-atm", "payment_methods_options": {"philippines_atm": {"split_banks": true, "banks_id": [2421, 2371]}} "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg==" } ``` ### Формат оповещений {#section_dpx_2hl_ggb .section} Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md). В следующем примере оповещение свидетельствует о том, что в рамках проекта `239` была проведена оплата в размере `10,00 PHP`. ```language-json { "project_id": 239, "payment": { "id": "EPfa87-bcfd", "type": "purchase", "status": "success", "date": "2020-03-06T14:11:00+0000", "method": "Philippines atm", "sum": { "amount": 1000, "currency": "PHP" }, "description": "" }, "operation": { "id": 464, "type": "sale", "status": "success", "date": "2020-03-06T14:11:00+0000", "created_date": "2020-03-06T14:10:34+0000", "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000001", "sum_initial": { "amount": 1000, "currency": "PHP" }, "sum_converted": { "amount": 1000, "currency": "PHP" }, "code": "0", "message": "Success", "provider": { "id": 1369, "payment_id": "7QKID3P3", "auth_code": "", "endpoint_id": "BOG", "date": "2020-03-06T14:10:54+0000" } }, "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGoA==" } } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 239, "payment": { "id": "EPfa87-bcfc", "type": "purchase", "status": "decline", "date": "2020-03-07T14:11:00+0000", "method": "Philippines atm", "sum": { "amount": 200000000, "currency": "PHP" }, "description": "" }, "operation": { "id": 465, "type": "sale", "status": "decline", "date": "2020-03-07T14:11:00+0000", "created_date": "2020-03-06T14:10:34+0000", "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000002", "sum_initial": { "amount": 200000000, "currency": "PHP" }, "sum_converted": { "amount": 200000000, "currency": "PHP" }, "code": "20101", "message": "Decline due to amount or frequency limit", "provider": { "id": 1369, "payment_id": "7QKID3P3", "auth_code": "", "endpoint_id": "BOG", "date": "2020-03-06T14:10:54+0000" } }, "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGob==" } } ``` ### Дополнительные материалы {#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_philippines_atm_gate_purchase} ### Общая информация {#section_lsx_3jl_ggb .section} Для проведения оплаты через Gate с использованием метода Philippines Over the Counter & ATM со стороны веб-сервиса необходимо: 1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL Ecommpay. 2. Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису провайдера. 3. Принять итоговое оповещение от платёжной платформы. Полная схема проведения оплаты выглядит следующим образом. ![](images/pm/ru_philippinesover_uml_gate.svg) 1. Пользователь на стороне веб-сервиса инициирует оплату с использованием метода Philippines Over the Counter & ATM. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проведение оплаты через Gate. 3. Запрос на проведение оплаты поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется приём запроса с проверкой наличия обязательных параметров и корректной подписи. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности \([подробнее](ru_gate_interaction_organisation.md)\). 6. В платёжной платформе выполняются дальнейшая обработка запроса \(с проверкой согласованности параметров\) и его отправка в сервис провайдера. 7. В сервисе провайдера выполняется обработка запроса на оплату. 8. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя к сервису провайдера. 9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к сервису провайдера. 10. Пользователь перенаправляется к сервису провайдера. 11. Пользователь выполняет необходимые действия для оплаты. 12. В сервисе провайдера выполняется обработка платежа. 13. Пользователю отображается информация о результате оплаты. 14. Пользователь перенаправляется к веб-сервису. 15. От сервиса провайдера к платёжной платформе направляется информация о результате оплаты. 16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. 17. На стороне веб-сервиса обеспечивается информирование пользователя о результате оплаты. Информация о форматах запросов и оповещений, используемых для проведения оплат методом Philippines Over the Counter & ATM через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье [Организация взаимодействия](ru_gate_interaction_organisation.md). ### Формат запросов {#section_osx_3jl_ggb .section} При работе с запросами на оплаты с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее: 1. Должен использоваться запрос `v2/payment/atm/philippines/sale`, отправляемый методом POST. Этот запрос относится к группе запросов [/v2/payment/atm/\{payment\_method\}/sale](https://api-developers.ecommpay.com/api-specification/atm/post-v2-payment-atm-payment-method-sale). 2. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке `v2/payment/atm/philippines/sale`. Эта точка относится к группе [/v2/payment/atm/\{payment\_method\}/sale](https://api-developers.ecommpay.com/api-specification/atm/post-v2-payment-atm-payment-method-sale). 3. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `payment_id` — идентификатор платежа, уникальный в рамках проекта; - `signature` — подпись запроса, составленная после указания всех целевых параметров \(подробнее — в разделе [Работа с подписью к данным](ru_platform_signature.md)\); - `payment` — объект, содержащий сведения о платеже: - `amount` — сумма платежа в дробных единицах валюты; - `currency` — код валюты платежав формате ISO-4217 alpha-3; - `customer` — объект, содержащий сведения о пользователе: - `id` — идентификатор пользователя, уникальный в рамках проекта; - `ip_address` — IP-адрес пользователя, актуальный для инициируемого платежа; - `email` — адрес электронной почты пользователя; - `account` — объект, содержащий сведения об отделениях или сети банкоматов: - `bank_id` — идентификатор отделения или сети банкоматов; - `return_url` — бъект, содержащий URL для перенаправления пользователя в веб-сервис: - `success` — URL для перенаправления пользователя после проведения оплаты. 4. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации. Таким образом, корректный запрос на оплату с применением метода Philippines Over the Counter & ATM должен содержать идентификатор проекта, базовые сведения о платеже \(идентификатор, сумму и код валюты\), идентификатор, IP-адрес и адрес электронной почты пользователя, идентификатор отделения банка или сети банкоматов, URL для перенаправления и подпись. ```language-json { "general": { "project_id": 580, "payment_id": "test_atm_sale", "signature": "pgwRHcfv2O08nMx/9FSeIqYHTTd6YhIiLWw==" }, "payment": { "amount": 1000, "currency": "PHP" }, "customer": { "email": "test_customer@example.com", "ip_address": "192.0.2.0", "id": "customer123" }, "account": { "bank_id": 2681 }, "return_url": { "success": "http://example.com/success" } } ``` ```language-json { "general": { "project_id": 580, "payment_id": "test_atm_sale", "signature": "pgwRHcfv2O08nMx/9FSeIqYHTTd6YhIiLWw==" }, "payment": { "amount": 1000, "currency": "PHP" }, "customer": { "email": "test_customer@example.com", "ip_address": "192.0.2.0", "id": "customer123" }, "account": { "bank_id": 2681 }, "return_url": { "success": "http://example.com/success" } } ``` ### Формат промежуточных оповещений для перенаправления пользователей {#section_x23_cpg_vgb .section} Для перенаправления пользователей от веб-сервиса мерчанта к сервису Philippines Over the Counter & ATM при проведении каждого платежа с использованием метода Philippines Over the Counter & ATM необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект `redirect_data`. Формат таких оповещений является типовым \([подробнее](ru_platform_callbacks.md)\), при этом в состав объекта `redirect_data` включаются следующие объекты и параметры: - `body` — объект с данными для отправки в теле запроса; - `method` — параметр с указанием HTTP-метода отправки запроса\(`GET` или `POST`\); - `url` — параметр со ссылкой для перенаправления. ```language-json "redirect_data": { "body": {}, "method": "GET", "url": "https://test.ph/Pay.aspx?tokenid=3f511c2d&procid=BITC" } ``` ### Формат итоговых оповещений {#section_wsx_3jl_ggb .section} Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется типовой формат, описание которого представлено в разделе [Работа с оповещениями](ru_platform_callbacks.md). В следующем примере оповещение свидетельствует о том, что в рамках проекта `239` была проведена оплата в размере `10,00 PHP`. ```language-json { "project_id": 239, "payment": { "id": "EPfa87-bcfd", "type": "purchase", "status": "success", "date": "2020-03-06T14:11:00+0000", "method": "Philippines atm", "sum": { "amount": 1000, "currency": "PHP" }, "description": "" }, "operation": { "id": 464, "type": "sale", "status": "success", "date": "2020-03-06T14:11:00+0000", "created_date": "2020-03-06T14:10:34+0000", "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000001", "sum_initial": { "amount": 1000, "currency": "PHP" }, "sum_converted": { "amount": 1000, "currency": "PHP" }, "code": "0", "message": "Success", "provider": { "id": 1369, "payment_id": "7QKID3P3", "auth_code": "", "endpoint_id": "BOG", "date": "2020-03-06T14:10:54+0000" } }, "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGoA==" } } ``` В следующем примере оповещение свидетельствует об отклонённой оплате. ```language-json { "project_id": 239, "payment": { "id": "EPfa87-bcfc", "type": "purchase", "status": "decline", "date": "2020-03-07T14:11:00+0000", "method": "Philippines atm", "sum": { "amount": 200000000, "currency": "PHP" }, "description": "" }, "operation": { "id": 465, "type": "sale", "status": "decline", "date": "2020-03-07T14:11:00+0000", "created_date": "2020-03-06T14:10:34+0000", "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000002", "sum_initial": { "amount": 200000000, "currency": "PHP" }, "sum_converted": { "amount": 200000000, "currency": "PHP" }, "code": "20101", "message": "Decline due to amount or frequency limit", "provider": { "id": 1369, "payment_id": "7QKID3P3", "auth_code": "", "endpoint_id": "BOG", "date": "2020-03-06T14:10:54+0000" } }, "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGob==" } } ``` ### Дополнительные материалы {#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)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций. ## Анализ результатов проведения платежей {#ru_pm_philippines_atm_dash_analysis} Для анализа информации о платежах и операциях, как в отдельности по методу Philippines Over the Counter & ATM, так и в совокупности с другими методами, можно использовать: - инструментарийинтерфейса Dashboard, с различными реестрами и аналитическими панелями; - отчёты в формате CSV, выгружаемые\(как разово, так и периодически\) черезраздел **Отчёты** интерфейса Dashboard; - данные в формате JSON, получаемыепо программным запросам черезинтерфейс Data API. С вопросами по анализу информации можно обращаться к разделам документации \([Dashboard](ru_dbl_about.md) и [Использование Data API](ru_dbl_api_protocol.md)\) и специалистам Ecommpay.