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 | Минимум | Максимум | Базовое | Предельное | |
Оплаты | + | – | + | – | 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 (в базовом варианте с выбором пользователем метода и банка и перенаправлением с итоговой страницы платёжной формы к веб-сервису) выглядит следующим образом.
Рис.: Открытие формы
Рис.: Выбор метода
Рис.: Выбор банка
Рис.: Аутентификация
Рис.: Подтверждение платежа
Рис.: Возвращение к форме
Рис.: Возвращение к веб-сервису
Общие сценарии проведения оплат и выплат можно представить следующим образом.
Рис.: Оплата через 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 Corporate Internet Banking | + | – | 2241 | BDOC |
BDO Internet Banking | + | + | 486 | BDO |
BDO Internet Banking (Bills Payment) | + | – | 2231 | BDOP |
BDO Mobile Internet Banking | + | – | 2251 | BDOM |
BPI ExpressOnline/Mobile (Fund Transfer) | + | + | 487 | BPI |
BPI ExpressOnline/Mobile (new) | + | – | 2261 | BPIA |
BPI ExpressOnline (Bills Payment) | + | – | 2271 | BPIB |
BPI Family Bank | – | + | 488 | BFB |
Chinabank Online | + | + | 489 | CBC |
Chinabank Savings | – | + | 1531 | CBCS |
Chinatrust | – | + | 1571 | CTBC |
EastWest CA/SA | – | + | 490 | EWB |
Landbank ATM Online | + | – | 2291 | LBPA |
Landbank CA/SA | – | + | 491 | LBP |
Maybank | – | + | 1541 | MAY |
Maybank Online Banking | + | – | 2281 | MAYB |
Metrobankdirect | + | + | 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 |
UCPB Connect | + | + | 498 | UCPB |
Unionbank CA/SA, EON | – | + | 497 | UBP |
Unionbank EON | + | – | 2321 | UBE |
Unionbank Internet Banking | + | – | 2311 | UBPB |
Veterans Bank | – | + | 1521 | PVB |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения платежей, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через 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. Также может потребоваться указание имени и фамилии пользователя в параметрах customer_first_name и customer_last_name соответственно. Необходимость использования этих параметров следует уточнять у курирующего менеджера ecommpay. Если хотя бы один из тех параметров, которые должны использоваться, отсутствует в запросе, на 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', customer_first_name: 'John', customer_last_name: 'Doe', force_payment_method: 'online-philippines-banks', payment_methods_options: '{\"online_philippines_banks\": {\"banks_id\": [2371]}}', signature: "kUi2x9dKHAVNU0FYldJrxh+...tT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg==" }
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
- После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.
Таким образом, корректный запрос на открытие платёжной формы с применением метода Banks of the Philippines должен содержать идентификаторы проекта, пользователя и платежа, валюту и сумму платежа, данные пользователя и подпись:
{ payment_id: 'ECT_TEST_1547', payment_amount: 1000, payment_currency: 'PHP', project_id: 210, customer_id: '123', customer_email: 'test@example.com', customer_first_name: 'John', customer_last_name: 'Doe', 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 — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно может потребоваться указание имени и фамилии пользователя в соответствующих параметрах:
- customer — объект, содержащий сведения о пользователе:
- first_name — имя пользователя,
- last_name — фамилия пользователя.
- customer — объект, содержащий сведения о пользователе:
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода Banks of the Philippines должен содержать идентификаторы проекта и платежа, валюту и сумму платежа, данные пользователя, подпись, идентификатор банка и URL для перенаправления:
Рис.: Пример запроса на оплату
{ "general": { "project_id": 580, "payment_id": "test_philippines_sale", "signature": "pgwRHcfv2OTsdILn33R5Nr/ymu08nMx/9FSeIqYHTTd6YhIiLWw==" }, "payment": { "amount": 1000, "currency": "PHP" }, "customer": { "id": "123", "email": "test_customer@example.com", "ip_address": "1.1.1.1", "first_name": "John", "last_name": "Doe" }, "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 — имя держателя банковского счета,
- 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": "1.1.1.1" }, "payment": { "amount": 1000, "currency": "PHP", "description": "Payout description" }, "account": { "bank_id": 486, "customer_name": "John Doe", "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
При использовании интерфейса Dashboard можно проводить одиночные и массовые выплаты методом Banks of the Philippines с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.
- Для проведения одиночной выплаты необходимо открыть форму выплаты, задать все необходимые параметры (включая метод), отправить запрос и убедиться в проведении выплаты.
-
Для проведения массовой выплаты необходимо подготовить и загрузить файл с информацией обо всех целевых выплатах, отправить пакет запросов и убедиться в проведении выплат.
При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры выплат — должны соответствовать требованиям, представленным в разделе Выплаты через Gate этой статьи (за исключением пункта о подписи).
Более подробная информация о проведении выплат через Dashboard представлена в отдельной статье.
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода Banks of the Philippines доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.