Banks of the Philippines
Обзор
Banks of the Philippines — метод интернет-банкинга для проведения платежей через Филиппинские банки. Для работы с этим методом доступно проведение оплат через Payment Page и Gate, а также выплат через Gate.
Характеристика
Тип платёжного метода | интернет-банкинг |
---|---|
Регионы использования | PH |
Валюты платежей | PHP |
Конвертация валют | доступна только для оплат — на стороне ECommPay |
Оплаты | + |
Выплаты | + |
Оплаты по сохранённым данным | – |
Полные возвраты | + |
Частичные возвраты | + |
Опротестования | – |
Особенности | поддержка полных и частичных возвратов осуществляется со стороны провайдера |
Организация и стоимость подключения | По согласованию с курирующим менеджером ECommPay |
Схема работы
В проведении выплаты с использованием метода Banks of the Philippines задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ECommPay, а также сервис одного из банков, поддерживающих работу с этим методом.
Основные операции
Интерфейсы | Суммы, PHP | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard (Old Dashboard) | Минимум | Максимум | Базовое | Предельное | |
Оплаты | + | – | + | – | 1,00 | 1 000 000,00 | 30 минут | 1 день |
Полные возвраты | * | – | * | – | * | * | * | * |
Частичные возвраты | * | – | * | – | * | * | * | * |
Выплаты | – | – | + | – | 10,00 | 100 000,00 | до 10 минут | 48 часов |
*Для проведения полных и частичных возвратов пользователям необходимо заполнять форму обращения.
** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ECommPay.
Сценарии использования
Проведение оплат с использованием метода Banks of the Philippines выполняется с перенаправлением пользователей к сервису Banks of the Philippines, выплат — с уведомлением пользователей со стороны веб-сервиса.
Рис.: Оплата через Payment Page
Рис.: Оплата через Gate
Рис.: Выплата через Gate
Поддержка со стороны банков
Проведение платежей с применением метода Banks of the Philippines осуществляется через банки, поддерживающие работу с этим методом. Каждому банку соответствуют свой идентификатор, который используется при инициировании выплат через Gate, и буквенный код, который используется в оповещениях о результатах выплат для идентификации банка.
В таблице далее в ознакомительных целях представлена информация об этих банках. Эту информацию следует уточнять у курирующего менеджера ECommPay или с помощью запросов /v2/info/banks/philippines/payout/list
(для выплат) и /v2/info/banks/philippines/sale/list
(для оплат), относящихся к группе запросов /v2/info/banks/{payment_method}/{operationType}/list.
Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.
Рис.: Пример запроса списка банков
{ "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1500, "currency": "PHP" } }
Банк | Оплата | Выплата | ID | Код |
---|---|---|---|---|
AUB Online/Cash Payment | – | + | 485 | AUB |
Bank of Commerce | + | + | 1561 | BOC |
BDO Internet Banking | – | + | 486 | BDO |
BDO Mobile Internet Banking | + | – | 2251 | BDOM |
BDO Corporate Internet Banking | + | – | 2241 | BDOC |
BDO Internet Banking (Bills Payment) | + | – | 2231 | BDOP |
BPI ExpressOnline/Mobile (Fund Transfer) | + | + | 487 | BPI |
BPI Family Bank | – | + | 488 | BFB |
BPI ExpressOnline (Bills Payment) | + | – | 2271 | BPIB |
BPI ExpressOnline/Mobile (new) | + | – | 2261 | BPIA |
Chinabank Online | + | + | 489 | CBC |
Chinabank Savings | – | + | 1531 | CBCS |
Chinatrust | – | + | 1571 | CTBC |
EastWest CA/SA | – | + | 490 | EWB |
Landbank CA/SA | – | + | 491 | LBP |
Landbank ATM Online | + | – | 2291 | LBPA |
Maybank Online Banking | + | – | 2281 | MAYB |
Maybank | – | + | 1541 | MAY |
Metrobank direct | + | + | 492 | MBTC |
PBCom | – | + | 1511 | PBCM |
PNB E-Banking | – | + | 493 | PNB |
PNB e-Banking Bills Payment | + | – | 2301 | PNBB |
PSBank | – | + | 1501 | PSB |
RCBC Online Banking | + | + | 494 | RCBC |
RobinsonsBank Online Bills Payment | + | + | 495 | RSB |
Security Bank Online Transfer | – | + | 496 | SBC |
Sterling Bank | – | + | 1551 | SBA |
Unionbank CA/SA, EON | – | + | 497 | UBP |
Unionbank EON | + | – | 2321 | UBE |
Unionbank Internet Banking | + | – | 2311 | UBPB |
UCPB Connect | + | + | 498 | UCPB |
Veterans Bank | – | + | 1521 | PVB |
Регионы проведения выплат
При проведении выплаты с использованием метода Banks of the Philippines обязательно учитывается регион банка, в котором открыт счёт пользователя. Для этого используется идентификатор региона, который передаётся в параметре region_id в запросе на выплату. Далее в таблице приведена информация о регионах и их идентификаторах.
Регион | ID |
---|---|
National Capital Region | 297 |
Ilocos (Region I) | 298 |
Cagayan Valley (Region II) | 299 |
Central Luzon (Region III) | 300 |
Bicol (Region V) | 301 |
Western Visayas (Region VI) | 302 |
Central Visayas (Region VII) | 303 |
Eastern Visayas (Region VIII) | 304 |
Zamboanga Peninsula (Region IX) | 305 |
Northern Mindanao (Region X) | 306 |
Davao (Region XI) | 307 |
Soccsksargen (Region XII) | 308 |
Caraga (Region XIII) | 309 |
Autonomous Region in Muslim Mindanao (ARMM) | 310 |
Cordillera Administrative Region (CAR) | 311 |
Calabarzon (Region IV-A) | 312 |
Mimaropa (Region IV-B) | 313 |
Abra | 314 |
Agusan del Norte | 315 |
Agusan del Sur | 316 |
Aklan | 317 |
Albay | 318 |
Antique | 319 |
Apayao | 320 |
Aurora | 321 |
Bataan | 322 |
Basilan | 323 |
Benguet | 324 |
Biliran | 325 |
Bohol | 326 |
Batangas | 327 |
Batanes | 328 |
Bukidnon | 329 |
Bulacan | 330 |
Cagayan | 331 |
Camiguin | 332 |
Camarines Norte | 333 |
Capiz | 334 |
Camarines Sur | 335 |
Catanduanes | 336 |
Cavite | 337 |
Cebu | 338 |
Compostela Valley | 339 |
Davao Oriental | 340 |
Davao del Sur | 341 |
Davao del Norte | 342 |
Dinagat Islands | 343 |
Davao Occidental | 344 |
Eastern Samar | 345 |
Guimaras | 346 |
Ifugao | 347 |
Iloilo | 348 |
Ilocos Norte | 349 |
Ilocos Sur | 350 |
Isabela | 351 |
Kalinga | 352 |
Laguna | 353 |
Lanao del Norte | 354 |
Lanao del Sur | 355 |
Leyte | 356 |
La Union | 357 |
Marinduque | 358 |
Maguindanao | 359 |
Masbate | 360 |
Mindoro Occidental | 361 |
Mindoro Oriental | 362 |
Mountain Province | 363 |
Misamis Occidental | 364 |
Misamis Oriental | 365 |
Cotabato | 366 |
Negros Occidental | 367 |
Negros Oriental | 368 |
Northern Samar | 369 |
Nueva Ecija | 370 |
Nueva Vizcaya | 371 |
Pampanga | 372 |
Pangasinan | 373 |
Palawan | 374 |
Quezon | 375 |
Quirino | 376 |
Rizal | 377 |
Romblon | 378 |
Sarangani | 379 |
South Cotabato | 380 |
Siquijor | 381 |
Southern Leyte | 382 |
Sulu | 383 |
Sorsogon | 384 |
Sultan Kudarat | 385 |
Surigao del Norte | 386 |
Surigao del Sur | 387 |
Tarlac | 388 |
Tawi-Tawi | 389 |
Samar | 390 |
Zamboanga del Norte | 391 |
Zamboanga del Sur | 392 |
Zambales | 393 |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения выплат, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода Banks of the Philippines со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате оплаты. При этом метод Banks of the Philippines можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платежного метода). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется формирование Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сформированная платёжная форма.
- Пользователь выбирает для оплаты метод Banks of the Philippines.
- Запрос на проведение оплаты через Banks of the Philippines поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис банка.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя страницу банка.
- Данные для перенаправления пользователя передаются к Payment Page.
- Пользователь перенаправляется на страницу банка.
- Пользователь выполняет необходимые действия для оплаты.
- На стороне сервиса банка выполняется обработка платежа.
- Со стороны сервиса банка пользователю по электронной почте отправляется информация о результате оплаты.
- Пользователь перенаправляется к Payment Page.
- От сервиса банка к платёжной платформе направляется результат оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с Banks of the Philippines, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Banks of the Philippines необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- payment_amount — сумма платежа в минорных единицах.
- Дополнительно должны использоваться параметры customer_id — идентификатор пользователя в рамках проекта и customer_email — адрес электронной почты пользователя. Если параметр отсутствует в запросе, на Payment Page пользователю отображается поле для ввода недостающего значения. Если параметр присутствует в запросе, на Payment Page пользователю отображается поле с предварительно заполненным значением параметра, указанного в запросе, для подтверждения или изменения.
-
Можно настраивать отображение страницы Payment Page с выбором метода оплаты.
По умолчанию названия банков объединены в группу и отображаются одной кнопкой Philippines Online Banking, поэтому выбор банка осуществляется в два этапа. Сначала выбирается Banks of the Philippines среди прочих методов, а затем на следующей странице с перечнем банков выбирается конкретный банк. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:
- Отображение банков одной кнопкой Philippines Online Banking среди прочих платёжных методов.
- Отображение банков отдельными кнопками среди прочих методов. Для этого необходимо передавать параметр split_banks со значением
true
в параметре payment_methods_options.payment_methods_options: {"online_philippines_banks": {"split_banks": true}}
- Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Banks of the Philippines. Для этого необходимо передавать идентификаторы банков в параметре banks_id. Для отображения нескольких банков необходимо перечислять идентификаторы через запятую c пробелом.
payment_methods_options: {"online_philippines_banks": {"split_banks": true, "banks_id": [2421, 2371]}}
- Отображение только точек приёма платежей и банкоматов одной кнопкой Philippines Online Banking. Для этого используется предварительный выбор метода Banks of the Philippines. Необходимо передавать код платежного метода
online-philippines-banks
в параметре force_payment_method. Пользователю сразу открывается страница с выбором банков. - Отображение отдельного банка. Для этого используется предварительный выбор метода Banks of the Philippines. Необходимо передавать код платежного метода
online-philippines-banks
в параметре force_payment_method и идентификатор банка banks_id в параметре payment_methods_options.Ниже приведён пример запроса на открытие Payment Page с предварительно выбранным банком.
Рис.: Пример запроса на оплату с выбором банка
{ payment_id: 'X03936', payment_amount: 10000, payment_currency: 'PHP', project_id: 123, customer_id: '123', customer_email: 'test@example.com', force_payment_method: 'online-philippines-banks', payment_methods_options: {"online_philippines_banks": {"banks_id": [2371]}}, signature: "kUi2x9dKHAVNU0FYldJrxh+...tT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры открытия платежной формы Payment Page.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Banks of the Philippines должен содержать идентификаторы проекта и платежа, валюту и сумму платежа, а также адрес электронной почты пользователя и подпись:
{ payment_id: 'ECT_TEST_1547', payment_amount: 1000, payment_currency: 'PHP', project_id: 210, customer_email: 'test@example.com', signature: "kUi2x9dKHAVNU0FYldJrxh4yo+K...tT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
Формат оповещений
Для оповещений о результатах оплат с применением метода Banks of the Philippines используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 PHP
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 239, "payment": { "id": "EPfa87-bcfd", "type": "purchase", "status": "success", "date": "2020-03-06T14:11:00+0000", "method": "Philippines banks", "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 banks", "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 с использованием метода Banks of the Philippines со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay.
- Осуществить перенаправление в сервис Banks of the Philippines.
- Принять оповещение от платежной платформы ECommPay о результате оплаты.
Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату через Banks of the Philippines.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу ECommPay.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис Banks of the Philippines.
- На стороне банка выполняется обработка запроса на оплату.
- От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт Banks of the Philippines.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя на страницу банка в объекте redirect_data.
- Пользователь перенаправляется в на страницу банка.
- Пользователь выполняет необходимые действия для оплаты.
- На стороне сервиса банка выполняется обработка платежа.
- Со стороны сервиса банка пользователю по электронной почте отправляется информация о результате оплаты.
- Пользователь перенаправляется к веб-сервису.
- От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициации оплат методом Banks of the Philippines через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.
Формат запросов
При работе с запросами на оплаты с применением метода Banks of the Philippines необходимо учитывать следующее:
- Должен использоваться запрос
v2/payment/banks/philippines/sale
, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/banks/{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 — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Banks of the Philippines должен содержать идентификаторы проекта и платежа, валюту и сумму платежа, подпись, идентификатор банка, данные пользователя и URL для перенаправления:
Рис.: Пример запроса на оплату
{ "general": { "project_id": 580, "payment_id": "test_philippines_sale", "signature": "pgwRHcfv2OTsdILn33R5Nr/ymu08nMx/9FSeIqYHTTd6YhIiLWw==" }, "payment": { "amount": 1000, "currency": "PHP" }, "customer": { "email": "test_customer@example.com", "ip_address": "1.1.1.1", "id": "123" }, "account": { "bank_id": 2681 }, "return_url": { "success": "http://example.com/success" } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт сервиса Banks of the Philippines необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре 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"
}
Формат оповещений
Для оповещений о результатах оплат с применением метода Banks of the Philippines используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 239
была успешно проведена оплата в размере 10,00 PHP
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 239, "payment": { "id": "EPfa87-bcfd", "type": "purchase", "status": "success", "date": "2020-03-06T14:11:00+0000", "method": "Philippines banks", "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 banks", "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 также могут быть полезны следующие материалы:
Выплаты через Gate
Общая информация
Для выплаты через Gate с использованием метода Banks of the Philippines со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.
Рис.: Проведение выплаты через Gate
- Пользователь на стороне веб-сервиса инициирует выплату через один из банков, поддерживающих работу с методом Banks of the Philippines.
- От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение выплаты через Gate.
- Запрос на проведение выплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее — разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис банка.
- На стороне банка выполняется обработка платежа.
- От сервиса банка к платёжной платформе направляется уведомление о результате выплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате выплаты.
- От веб-сервиса пользователю направляется результат выплаты.
Информация о формате запросов и параметрах инициирования выплат с применением метода Banks of the Philippines через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API — в разделе Работа с API.
Формат запросов
При формировании запросов на выплату с применением метода Banks of the Philippines необходимо учитывать следующее:
- Должен использоваться запрос
/v2/payment/banks/philippines/payout
, отправляемый методом POST. Этот запрос относится к группе запросов для проведения выплат на банковские счета пользователей /v2/payment/banks/{payment_method}/payout. - В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ECommPay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор,
- ip_address — IP-адрес;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в минорных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3,
- description — описание платежа;
- account — объект, содержащий сведения о банковском счёте пользователя:
- bank_id — идентификатор банка,
- customer_name — имя держателя банковского счета,
- branch — идентификатор филиала банка,
- city — город филиала банка,
- region_id — регион,
- number — номер счёта.
- general — объект, содержащий основные идентификационные сведения запроса:
- Валютой платежа может быть только PHP.
- Дополнительно могут использоваться любые другие параметры, указанные в спецификации.
Таким образом, корректный запрос на выплату с применением метода Banks of the Philippines должен содержать идентификаторы проекта и платежа, подпись, идентификатор и IP-адрес пользователя, сумму, валюту и описание платежа, а также данные о счёте пользователя: идентификатор банка, имя держателя, идентификатор филиала банка, город, регион и номер счёта для зачисления средств:
{ "general": { "project_id": 445, "payment_id": "1000003", "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsa789ajQVVLhNN5e 7cV+VHq3LwY3T\/pOMeSaRfBaNIipTv+AWoXW\/9MTO8yJA==" }, "customer": { "id": "123", "ip_address": "119.92.244.146" }, "payment": { "amount": 1000, "currency": "PHP", "description": "Payout description" }, "account": { "bank_id": 486, "customer_name": "Maria Santos Dela Cruz", "city": "Manila", "region_id": 297, "branch": "Bank Branch", "number": "1670033323" } }
Формат оповещений
Для оповещений о результатах выплат с применением метода Banks of the Philippines используется стандартный формат, описание которого представлено в разделе Оповещения.
К особенностям метода Banks of the Philippines можно отнести то, что название банка, в котором открыт счёт пользователя, указывается в параметре endpoint_id
объекта operation.provider
(информация о банках и соответствующих им буквенных кодах представлена в пункте Список банков).
В следующем примере оповещение свидетельствует о том, что в рамках проекта 445
для пользователя 123
была успешно проведена выплата в размере 10,00 PHP
на счёт 1670033323
, открытый в банке Banco de Oro CA/SA
.
Рис.: Пример оповещения о проведении выплаты
{ "project_id": 445, "payment": { "id": "100011", "type": "payout", "status": "success", "date": "2019-03-18T08:06:13+0000", "method": "Philippines banks", "sum": { "amount": 1000, "currency": "PHP" }, "description": "payout" }, "account": { "number": "1670033323" }, "customer": { "id": "123" }, "operation": { "id": 147, "type": "payout", "status": "success", "date": "2019-03-18T08:06:13+0000", "created_date": "2019-03-18T08:06:06+0000", "request_id": "9499286583e3d43bcf14dbd0d4502260b85fb78b-a9058f97ef1102f752a9cd47d2fb7469cc613e11", "sum_initial": { "amount": 1000, "currency": "PHP" }, "sum_converted": { "amount": 1000, "currency": "PHP" }, "provider": { "id": 1346, "payment_id": "6Q2G5D83", "date": "2019-03-18T08:06:11+0000", "auth_code": "", "endpoint_id": "BDO" }, "code": "0", "message": "Success" }, "signature": "oFGfjOtZZkFxi7Pd1yikCw01b0BsedgKr8QQrAUZS5LA 3+xEZP6cIOiB0v21vBp6O7KfQgcPJ+Gz/E8qfizh1A==" }
В следующем примере выплата была отклонена из-за нарушения ограничения на сумму или частоту выплаты.
Рис.: Пример оповещения об отказе в проведении выплаты
{ "project_id": 445, "payment": { "id": "100014", "type": "payout", "status": "decline", "date": "2019-03-18T10:49:50+0000", "method": "Philippines banks", "sum": { "amount": 900, "currency": "PHP" }, "description": "payout" }, "account": { "number": "1670033323" }, "customer": { "id": "123" }, "operation": { "id": 148, "type": "payout", "status": "decline", "date": "2019-03-18T10:49:51+0000", "created_date": "2019-03-18T10:49:46+0000", "request_id": "d626cece0855a8863f687985e6169c9f07b17e91c- f5fb6c317444750d8301e8ff8c57935d9872183c", "sum_initial": { "amount": 900, "currency": "PHP" }, "sum_converted": { "amount": 900, "currency": "PHP" }, "provider": { "id": 1346, "payment_id": "YDK0QS4X", "auth_code": "" }, "code": "20101", "message": "Decline due to amount or frequency limit" }, "signature": "fz0Yu5BFLRLJez747kDfZHgmKGtCmzduW27YGzLvo649gXqxPIOgMa5DAzPE/4GLWlZSzCwkdkqyrTqUQvLp6A==" }
Дополнительные материалы
Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:
Выплаты через Dashboard (Old Dashboard)
- как единичную выплату — в этом случае для каждой выплаты необходимо указать доступные для данного метода валюту и сумму, выбрать метод и заполнить все поля, отображаемые в интерфейсе с учётом выбранного метода;
- в рамках массового платежа — в этом случае все параметры выплат необходимо задать в файле формата CSV с учётом требований, представленных в разделе Выплаты через Gate (кроме пункта о подписи).
Информация о проведении выплат отображается в разделе Платежи интерфейса Dashboard (Old Dashboard).
Более подробная информация о проведении выплат через Dashboard (Old Dashboard) представлена в разделе Проведение выплат.
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ECommPay, при использовании метода Banks of the Philippines доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard (Old Dashboard), в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard (Old Dashboard) позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ECommPay.