Philippines Over the Counter & ATM

Обзор

Philippines Over the Counter & ATM — платёжный метод для проведения оплат наличными в отделениях банков, а также наличными и платёжными картами через банкоматы. Для работы с этим методом доступно проведение оплат через Payment Page и Gate.

Характеристика

Тип платёжного метода банковские платежи
Платёжные инструменты
  • наличные
  • платёжные карты
Регионы использования PH
Валюты платежей PHP
Конвертация валют на стороне ecommpay
Оплаты +
Выплаты
Оплаты по сохранённым данным
Полные возвраты +
Частичные возвраты +
Опротестования
Особенности
  • поддержка полных и частичных возвратов осуществляется со стороны провайдера
  • можно задавать дополнительные параметры при формировании Payment Page
Организация и стоимость подключения по согласованию с курирующим менеджером 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"
  }
}
Табл. 1. Список отделений банков и сетей банкоматов
Отделения банков и сети банкоматов 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

  1. Пользователь на стороне веб-сервиса инициирует оплату.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
  3. Запрос на проведение оплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. Осуществляется формирование Payment Page согласно настройкам проекта и параметрам вызова.
  6. Пользователю отображается сформированная платёжная форма.
  7. Пользователь выбирает для оплаты метод Philippines Over the Counter & ATM.
  8. Запрос на проведение оплаты через провайдера поступает в платёжную платформу.
  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, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.

Формат запросов

При формировании запросов на открытие платёжной формы с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее:

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • payment_id — идентификатор платежа уникальный в рамках проекта;
    • payment_currency — валюта платежа в формате ISO-4217 alpha-3;
    • payment_amount — сумма платежа в дробных единицах.
    • customer_id — идентификатор пользователя уникальный в рамках проекта.
  2. Дополнительно должен использоваться параметр customer_email — адрес электронной почты пользователя. Если параметр отсутствует в запросе, на Payment Page пользователю отображается поле для ввода недостающего значения. Если параметр присутствует в запросе, на Payment Page пользователю отображается поле с предварительно заполненным значением параметра, указанного в запросе, для подтверждения или изменения.
  3. Можно настраивать отображение страницы 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=="
          }
  4. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
  5. После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.

Таким образом, корректный запрос на открытие платёжной формы с применением метода 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 со стороны веб-сервиса необходимо:

  1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
  2. Осуществить перенаправление в сервис провайдера.
  3. Принять оповещение от платежной платформы ecommpay о результате оплаты.

Полная схема проведения оплаты представлена далее.



Рис.: Проведение оплаты через Gate

  1. Пользователь на стороне веб-сервиса инициирует оплату через Philippines Over the Counter & ATM.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
  3. Запрос на проведение оплаты поступает в платёжную платформу ecommpay.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис провайдера.
  7. На стороне провайдера выполняется обработка запроса на оплату.
  8. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя на сайт провайдера.
  9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к провайдеру в объекте redirect_data.
  10. Пользователь перенаправляется в сервис провайдера.
  11. Пользователь выполняет необходимые действия для оплаты.
  12. На стороне сервиса провайдера выполняется обработка платежа.
  13. Со стороны сервиса провайдера пользователю по электронной почте отправляется информация о результате оплаты.
  14. Пользователь перенаправляется к веб-сервису.
  15. От сервиса провайдера к платёжной платформе направляется уведомление о результате оплаты.
  16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  17. От веб-сервиса пользователю направляется результат оплаты.

Информация о формате запросов и параметрах инициации оплат методом Philippines Over the Counter & ATM через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.

Формат запросов

При работе с запросами на оплаты с применением метода Philippines Over the Counter & ATM необходимо учитывать следующее:

  1. Должен использоваться запрос v2/payment/atm/philippines/sale, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/atm/{payment_method}/sale.
  2. В запросе должны использоваться следующие объекты и параметры:
    • 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 для перенаправления пользователя в случае успешной оплаты.
  3. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на оплату с применением метода 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.