Indonesian Online Banking

Обзор

Indonesian Online Banking — метод интернет-банкинга для проведения платежей через банки Индонезии. Оплаты осуществляются через Payment Page и Gate, выплаты — через Gate и Dashboard.

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

Тип платёжного метода банковские платежи
Платёжные инструменты банковские счета
Регионы использования ID
Валюты платежей IDR
Конвертация валют на стороне ecommpay
Оплаты +
Выплаты +
Оплаты по сохранённым данным
Возвраты
Опротестования
Особенности
  • Метод Indonesian Online Banking входит в группу методов интернет-банкинга в Юго-Восточной Азии, для которых можно задавать дополнительные параметры при вызове Payment Page
  • При использовании этого метода все платежи в валюте IDR являются целочисленными. В запросах с указанием валюты IDR следует округлять суммы до целых чисел, иначе дробная часть отсекается при обработке платежа в платёжной платформе. При указании в запросах других валют сумма платежа конвертируется на стороне ecommpay с округлением до 1 000,00 IDR
  • В браузере Safari может не поддерживаться перенаправление на сервис банка. Подробности необходимо уточнять у курирующего менеджера ecommpay
Организация и стоимость подключения По согласованию с курирующим менеджером ecommpay

Схема работы

В проведении отдельного платежа с использованием метода Indonesian Online Banking задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также сервис одного из банков, поддерживающих работу с этим методом.



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

Суммы, IDR
минимум максимум
Оплаты 100 000,00 25 000 000,00
Выплаты 100 000,00 10 000 000,00

Ограничения по времени выполнения операций зависят от банков, поддерживающих оплату этим методом.

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

Проведение оплат с использованием метода Indonesian Online Banking выполняется с перенаправлением пользователей на сайты банков, поддерживающих работу с этим методом, проведение выплат — с уведомлением пользователей со стороны веб-сервиса.

Поддержка со стороны банков

Проведение платежей с применением метода Indonesian Online Banking осуществляется через банки, поддерживающие работу с этим методом. Банкам соответствуют свои идентификаторы, которые используются при инициировании оплат и выплат через Gate, а также при вызове Payment Page для отображения страницы с выбором метода оплаты.

Далее в таблице в ознакомительных целях представлена информация об этих банках, которую следует уточнять у курирующего менеджера ecommpay или по запросу /v2/info/banks/{payment_method}/{operationType}/list, отправляемым методом POST через Gate API: /v2/info/banks/indonesia/sale/list для уточнения списка банков, поддерживающих проведение оплат, или /v2/info/banks/indonesia/payout/list — проведение выплат.

Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.

Рис.: Пример запроса списка банков

{
  "general": {
    "project_id": 200,
    "payment_id": "ORDER_155860015",
    "signature": "K6jllym+PtObocZtr345st...=="
  },
  "payment": {
    "amount": 15000,
    "currency": "IDR"
  }
}
Табл. 1. Список банков
Банк ID Оплаты Выплаты
Bank Artha Graha 2871 +
Bank Bukopin 549 +
Bank Central Asia 140 + +
Bank CIMB Niaga 507 +
Bank Commonwealth 567 +
Bank Danamon Indonesia 398 +
Bank HSBC 513 +
Bank Mandiri 143 + +
Bank Maspion 2891 +
Bank MayBank Indonesia 565 +
Bank Mega 547 +
Bank Mestika 2901 +
Bank Negara Indonesia 141 + +
Bank OCBC NISP 509 +
Bank Panin 506 +
Bank Permata 396 +
Bank Rakyat Indonesia 142 + +
Bank Rakyat Indonesia Syariah 545 +
Bank Sinar Mas 2911 +
Bank Sumut 525 +
Bank Tabungan Pensiunan Nasional /BTPN 544 +
Bank UOB Buana Indonesia 508 +
OCBC Indonesia 2921 +

Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения оплат и выплат, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.

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

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

Для оплаты через Payment Page с использованием метода Indonesian Online Banking со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод Indonesian Online Banking можно сделать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов).



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

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

Информация о формате запросов и параметрах вызова Payment Page при работе с методом Indonesian Online Banking, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Описание Payment Page API.

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

При формировании запросов на открытие платёжной формы с применением метода Indonesian Online Banking необходимо учитывать следующее:

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_amount — округлённая до целого числа сумма платежа в дробных единицах валюты;
    • payment_currency — код валюты платежа в формате ISO-4217 alpha-3;
    • customer_id — идентификатор пользователя, уникальный в рамках проекта.
  2. При использовании платёжного метода Indonesian Online Banking можно настраивать отображение страницы Payment Page с выбором метода оплаты.

    По умолчанию банки, поддерживающие проведение оплат методом Indonesian Online Banking, объединены в группу и отображаются одной кнопкой Online Indonesian Banks, поэтому выбор банка осуществляется в два этапа. Сначала выбирается метод Indonesian Online Banking среди прочих, а затем на следующей странице с перечнем банков выбирается конкретный банк. Существует несколько вариантов отображения страницы Payment Page с выбором метода оплаты:

    • Отображение каждого банка группы отдельной кнопкой. Для этого необходимо передавать параметр split_banks со значением true в строке payment_methods_options.
      "payment_methods_options": "{\"online_indonesian_banks\": {\"split_banks\": true}}"
      
    • Отображение кнопок конкретных банков (одного или нескольких). В списке методов может присутствовать метод Indonesian Online Banking. Для этого необходимо передавать идентификаторы банков в параметре banks_id. Для отображения нескольких банков необходимо перечислять идентификаторы этих банков через запятую c пробелом.
      "payment_methods_options": "{\"online_indonesian_banks\": {\"split_banks\": true, \"banks_id\": [140, 141]}}"
    • Отображение только банков группы без других методов. Для этого используется предварительный выбор метода Indonesian Online Banking. Необходимо передавать код платежного метода online-indonesian-banks в параметре force_payment_method. Пользователю отображается страница с выбором банков, минуя страницу с выбором метода оплаты.
    • Отображение сайта конкретного банка. Для этого используется предварительный выбор метода Indonesian Online Banking. Необходимо передавать код платежного метода online-indonesian-banks в параметре force_payment_method и идентификатор банка banks_id в параметре payment_methods_options. Перенаправление пользователя на сайта банка осуществляется без подтверждения готовности оплатить, минуя страницы с выбором метода оплаты и с выбором банков.

      Рис.: Пример данных из запроса на оплату с перенаправлением на сайт банка

      EPayWidget.run(
          { payment_id: 'X03936', 
            payment_amount: 20000000, 
            payment_currency: 'IDR', 
            project_id: 5555,
            customer_id: '1',
            force_payment_method: 'online-indonesian-banks',
            payment_methods_options: '{\"online_indonesian_banks\": {\"banks_id\": [140]}}',
            signature: "kUi2x9dKHAVNU0FYlSCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg=="
          }
      )
  3. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры вызова платёжной формы.
  4. После определения всех параметров необходимо составить подпись. Подробнее — в разделе Работа с подписью к данным.

Таким образом, корректный запрос на открытие платёжной формы с применением метода Indonesian Online Banking должен содержать идентификатор, сумму и валюту платежа, идентификаторы проекта и пользователя, а также подпись:

EPayWidget.run(
    { payment_id: 'X03936', 
      payment_amount: 20000000, 
      payment_currency: 'IDR', 
      project_id: 5555,
      customer_id: '1',
      signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KURLCvhtT4DqtOcZzUCwX6R\/ekpZhkIQg=="
    }
)

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

Для оповещений о результатах оплат с применением метода Indonesian Online Banking используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 200 была успешно проведена оплата в размере 200 000,00 IDR.

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

 {
        "project_id": 200,
        "payment": {
            "id": "154383173598055",
            "type": "purchase",
            "status": "success",
            "date": "2022-09-03T10:50:29+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "description": "1543831735980"
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 15788000002076,
            "type": "sale",
            "status": "success",
            "date": "2022-09-03T10:50:29+0000",
            "created_date": "2022-09-03T10:40:20+0000",
            "request_id": "72cb91e7586004",
            "sum_initial": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": "",
                "date": "2022-09-03T10:44:27+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Cug4rIB6OimEkwmMBi1OfYpapSpZrz00YrFyBErmi0OVw34WpHt5CzEA=="
    }

В следующем примере оплата была отклонена из-за нарушения ограничения на сумму.

Рис.: Пример данных из оповещения об отклонении оплаты

{
        "project_id": 200,
        "payment": {
            "id": "154356886034811111",
            "type": "purchase",
            "status": "decline",
            "date": "2022-09-10T14:11:13+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 1000,
                "currency": "IDR"
            },
            "description": "154356886034811111"
        },
        "operation": {
            "id": 9830000002095,
            "type": "sale",
            "status": "decline",
            "date": "2022-09-10T14:11:13+0000",
            "created_date": "2022-09-10T14:11:06+0000",
            "request_id": "3b14e5b0fd1",
            "sum_initial": {
                "amount": 1000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 10,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "cQbMiD0pON9eJc5ZugNK0iT5SwHc0feItZRcABrPdFA4EKQiyWj7NWQRmVyHzNTmOX6Zg5w=="
    }

Дополнительные материалы

Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:

Оплаты через Gate

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

Для оплаты через Gate с использованием метода Indonesian Online Banking со стороны веб-сервиса необходимо:

  1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
  2. Осуществить перенаправление пользователя на сайт банка (или на страницу выбора банка), поддерживающего работу с методом Indonesian Online Banking.
  3. Принять оповещение о результате оплаты.


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

  1. Пользователь на стороне веб-сервиса инициирует оплату через один из банков, поддерживающих работу с методом Indonesian Online Banking.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
  3. Запрос на проведение оплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис банка.
  7. На стороне банка выполняется обработка запроса на оплату.
  8. От сервиса банка к платёжной платформе передаются данные для перенаправления пользователя на сайт банка.
  9. От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя на сайт банка.

  10. Пользователь перенаправляется на сайт банка.
  11. Пользователь выполняет необходимые действия для оплаты на сайте банка.
  12. На стороне сервиса банка выполняется обработка платежа.
  13. Пользователю отображается результат оплаты на сайте банка.
  14. Пользователь перенаправляется к веб-сервису.
  15. От сервиса банка к платёжной платформе направляется уведомление о результате оплаты.
  16. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  17. От веб-сервиса пользователю направляется результат оплаты.

Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом Indonesian Online Banking, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах оплат приведена далее; общая информация о работе с API — в разделе Работа с API.

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

При формировании запросов на оплату с применением метода Indonesian Online Banking необходимо учитывать следующее:

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

Таким образом, корректный запрос на оплату с применением метода Indonesian Online Banking должен содержать идентификаторы проекта и платежа, подпись, сумму и валюту платежа, IP-адрес и идентификаторы пользователя и банка.

{
    "general": {
      "project_id": 2990,
      "payment_id": payment_id,
      "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "payment": {
      "amount": 35000000,
      "currency": "IDR"
      },
    "customer": {
      "id":"2990",
      "ip_address": "248.121.176"
    },
    "account":{
      "bank_id": 140
    }
 }

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

Для перенаправления пользователя от веб-сервиса на сайт банка (или на страницу выбора банка) необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы банка методом, указанным в redirect_data.method.

Далее приведён фрагмент оповещения, содержащего данные для перенаправления.

"redirect_data": {
            "body": {},
            "method": "POST",
            "url": "https://www.example.com/payment.php"
        },

Формат оповещений о результатах оплат

Для оповещений о результатах оплат с применением метода Indonesian Online Banking используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 200 была успешно проведена оплата в размере 200 000,00 IDR.

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

 {
        "project_id": 200,
        "payment": {
            "id": "154383173598055",
            "type": "purchase",
            "status": "success",
            "date": "2022-09-03T10:50:29+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "description": "1543831735980"
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 15788000002076,
            "type": "sale",
            "status": "success",
            "date": "2022-09-03T10:50:29+0000",
            "created_date": "2022-09-03T10:40:20+0000",
            "request_id": "72cb91e7586004",
            "sum_initial": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": "",
                "date": "2022-09-03T10:44:27+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Cug4rIB6OimEkwmMBi1OfYpapSpZrz00YrFyBErmi0OVw34WpHt5CzEA=="
    }

В следующем примере оплата была отклонена из-за нарушения ограничения на сумму.

Рис.: Пример данных из оповещения об отклонении оплаты

{
        "project_id": 200,
        "payment": {
            "id": "154356886034811111",
            "type": "purchase",
            "status": "decline",
            "date": "2022-09-10T14:11:13+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 1000,
                "currency": "IDR"
            },
            "description": "154356886034811111"
        },
        "operation": {
            "id": 9830000002095,
            "type": "sale",
            "status": "decline",
            "date": "2022-09-10T14:11:13+0000",
            "created_date": "2022-09-10T14:11:06+0000",
            "request_id": "3b14e5b0fd1",
            "sum_initial": {
                "amount": 1000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 10,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "cQbMiD0pON9eJc5ZugNK0iT5SwHc0feItZRcABrPdFA4EKQiyWj7NWQRmVyHzNTmOX6Zg5w=="
    }

Дополнительные материалы

Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:

Выплаты через Gate

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

Для выплаты через Gate с использованием метода Indonesian Online Banking со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате выплаты.



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

  1. Пользователь на стороне веб-сервиса инициирует выплату через один из банков, поддерживающих работу с методом Indonesian Online Banking.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение выплаты через Gate.
  3. Запрос на проведение выплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис банка.
  7. На стороне банка выполняется обработка платежа.
  8. От сервиса банка к платёжной платформе направляется уведомление о результате выплаты.
  9. От платёжной платформы к веб-сервису направляется оповещение о результате выплаты.
  10. От веб-сервиса пользователю направляется результат выплаты.

Информация о формате запросов и параметрах инициирования выплат с применением метода Indonesian Online Banking через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API — в разделе Работа с API.

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

При формировании запросов на выплату с применением метода Indonesian Online Banking необходимо учитывать следующее:

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

Таким образом, корректный запрос на выплату с применением метода Indonesian Online Banking должен содержать идентификаторы проекта и платежа, подпись, сумму и валюту платежа, идентификатор и IP-адрес пользователя, а также данные о счёте пользователя: идентификатор банка, имя держателя, номер (для зачисления средств):

Рис.: Пример запроса на выплату

{
    "general": {
        "project_id": 2990,
        "payment_id": payment_id,
        "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVLhNN5e7aRfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "payment": {
      "amount": 35000000,
      "currency": "IDR"
      },
    "customer": {
      "id":"2990",
      "ip_address": "248.121.176"
    },
    "account":{
      "bank_id": 140,
      "customer_name": "Putra account",
      "number": "314159265358979"
    }
}

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

Для оповещений о результатах выплат с применением метода Indonesian Online Banking используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 200 была успешно проведена выплата в размере 200 000,00 IDR на счёт № 6419422222 банка Bank Central Asia.

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

 {
        "project_id": 200,
        "payment": {
            "id": "PAYOUT7891022555",
            "type": "payout",
            "status": "success",
            "date": "2022-09-12T13:28:58+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "description": "payout"
        },
        "account": {
            "number": "6419422222",
            "bank_id": 140,
            "region_id": 236
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 15112000002236,
            "type": "payout",
            "status": "success",
            "date": "2022-09-12T13:28:58+0000",
            "created_date": "2022-09-12T13:22:15+0000",
            "request_id": "b54610e94a76",
            "sum_initial": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 20000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": "E80NPPQ6Z1YSYPZTPH0NBON42",
                "date": "2022-09-12T13:28:34+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "qV2FRs/wxoOaywQS0GYQDi+6spZFbiRXxt8zG
                            10zy9TNiJLT0P/+EOrpMkoW80mynkaQfSAUJpfQ=="
    }

В следующем примере выплата была отклонена из-за нарушения ограничения на сумму выплаты.

Рис.: Пример оповещения об отказе в проведении выплаты

{
        "project_id": 200,
        "payment": {
            "id": "PAYOUT789",
            "type": "payout",
            "status": "decline",
            "date": "2022-09-07T09:44:43+0000",
            "method": "Indonesian banks",
            "sum": {
                "amount": 5000,
                "currency": "IDR"
            },
            "description": ""
        },
        "account": {
            "number": "6419422222",
            "bank_id": 140,
            "region_id": 236
        },
        "customer": {
            "id": "1"
        },
        "errors": [
            {
                "code": "3104",
                "message": "Payment Constraint Invalid Payout Amount",
                "description": "Gate. Operation was declined. Maximum payout limit is exceeded"
            }
        ],
        "operation": {
            "id": 533000002202,
            "type": "payout",
            "status": "decline",
            "date": "2022-09-07T09:44:43+0000",
            "created_date": "2022-09-07T09:44:43+0000",
            "request_id": "205d3536a91f4737d679ae44f5c707eaace0b
                                009-7b37cb0b1b4d62a602dd42fa7d248258224fe3f6",
            "sum_initial": {
                "amount": 5000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 5000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1153,
                "payment_id": ""
            },
            "code": "3104",
            "message": "Payment Constraint Invalid Payout Amount"
        },
        "signature": "j4cxKDvx0EaDe4zKLbLcb8isoHFxBB/eV5hPzvsN+iFpGJELstSJw0bHot6v83rzDMlinxE915lAWGHKVjurpQ=="
    }

Дополнительные материалы

Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:

Выплаты через Dashboard

При использовании интерфейса Dashboard можно проводить одиночные и массовые выплаты методом Indonesian Online Banking с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.

  • Для проведения одиночной выплаты необходимо открыть форму выплаты, задать все необходимые параметры (включая метод), отправить запрос и убедиться в проведении выплаты.
  • Для проведения массовой выплаты необходимо подготовить и загрузить файл с информацией обо всех целевых выплатах, отправить пакет запросов и убедиться в проведении выплат.

    При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры выплат — требованиям, представленным в разделе Выплаты через Gate этой статьи (за исключением пункта о подписи).

Более подробная информацияИнформация о проведении выплат через Dashboard представлена в отдельном разделе.

Тестирование

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

Для метода Indonesian Online Banking доступно тестирование оплат через Payment Page и Gate, а также выплат через Gate.

Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности необходимо обращаться к специалистам технической поддержки ecommpay support@ecommpay.com.

При проведении тестовых платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, а интерфейсы эмулятора платёжных форм Payment Page и Indonesian Online Banking могут отличаться от рабочих.

Статусы тестовых платежей

При тестировании оплат их итоговые статусы определяются исходя из сумм, указанных в запросах:

  • decline — при указании суммы 40000 или 40400,
  • success — при указании любой другой суммы.

При тестировании выплат их итоговые статусы определяются исходя из сумм, указанных в запросах:

  • decline — при указании суммы 40000 или 40400,
  • success — при указании любой другой суммы.

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

Для проведения тестовой оплаты через Payment Page необходимо:

  1. Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page.
  2. Если в запросе не был указан метод online-indonesian-banks — выбрать метод Indonesian Online Banking на странице эмулятора.
  3. Если для выбора доступно несколько банков, то выбрать банк; если для выбора доступен только один банк, то щёлкнуть кнопку Оплатить.
  4. Щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы).
  5. Принять оповещение с информацией о результате оплаты.

Подробная информация о проведении оплат с использованием метода Indonesian Online Banking через Payment Page представлена в пункте Оплаты через Payment Page.

Оплаты через Gate

Для проведения тестовой оплаты через Gate необходимо:

  1. Отправить в платёжную платформу корректный тестовый запрос на оплату (с указанием идентификатора банка в параметре bank_id, идентификатор следует уточнять у службы технической поддержки ecommpay).
  2. Принять оповещение с данными для перенаправления.
  3. Перейти по полученному URL и щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы) — на странице эмулятора.
  4. Принять оповещение с информацией о результате оплаты.

Подробная информация о проведении оплат с использованием метода Indonesian Online Banking через Gate представлена в пункте Оплаты через Gate.

Выплаты через Gate

Для проведения тестовой выплаты через Gate необходимо отправить в платёжную платформу корректный тестовый запрос и принять оповещение с информацией о результате. Подробная информация о проведении выплат с использованием метода Indonesian Online Banking через Gate представлена в пункте Выплаты через Gate.

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

Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода Indonesian Online Banking доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.

Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:

  • Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
  • Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.

С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.