Philippines Over the Counter & ATM
Обзор
Philippines Over the Counter & ATM — платёжный метод для проведения оплат наличными в отделениях банков, а также наличными и платёжными картами через банкоматы. Для работы с этим методом доступно проведение оплат через Payment Page и Gate.
Характеристика
Тип платёжного метода | банковские платежи |
---|---|
Платёжные инструменты |
|
Регионы использования | PH |
Валюты платежей | PHP |
Конвертация валют | на стороне ecommpay |
Оплаты | + |
Выплаты | – |
Оплаты по сохранённым данным | – |
Полные возвраты | + |
Частичные возвраты | + |
Опротестования | – |
Особенности |
|
Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием Philippines Over the Counter & ATM задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства провайдера.
Основные операции
Интерфейсы | Суммы, PHP ** | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | минимум | максимум | базовое | предельное | |
Оплаты | + | – | + | – | 1,00 | 1 000 000,00 | 1 день | 2 дня |
Полные возвраты | * | – | * | – | * | * | * | * |
Частичные возвраты | * | – | * | – | * | * | * | * |
* Для проведения полных и частичных возвратов пользователям необходимо заполнять форму обращения.
** Информацию следует уточнять у курирующего менеджера ecommpay
*** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат с использованием метода Philippines Over the Counter & ATM выполняется с перенаправлением пользователей к сервису провайдера.
Рис.: Оплата через Payment Page
Рис.: Оплата через Gate
Поддержка со стороны банков
Проведение платежей с применением метода Philippines Over the Counter & ATM осуществляется в отделениях банков и банкоматах, поддерживающих работу с этим методом. Отделениям и банкоматам соответствуют свои идентификаторы, которые используются при инициировании оплат через Gate, а также при вызове Payment Page для отображения страницы с выбором метода оплаты. Далее в таблице в ознакомительных целях представлена информация об отделениях и банкоматах, которую следует уточнять у курирующего менеджера ecommpay, или с помощью запроса /v2/info/banks/atm/philippines/sale/list
, относящегося к группе запросов /v2/info/banks/{parentMethod}/{childMethod}/{operationType}/list
Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.
Рис.: Пример запроса списка банков
{ "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1000, "currency": "PHP" } }
Отделения банков и сети банкоматов | 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 |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода Philippines Over the Counter & ATM со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод Philippines Over the Counter & ATM можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется формирование Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сформированная платёжная форма.
- Пользователь выбирает для оплаты метод Philippines Over the Counter & ATM.
- Запрос на проведение оплаты через провайдера поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя в сервис провайдера.
- Данные для перенаправления пользователя передаются к Payment Page.
- Пользователь перенаправляется в сервис провайдера.
- Пользователь выполняет необходимые действия для оплаты.
- На стороне сервиса провайдера выполняется обработка платежа.
- Со стороны провайдера пользователю по электронной почте отправляется информация о результате оплаты.
- Пользователь перенаправляется к Payment Page.
- От сервиса провайдера к платёжной платформе направляется результат оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с Philippines Over the Counter & ATM, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа уникальный в рамках проекта;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа в дробных единицах.
- customer_id — идентификатор пользователя уникальный в рамках проекта.
- Дополнительно должен использоваться параметр customer_email — адрес электронной почты пользователя. Если параметр отсутствует в запросе, на Payment Page пользователю отображается поле для ввода недостающего значения. Если параметр присутствует в запросе, на Payment Page пользователю отображается поле с предварительно заполненным значением параметра, указанного в запросе, для подтверждения или изменения.
-
Можно настраивать отображение страницы Payment Page с выбором метода оплаты.
По умолчанию названия отделений банков и банкоматов объединены в группу и отображаются одной кнопкой Philippines Over the Counter / ATM, поэтому выбор отделения или банкомата осуществляется в два этапа. Сначала выбирается Philippines Over the Counter & ATM среди прочих методов, а затем на следующей странице с перечнем точек оплаты выбирается конкретное отделение или банкомат. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:
- Отображение отделений банков и банкоматов одной кнопкой Philippines Over the Counter / ATM среди прочих платёжных методов.
- Отображение отделений и банкоматов отдельными кнопками среди прочих методов. Для этого необходимо передавать параметр split_banks со значением
true
в параметре payment_methods_options."payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true}}"
- Отображение кнопок конкретных отделений или банкоматов (одной или нескольких). В списке методов может присутствовать метод Philippines Over the Counter & ATM. Для этого необходимо передавать идентификаторы отделений или банкоматов в параметре banks_id. Для отображения нескольких отделений или банкоматов необходимо перечислять идентификаторы через запятую c пробелом.
"payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true, \"banks_id\": [2421, 2371]}}"
- Отображение только отделений и банкоматов одной кнопкой Philippines Over the Counter / ATM. Для этого используется предварительный выбор метода Philippines Over the Counter & ATM. Необходимо передавать код платежного метода
philippines-atm
в параметре force_payment_method. Пользователю сразу открывается страница с выбором отделений и банкоматов. - Отображение отдельных отделений или сети банкоматов. Для этого используется предварительный выбор метода Philippines Over the Counter & ATM. Необходимо передавать код платежного метода
philippines-atm
в параметре force_payment_method и идентификатор отделения или сети банкоматов banks_id в параметре payment_methods_options.Ниже приведён пример запроса на открытие Payment Page с предварительно выбранной сетью банкоматов.
Рис.: Пример запроса на оплату с выбором сети банкоматов
{ payment_id: 'X03936', payment_amount: 10000, payment_currency: 'PHP', project_id: 123, customer_id: 'customer1', customer_email: 'test@example.com', force_payment_method: 'philippines-atm', payment_methods_options: '{\"philippines_atm\": {\"banks_id\": [2521]}}', signature: "kUi2x9dKHAVNU0FYldJrxh+...tT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Philippines Over the Counter & ATM должен содержать идентификаторы проекта и платежа, валюту и сумму платежа, а также адрес электронной почты пользователя и подпись:
{ payment_id: 'ECT_TEST_1547', payment_amount: 1000, payment_currency: 'PHP', project_id: 210, customer_email: 'test@example.com', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+K...tT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
Формат оповещений
Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 PHP
.
Рис.: Пример оповещения о проведении оплаты
{ "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==" } }
В следующем примере оплата была отклонена из-за превышения максимального ограничения суммы:
Рис.: Пример оповещения об отказе в проведении оплаты
{ "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==" } }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода Philippines Over the Counter & ATM со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Осуществить перенаправление в сервис провайдера.
- Принять оповещение от платежной платформы ecommpay о результате оплаты.
Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату через Philippines Over the Counter & ATM.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
- На стороне провайдера выполняется обработка запроса на оплату.
- От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя на сайт провайдера.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к провайдеру в объекте redirect_data.
- Пользователь перенаправляется в сервис провайдера.
- Пользователь выполняет необходимые действия для оплаты.
- На стороне сервиса провайдера выполняется обработка платежа.
- Со стороны сервиса провайдера пользователю по электронной почте отправляется информация о результате оплаты.
- Пользователь перенаправляется к веб-сервису.
- От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициации оплат методом Philippines Over the Counter & ATM через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.
Формат запросов
При работе с запросами на оплаты с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее:
- Должен использоваться запрос
v2/payment/atm/philippines/sale
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/atm/{payment_method}/sale. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции,
- payment_id — идентификатор платежа, уникальный в рамках проекта,
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в дробных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3;
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор, уникальный в рамках проекта,
- email — адрес электронной почты,
- ip_address — используемый IP-адрес;
- account — объект, содержащий сведения об отделениях или сети банкоматов:
- bank_id — идентификатор отделений или сети банкоматов;
- return_url — объект, содержащий URL для перенаправления пользователя в веб-сервис:
- success — URL для перенаправления пользователя в случае успешной оплаты.
- general — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Philippines Over the Counter & ATM должен содержать идентификаторы проекта и платежа, валюту и сумму платежа, подпись, идентификатор отделения банка или сети банкоматов, данные пользователя и URL для перенаправления:
Рис.: Пример запроса на оплату
{ "general": { "project_id": 580, "payment_id": "test_atm_sale", "signature": "pgwRHcfv2OTsdILn33R5Nr/ymu08nMx/9FSeIqYHTTd6YhIiLWw==" }, "payment": { "amount": 1000, "currency": "PHP" }, "customer": { "email": "test_customer@example.com", "ip_address": "1.1.1.1", "id": "customer123" }, "account": { "bank_id": 2681 }, "return_url": { "success": "http://example.com/success" } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт провайдера необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы сайта методом, указанным в redirect_data.method.
Далее приведён фрагмент оповещения, содержащего данные для перенаправления.
"redirect_data": {
"body": {},
"method": "GET",
"url": "https://test.ph/Pay.aspx?tokenid=3f511c2d&procid=BITC"
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 PHP
.
Рис.: Пример оповещения о проведении оплаты
{ "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==" } }
В следующем примере оплата была отклонена из-за превышения максимального ограничения суммы:
Рис.: Пример оповещения об отказе в проведении оплаты
{ "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==" } }
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода Philippines Over the Counter & ATM доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.