Philippines Over the Counter & ATM

Обзор

Введение

Philippines Over the Counter & ATM — метод, позволяющий проводить платежи в филиппинских песо с использованием наличных и платёжных карт в Филиппинах. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты.

В этой статье представлена информация о работе с методом Philippines Over the Counter & ATM: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.

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

Тип платёжного метода банковские платежи
Платёжные инструменты
  • наличные
  • платёжные карты
Регионы использования PH
Валюты платежей PHP
Конвертация валют на стороне ecommpay
Разовые оплаты +
Повторяемые оплаты
Полные возвраты +
Частичные возвраты +
Выплаты
Опротестования
Особенности
  • поддержка полных и частичных возвратов осуществляется со стороны провайдера
  • можно задавать дополнительные параметры при формировании Payment Page
Организация и стоимость подключения по согласованию с курирующим менеджером ecommpay; дополнительную информацию можно получить в ecommshop

Схема работы

В проведении отдельного платежа с использованием метода Philippines Over the Counter & ATM задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства сервиса провайдера.



Основные операции

Для проведения платежей и выполнения операций с использованием метода Philippines Over the Counter & ATM могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок) При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения.

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

Суммы, PHP ¹ Время ²
минимум максимум базовое предельное
Оплаты 1,00 1 000 000,00 1 день 2 дня
Возвраты * * * *

* Для проведения полных и частичных возвратов пользователям необходимо заполнять форму обращения.

Прим.:
  1. Информацию следует уточнять у курирующего менеджера ecommpay.
  2. Базовое и предельное время определяются следующим образом:
    • Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа (подробнее).
    • Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.

Сценарии использования

Проведение оплат с использованием метода Philippines Over the Counter & ATM осуществляется с перенаправлением пользователей к сервису провайдера.

Вместе с тем, к особенностям работы с методом Philippines Over the Counter & ATM можно отнести то, что для каждого платежа с использованием этого метода должен быть выбран конкретное отделение банков или сеть банкоматов. При работе через Payment Page, как правило, выбор банка осуществляется пользователем уже в платёжной форме, но при вызовах Payment Page с предварительным выбором метода и отделения банков или сети банкоматов, а также при инициировании оплат через Gate отделение или сеть должна быть выбрана на стороне веб-сервиса и в запросах должен указываться идентификатор этого отделения или сети. Возможные варианты выбора отделения или сети при работе через Payment Page описаны в разделе Оплаты через Payment Page этой статьи, а способы работы с идентификаторами отделений и сетей — в следующем подразделе, Поддержка со стороны отделений банков и сетей банкоматов.

Вместе с тем, для оплат этим методом поддерживаются разные варианты выбора отделения банков или сети банкоматов; они описаны в разделе Оплаты через Payment Page этой статьи.

Поддержка со стороны отделений банков и сетей банкоматов

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

Табл. 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

Поскольку со временем состав доступных отделений банков и сетей банкоматов может меняться, для получения актуальной информации рекомендуется использовать POST-запрос к конечной точке /v2/info/banks/atm/philippines/sale/list, которая относится к группе конечных точек /v2/info/banks/{parentMethod}/{childMethod}/{operationType}/list Gate API. В этом запросе должны указываться идентификатор проекта, идентификатор, валюта и сумма платежа и подпись к этим данным; при этом рекомендуется передавать реальные данные о платеже, но допускается и указание произвольных значений.

Рис. 3. Пример данных из запроса на получение списка отделений банков и сетей банкоматов
{
  "general": {
    "project_id": 200,
    "payment_id": "ORDER_155860015",
    "signature": "K6jllym+PtObocZtr345st...=="
  },
  "payment": {
    "amount": 1000,
    "currency": "PHP"
  }
}
Рис. 4. Пример данных из ответа с информацией об отделениях банков и сетях банкоматов
[
  {
    "id": 2331, // Индентификатор отделения банка или сети банкоматов
    "abbr": "BDOA", // Служебная аббревиатура отделения банка или сети банкоматов, используемая в платформе
    "name": "Banco de Oro ATM", // Основное (международное) название отделения банка или сети банкоматов
    "nativeName": "Banco de Oro ATM", // Локальное (национальное или региональное) название отделения банка или сети банкоматов
    "currencies": [ // Массив с информацией о валютах, поддерживаемых отделеним банка или сетью банкоматов
      {
        "id": 1076, // Идентификатор валюты в платёжной платформе
        "alpha_3_4217": "PHP", // Буквенный код валюты платежа в формате ISO-4217 alpha-3
        "number_3_4217": "608", // Цифровой код валюты платежа в формате ISO-4217 alpha-3
        "exponent": 2 // Число дробных разрядов валюты
      }
    ]
  },
  {
    "id": 2371,
    "abbr": "BPIX",
    "name": "BPI Over-the-Counter",
    "nativeName": "BPI OTC",
    "currencies": [
      {
        "id": 1076,
        "alpha_3_4217": "PHP",
        "number_3_4217": "608",
        "exponent": 2
      }
    ]
  },
  {
    "id": 2451,
    "abbr": "PNBR",
    "name": "PNB Remit",
    "nativeName": "PNB Remit",
    "currencies": [
      {
        "id": 1076,
        "alpha_3_4217": "PHP",
        "number_3_4217": "608",
        "exponent": 2
      }
    ]
  }
]

С вопросами о работе с отделениями банков и сетями банкоматов, поддерживающими метод Philippines Over the Counter & ATM, можно обращаться к курирующему менеджеру ecommpay.

Оплаты через Payment Page

Общая информация

Для проведения оплаты через Payment Page с использованием метода Philippines Over the Counter & ATM со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема проведения оплаты выглядит следующим образом.



Рис. 5. Проведение оплаты через Payment Page. Описание шагов
  1. Пользователь на стороне веб-сервиса инициирует оплату.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
  3. Запрос на проведение оплаты поступает в платёжную платформу.
  4. В платёжной платформе выполняется приём запроса, с проверкой наличия обязательных параметров и корректной подписи.
  5. Осуществляется подготовка Payment Page согласно параметрам проекта и вызова.
  6. Пользователю отображается платёжная форма.
  7. Пользователь выбирает для оплаты метод Philippines Over the Counter & ATM.
  8. В платёжную платформу передаётся запрос на проведение оплаты с использованием метода Philippines Over the Counter & ATM.
  9. В платёжной платформе выполняются обработка полученного запроса и его отправка в сервис провайдера.
  10. В сервисе провайдера выполняется обработка запроса на оплату.
  11. От сервиса провайдера к платёжной платформе передаются данные для перенаправления пользователя к сервису провайдера.
  12. Данные для перенаправления пользователя передаются к Payment Page.
  13. Пользователь перенаправляется к сервису провайдера.
  14. Пользователь выполняет необходимые действия для оплаты.
  15. В сервисе провайдера выполняется обработка платежа.
  16. Информация о результате оплаты отображается пользователю в сервисе провайдера.
  17. Пользователь перенаправляется к Payment Page.
  18. От сервиса провайдера к платёжной платформе направляется информация о результате оплаты.
  19. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  20. От платёжной платформы к Payment Page направляется информация о результате оплаты.
  21. Информация о результате оплаты отображается пользователю на Payment Page.

Как правило, после того как пользователь на стороне веб-сервиса подтверждает готовность перейти к оплате, он перенаправляется к Payment Page, выбирает платёжный метод и, в случае работы с методом Philippines Over the Counter & ATM, дополнительно выбирает одно из доступных отделений банков или сеть банкоматов. Вместе с тем, в некоторых ситуациях могут быть актуальны другие варианты выбора платёжного метода и отделения или сети. Например, при открытии Payment Page можно сразу перенаправлять пользователя к выбору отделения или сети либо ограничивать список поддерживаемых отделений или сетей для отдельного платежа и отображать пользователю только кнопки выбора целевых отделений или сетей. Конкретный вариант выбора платёжного метода и отделений или сети определяется через параметры, указанные в запросе на открытие Payment Page (подробнее), при этом допустимы следующие варианты:

  • 1 — при открытии платёжной формы в ней последовательно отображаются отдельные страницы для выбора метода и отделения или сети, и пользователь выбирает сначала метод, а затем банк (этот вариант используется по умолчанию);
  • 2 — при открытии платёжной формы в ней отображается страница с кнопками выбора методов и отделения или сети для данного метода, и пользователь выбирает одно из этих отделений или сеть;
  • 3 — при открытии платёжной формы в ней отображается страница с кнопками выбора всех доступных отделений и сетей для данного метода, и пользователь выбирает одно из этих отделений или сети;
  • 4 — при открытии платёжной формы в ней отображается страница с кнопками выбора заданных отделений или сетей для данного метода, и пользователь выбирает одно из этих отделений или сеть;
  • 5 — при открытии платёжной формы в ней отображается страница подтверждения перенаправления к сервису заданного отделения или сети, и пользователь соглашается с этим перенаправлением.

Информация о форматах запросов и оповещений, используемых для проведения оплат методом Philippines Over the Counter & ATM через Payment Page, приведена далее в этом разделе; общая информация о работе с 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. Должен использоваться базовый минимум параметров: project_id, payment_id, payment_currency, payment_amount, customer_id.
  3. Дополнительно рекомендуется указывать адрес электронной почты пользователя в параметре customer_email. Если этот параметр отсутствует в запросе, в платёжной форме может отображаться поле для ввода пользователем недостающего значеня (подробнее — в разделе Дополнение информации о платежах).
  4. Вариант выбора отделения банка или сети банкоматов может определяться следующим образом:

    1. Через выбор в Payment Page метода и отделения или сети (1) — как вариант по умолчанию, применяемый, если не указываются параметр force_payment_method и объект payment_methods_options, упоминаемые в подпунктах 2–5.
    2. Через выбор в Payment Page отделения или сети среди доступных методов (2) — для этого в объекте payment_methods_options необходимо указывать объект philippines_atm, содержащий параметр split_banks со значением true:
      "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true}}"
      
    3. Через выбор в Payment Page отделения или сети из числа доступных (3) — для этого в параметре force_payment_method необходимо указывать код предварительного выбора метода philippines-atm.
    4. Через выбор в Payment Page отделения или сети из числа заданных (4) — для этого необходимо указывать:
      • код philippines-atm в параметре force_payment_method;
      • объект payment_methods_options с объектом philippines_atm, который должен содержать параметр split_banks со значением true и объект banks_id с массивом, включающим в себя идентификаторы целевых отделений и сетей:
        "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true, \"banks_id\": [2421, 2371]}}"
    5. Через подтверждение в Payment Page перенаправления к сервису заданного отделения или сети (5) — для этого необходимо указывать:
      • код philippines-atm в параметре force_payment_method;
      • объект payment_methods_options с объектом philippines_atm, который должен содержать параметр split_banks со значением true и объект banks_id с массивом, включающим в себя идентификатор целевого отделения или сети:
        "payment_methods_options": "{\"philippines_atm\": {\"split_banks\": true, \"banks_id\": [2421]}}"
  5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
  6. После указания всех целевых параметров необходимо составлять подпись (подробнее).

Таким образом, корректный запрос на открытие платёжной формы с применением метода Philippines Over the Counter & ATM должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), идентификатор и адрес электронной почты пользователя, а также подпись.

{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 1000,
   "payment_currency": "PHP",
   "customer_id": "customer1",
   "customer_email": "test@example.com",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
Рис. 11. Пример достаточного набора данных для запроса на оплату
{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 1000,
   "payment_currency": "PHP",
   "customer_id": "customer1",
   "customer_email": "test@example.com",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}

Вместе с тем, в случае с выбором из заданных отделений и сетей (4), запрос на открытие Payment Page может содержать расширенный набор данных.

{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 1000,
   "payment_currency": "USD",
   "customer_id": "customer1",
   "customer_email": "test@example.com",
   "force_payment_method": "philippines-atm",
   "payment_methods_options": {"philippines_atm": {"split_banks": true, "banks_id": [2421, 2371]}}
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}

Формат оповещений

Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется типовой формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 239 была проведена оплата в размере 10,00 PHP.

Рис. 12. Пример оповещения о проведении оплаты
 {
        "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=="
    }
}

В следующем примере оповещение свидетельствует об отклонённой оплате.

Рис. 13. Пример данных из оповещения об отклонении оплаты
 {
        "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. Принять итоговое оповещение от платёжной платформы.

Полная схема проведения оплаты выглядит следующим образом.



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

Информация о форматах запросов и оповещений, используемых для проведения оплат методом Philippines Over the Counter & ATM через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.

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

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

  1. Должен использоваться запрос v2/payment/atm/philippines/sale, отправляемый методом POST. Этот запрос относится к группе запросов /v2/payment/atm/{payment_method}/sale.
  2. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке v2/payment/atm/philippines/sale. Эта точка относится к группе /v2/payment/atm/{payment_method}/sale.
  3. В каждом запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ecommpay при интеграции;,
      • payment_id — идентификатор платежа, уникальный в рамках проекта;,
      • signature — подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее),
    • payment — объект, содержащий сведения о платеже:
      • amount — сумма платежа в дробных единицах валюты;,
      • currency — код валюты платежа в формате ISO-4217 alpha-3;,
    • customer — объект, содержащий сведения о пользователе:
      • id — идентификатор пользователя, уникальный в рамках проекта;,
      • ip_address — IP-адрес пользователя, актуальный для инициируемого платежа;,
      • email — адрес электронной почты пользователя;,
    • account — объект, содержащий сведения об отделениях или сети банкоматов:
      • bank_id — идентификатор отделения или сети банкоматов;
    • return_url — бъект, содержащий URL для перенаправления пользователя в веб-сервис:
      • success — URL для перенаправления пользователя после проведения оплаты.
  4. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.

Таким образом, корректный запрос на оплату с применением метода Philippines Over the Counter & ATM должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), идентификатор, IP-адрес и адрес электронной почты пользователя, идентификатор отделения банка или сети банкоматов, URL для перенаправления и подпись.

{
    "general": {
        "project_id": 580,
        "payment_id": "test_atm_sale",
        "signature": "pgwRHcfv2O08nMx/9FSeIqYHTTd6YhIiLWw=="
    },
    "payment": {
        "amount": 1000,
        "currency": "PHP"
    },
    "customer": {
        "email": "test_customer@example.com",
        "ip_address": "192.0.2.0",
        "id": "customer123"
    },
    "account": {
        "bank_id": 2681
    },
    "return_url": {
        "success": "http://example.com/success"
    }
}
Рис. 15. Пример достаточного набора данных для запроса на оплату
{
    "general": {
        "project_id": 580,
        "payment_id": "test_atm_sale",
        "signature": "pgwRHcfv2O08nMx/9FSeIqYHTTd6YhIiLWw=="
    },
    "payment": {
        "amount": 1000,
        "currency": "PHP"
    },
    "customer": {
        "email": "test_customer@example.com",
        "ip_address": "192.0.2.0",
        "id": "customer123"
    },
    "account": {
        "bank_id": 2681
    },
    "return_url": {
        "success": "http://example.com/success"
    }
}

Формат промежуточных оповещений для перенаправления пользователей

Для перенаправления пользователей от веб-сервиса мерчанта к сервису Philippines Over the Counter & ATM при проведении каждого платежа с использованием метода Philippines Over the Counter & ATM необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект redirect_data. Формат таких оповещений является типовым (подробнее), при этом в состав объекта redirect_data включаются следующие объекты и параметры:

  • body — объект с данными для отправки в теле запроса;
  • method — параметр с указанием HTTP-метода отправки запроса (GET или POST);
  • url — параметр со ссылкой для перенаправления.
Рис. 16. Пример объекта redirect_data
"redirect_data": {
    "body": {},
    "method": "GET",
    "url": "https://test.ph/Pay.aspx?tokenid=3f511c2d&procid=BITC"
  }

Формат итоговых оповещений

Для оповещений о результатах оплат с применением метода Philippines Over the Counter & ATM используется типовой формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 239 была проведена оплата в размере 10,00 PHP.

Рис. 17. Пример оповещения о проведении оплаты
 {
        "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=="
    }
}

В следующем примере оповещение свидетельствует об отклонённой оплате.

Рис. 18. Пример данных из оповещения об отклонении оплаты
 {
        "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 также могут быть полезны следующие материалы:

Анализ результатов проведения платежей

Для анализа информации о платежах и операциях, как в отдельности по методу Philippines Over the Counter & ATM, так и в совокупности с другими методами, можно использовать:

  • инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
  • отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
  • данные в формате JSON, получаемые по программным запросам через интерфейс Data API.

С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.