API для интеграции с деревом услуг EРИП
Содержание
- Требования к API запросам
- Получение дерева ЕРИП
- Отправка параметров required_attributes, полученных в ответе от конечного узла
- Регистрация платежа, если у торговца сохранены конечный узел и лицевой счет покупателя
- Получение токена карты
- Отмена блокировки средств
- Авторизация платежа и списание средств у покупателя
Info
Обратите внимание, что при оплате с помощью параметров дерева услуг ЕРИП нельзя использовать транзакцию типа оплата (payment) – используйте только тип транзакции авторизация (authorization).
Требования к API запросов
Все запросы должны:
- Иметь авторизацию типа Basic c ID магазина и секретным ключом магазина как имя пользователя и пароль соответственно, иметь заголовки
Content-Type: application/jsonиAccept: application/json - Использовать SSL соединение с 128-bit (или более сложным) шифрованием
- Использовать кодировку UTF-8.
Получение дерева ЕРИП
Отправьте POST запрос на https://api.bepaid.by/beyag/gateways/komplat/get_pay_list.
В ответе будет получен набор узлов дерева ЕРИП. Для продвижения в глубь узла дерева, необходимо отправить новый запрос с pay_code узла, в который необходимо зайти. Запросы выполняются до тех пор, пока покупатель не дойдет до конечного узла (до услуги, за которую покупатель хочет заплатить).
Если узел в запросе является конечным, то в ответе будут возвращены параметры, которые покупатель должен заполнить для завершения регистрации платежа.
Параметры запроса
|
Пример запроса
{
"terminal_id": "10000002",
"pay_code": "11000000000",
"di_type": "9191"
}
Параметры ответа, если узел в запросе не является конечным
|
Пример ответа, если узел в запросе не является конечным
[
{
"code":"11000304194",
"name":"Банковские, финансовые услуги",
"di_type":"9120"
},
{
"code":"11000300001",
"name":"БЕЛТЕЛЕКОМ",
"di_type":"9120"
},
{
"code":"11000300002",
"name":"Домофонные системы, Видеонаблюдение",
"di_type":"9120"
},
{
"code":"11000300088",
"name":"Интернет, Телевидение, Телефония",
"di_type":"9120"
},
{
"code":"11000300004",
"name":"Интернет-магазины/сервисы",
"di_type":"9120"
},
{
"code":"11000300005",
"name":"Коммунальные платежи",
"di_type":"9120"
},
{
"code":"11000300006",
"name":"Мобильная связь",
"di_type":"9120"
},
{
"code":"11000304212",
"name":"Налоги",
"di_type":"9120"
},
{
"code":"11000304351",
"name":"Стоянки, гаражи, парковки",
"di_type":"9120"
},
{
"code":"11000304168",
"name":"Суды, Юстиция, Юридические услуги",
"di_type":"9120"
}
]
Параметры ответа, если узел в запросе является конечным
|
|||||||||||||||||||||||||
Пример ответа, если узел в запросе является конечным
{
"code": "10002642301",
"name": "оплата по номеру телефона",
"di_type": "9191",
"information": "Введите 9 цифр тестового номера телефона",
"customer_name": {
"first_name": null,
"middle_name": null,
"last_name": null
},
"required_attributes": [
{
"code": "1001",
"name": "тестовый номер телефона",
"min_length": "9",
"max_length": "9"
}
],
"information_attributes": [],
"erip_session_id": "00000000000121603908-01-FBBD95"
}
Отправка параметров required_attributes, полученных в ответе от конечного узла
Параметры запроса
Отправьте POST запрос на https://api.bepaid.by/beyag/gateways/komplat/get_pay_list со следующими параметрами:
|
Пример запроса
{
"terminal_id": "10000002",
"pay_code": "10004372291",
"di_type": "9191",
"erip_session_id": "00000000005698332392-01-A7512E",
"attributes": {
"1001": "0291234567"
}
}
Параметры ответа
|
|||||||||||||||||||||||||||||||||
Пример ответа
{
"code": "10004372291",
"name": "Коммунальные платежи",
"di_type": "9191",
"billed_amount": "122.43",
"fixed_amount": true,
"currency": "BYN",
"information": null,
"information_attributes": [
{
"name": "Дата выставления",
"value": "12.03.2021"
},
{
"name": "Период",
"value": "02.2021"
},
{
"name": "Начислено",
"value": null
},
{
"name": "Начислено",
"value": "122,11 BYN"
},
{
"name": "Долг по пене",
"value": "0,32 BYN"
}
],
"customer_name": {
"first_name": null,
"middle_name": null,
"last_name": null
},
"erip_fine": "0.00",
"erip_commision": "0.00",
"erip_session_id": "00000000005698332392-00-0F0D24"
}
Регистрация платежа, если у торговца сохранены конечный узел и лицевой счет покупателя
Способ используется для реализации сохранения шаблона платежа ЕРИП. Таким образом, покупателю не придется перед каждым платежом продвигаться в глубь дерева ЕРИП.
Параметры для запроса должны храниться в базе данных торговца.
Отправьте POST запрос на https://api.bepaid.by/beyag/gateways/komplat/get_pay_list со следующими параметрами:
|
|||||||||||||||||||
Пример запроса
{
"terminal_id": "10000002",
"pay_code": "10004345361",
"di_type": "9191",
"customer": {
"personal_account": "28923485423"
}
}
Параметры ответа
Параметры ответа аналогичны, указанным в разделе Отправка параметров required_attributes, полученных в ответе от конечного узла.
Пример ответа
{
"code": "10004345361",
"name": "Абонентская плата",
"di_type": "9191",
"billed_amount": "0.00",
"fixed_amount": false,
"currency": "BYN",
"information": "Введите лицевой счет Иван Иванович Иванов г. Минск, ул. Селицкого, д. 1, кв. 11, 1 под., 1 эт.-",
"information_attributes": [
{
"name": "Лицевой счет",
"value": "112233"
},
{
"name": "Период",
"value": "0221"
}
],
"customer_name": {
"first_name": null,
"middle_name": null,
"last_name": null
},
"erip_fine": "0.00",
"erip_commision": "0.00",
"erip_session_id": "00000000005656285468-00-664734"
}
Получение токена карты
Получить токен карты можно заранее, например, при регистрации покупателя в приложении предложить привязать карту. Далее с полученным токеном проводить платежи ЕРИП.
Запрос на получение токена карты аналогичен описанному в разделе Авторизация.
Отмена блокировки средств
Запрос используется после успешной авторизации для отмены блокировки средств после авторизации.
Запрос на отмену блокировки средств аналогичен описанному в разделе Отмена авторизации.
Авторизация платежа и списание средств у покупателя
Info
Обратите внимание, что при оплате с помощью параметров дерева услуг ЕРИП нельзя использовать транзакцию типа оплата (payment) – используйте только тип транзакции авторизация (authorization).
Запрос аналогичен описанному в разделе Авторизация.
После успешной авторизации, автоматически будет произведено списание средств у покупателя.
Описание параметров ЕРИП опубликовано в request.additional_data.komplat в описании запроса на Авторизацию.
Пример запроса
{
"request": {
"amount": 100,
"currency": "BYN",
"description": "Test transaction",
"tracking_id": "my_tracking_id",
"credit_card": {
"token": "144da09d-078e-4aca-8919-032c87763b55"
},
"additional_data": {
"komplat": {
"pay_code": "10000156731",
"di_type": "9191",
"erip_session_id": "00000000000117153888-00-46F3AE"
}
}
}
}