Создание счёта в ЕРИП
Требования к API запросам
Запросы на выставление платёжных требований в ЕРИП к API bePaid должны:
- иметь авторизацию типа Basic c ID магазина и секретным ключем магазина как имя пользователя и пароль соответственно;
- иметь заголовки
Content-Type: application/jsonиAccept: application/json.
Запрос на оплату через ЕРИП отправляется в виде JSON-сообщения. В случае принятия запроса системой, возвращается ответ со статусом оплаты pending или permanent.
В случае возникновения ошибки, возвращается статус error и описание ошибки.
Как работает оплата через ЕРИП
После получения от bePaid на ваш запрос ответа со статусом pending или permanent об успешном создании счёта в ЕРИП, bePaid и мы находимся в стадии ожидания подтверждения оплаты от ЕРИП.
Когда оплата проходит и bePaid получает от АИС <<Расчёт>> уведомление об этом, то статус платежа меняется на successful или failed и высылается уведомление об оплате на скрипты вашей IT-системы, а платеж с обновлённым статусом отображается в личном кабинете.
Если оплата началась, но по каким-то причинам не завершилась, платёжное требование находится в статусе start 30 минут и не доступно для повторной оплаты.
По истечении 30 минут, оно автоматически вернется в статус pending и будет снова доступно для оплаты.
Статусы платёжных требований
| Статус | Описание |
pending |
Платежное требование создано успешно. Находимся в ожидании оплаты |
auto_created |
Платёжное требование, созданное при авансовой оплате или при оплате постоянного платежного требования. Находимся в ожидании оплаты |
expired |
Платёжное требование не оплачено и срок оплаты истёк или было созданно новое платёжное требование с тем же номером заказа/счёта или договора. |
permanent |
Постоянно действующее платёжное требование на оплату. По данному счёту можно платить сколько угодно раз. |
successful |
Оплата произведена успешно. |
failed |
Оплата произведена не успешно. |
deleted |
Платёжное поручение удалено торговцем. |
Создать платёжное требование
Отправьте POST запрос на https://api.bepaid.by/beyag/payments со следующими параметрами:
Параметры запроса
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример запроса
{
"request": {
"amount": 1000,
"currency": "BYN",
"description": "Оплата заказа #123",
"email": "ivanpetrov@example.com",
"ip": "127.0.0.1",
"order_id": 123456789012,
"tracking_id": "AB8923",
"notification_url": "http://merchant.example.com",
"customer": {
"first_name": "Иван",
"middle_name": "Иванович",
"last_name": "Петров",
"country": "BY",
"city": "Минск",
"zip": "220000",
"address": "ул. Независимости, 1",
"phone": "+375172000000"
},
"payment_method": {
"type": "erip",
"account_number": "123",
"service_no": "99999999",
"service_info": [
"Оплата заказа 123"
],
"receipt": [
"Спасибо за оплату заказа 123"
]
},
"additional_data":{
"receipt_text": ["Первая строка", "Вторая строка"],
"notifications": [
"sms"
]
}
}
}
Пример запроса со счётчиком
{
"request": {
"amount": 1000,
"currency": "BYN",
"description": "Оплата водоснабжения счётчика #123",
"email": "ivanpetrov@example.com",
"ip": "127.0.0.1",
"order_id": 123456789012,
"tracking_id": "AB8923",
"notification_url": "http://merchant.example.com",
"customer": {
"first_name": "Иван",
"middle_name": "Иванович",
"last_name": "Петров",
"country": "BY",
"city": "Минск",
"zip": "220000",
"address": "ул. Независимости, 1",
"phone": "+375172000000"
},
"payment_method": {
"type": "erip",
"account_number": "123",
"service_no": "99999999",
"service_info": [
"Оплата водоснабжения счётчика #123"
],
"receipt": [
"Спасибо за оплату"
],
"erip_devices": [
{
"name":"Холодная вода",
"item_unit":"м3",
"rank":"4",
"value":"1234",
"rate":"0.4392"
}
]
},
"additional_data":{
"receipt_text": ["Первая строка", "Вторая строка"],
"notifications": [
"sms"
]
}
}
}
Параметры ответа
Если платежный запрос принят успешно, ответ будет выдан в виде JSON-сообщения, содержащего status. Такое же сообщение будет отправлено в уведомлении на notification_url после проведения оплаты.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример ответа
{
"transaction":{
"status":"pending",
"message":"Требование на оплату счёта создано.",
"type":"payment",
"id":"8759cf84-e56d-44b7-a8ae-62640f6402c4",
"uid":"8759cf84-e56d-44b7-a8ae-62640f6402c4",
"order_id":"100000003495",
"amount":22000,
"currency":"BYN",
"description":"Оплата заказа #123",
"tracking_id":"AB8923",
"created_at":"2015-12-07T14:21:24.420Z",
"expired_at":"2016-12-07T14:21:240Z",
"paid_at":"2016-12-07T14:40:120Z",
"manually_corrected_at": null,
"test":true,
"payment_method_type":"erip",
"billing_address":{
"first_name":"Иван",
"middle_name": "Иванович",
"last_name":"Петров",
"country":"BY",
"city":"Минск",
"address":"ул. Независимости, 1",
"zip":"220000",
"phone":"+375172000000"
},
"customer":{
"email":"ivanpetrov@example.com",
"ip":"127.0.0.7"
},
"payment":{
"ref_id":null,
"message":null,
"status":"pending",
"gateway_id":1
},
"erip":{
"request_id":"00000001",
"service_no":99999999,
"account_number":"123",
"transaction_id":"0000001",
"service_info":["Оплата заказа 123"],
"instruction": ["'Расчёт' ЕРИП-> Интернет-магазины/сервисы-> B -> bePaid.by"],
"receipt":["Спасибо за оплату заказа 123"]
}
}
}
Пример ответа об ошибке
Если случается ошибка, то ответ будет следующего вида:
{
"message": "Unknown 'erip' payment method",
"errors": {
"system": [
"System error."
]
}
}
|
Получение данных о платеже
По uid платежа
Чтобы получить детали платежа по :uid платежа, отправьте GET запрос с авторизационными данными на https://api.bepaid.by/beyag/payments/:uid.
По order_id платежа
Чтобы получить детали платежа по :order_id платежа, отправьте GET запрос с авторизационными данными на https://api.bepaid.by/beyag/payments/?order_id=:order_id.
Удаление по uid платежа
Если по какой-то причине, вам необходимо отменить созданное платёжное требование, то требования в статусах pending или permanent доступны для удаления.
Для сохранения истории и поддержания целостности данных, реального удаления платежа не происходит.
Платеж переходит в статус deleted и не будет больше доступен для оплаты.
Для удаления платёжного требования отправьте DELETE запрос с авторизационными данными на https://api.bepaid.by/beyag/payments/:uid.