ЕРИП
Процесс оплаты
- Торговец отправляет в систему Overpay запрос на создание платежного требования, указав уникальный
account_number
. - Overpay присылает в ответе инструкцию для завершения оплаты.
- Торговец отображает инструкцию покупателю.
- Покупатель завершает оплату в приложении своего банка.
- Overpay отправляет торговцу автоматическое уведомление с результатом оплаты.
Создание платежного требования
Запрос
Отправьте запрос оплаты со следующими данными:
Параметр | Тип | Описание |
---|---|---|
request | object | |
amount * обязательный |
integer | Сумма платежа в копейках, например, 32.45 BYN должны быть отправлены как 3245 . |
currency * обязательный |
string | BYN |
description * обязательный |
string | Описание заказа. |
ip | string | IP адрес покупателя. |
expired_at | string | Время, до которого действителен платёж. По умолчанию бессрочно. Формат: ISO 8601. Формат YYYY-MM-DDThh:mm:ssTZD , где YYYY – год (например, 2027), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – временная зона (+hh:mm или –hh:mm), например, +03:00 для Минска. |
notification_url | string | URL, на который будут приходить уведомления торговцу. Если не передан, уведомления не будут доставляться. |
tracking_id | string | Параметр для передачи внутренней информации об оплате (номер заказа или покупателя и тд), которая в дальнейшем позволит отследить оплату в пришедшем уведомлении. |
return_url * обязательный |
string | URL, на который будет возвращен покупатель после завершения операции в платёжной системе. |
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | erip |
account_number * обязательный |
string (30) | Идентификатор заказа/услуги/договора, для оплаты через ЕРИП. Данное значение необходимо ввести покупателю, чтобы начать процесс оплаты заказа/услуги/договора через ЕРИП. Если будет прислан запрос на оплату с account_number , который уже есть в системе, то предыдущее требование на оплату получит статус expired . |
customer | object | Секция информации о покупателе. |
first_name | string | Имя покупателя. Максимальная длина: 60 символов. |
middle_name | string | Отчество покупателя. Максимальная длина: 60 символов. |
last_name | string | Фамилия покупателя. Максимальная длина: 60 символов. |
country | string | Страна покупателя в ISO 3166-1 alpha-2 формате |
city | string | Город покупателя. Максимальная длина: 120 символов. |
zip | string | Почтовый индекс покупателя. Максимальная длина: 40 символов |
address | string | Адрес для выставления счёта. Максимальная длина: 510 |
phone | string(200) | Номер телефона покупателя. |
device_id | string | Идентификационный номер устройства покупателя. |
Пример запроса
{
"request": {
"amount": 100,
"currency": "BYN",
"description": "description",
"test": true,
"expired_at": "2025-05-01T15:00:00+01:00",
"tracking_id": "your_uniq_number",
"ip": "127.0.0.1",
"language": "en",
"notification_url": "https://merchant.ltd/notification",
"return_url": "https://merchant.ltd/return",
"customer": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович",
"country": "BY",
"city": "Минск",
"zip": "220050",
"address": "просп. Независимости, 10",
"phone": "17777777777",
"device_id": "12312312321fff67"
},
"method": {
"type": "erip",
"account_number": "1234567-1234567890"
}
}
}
Ответ
Если платежный запрос принят успешно, ответ будет выдан в виде JSON-сообщения, содержащего status. Такое же сообщение будет отправлено в уведомлении на notification_url
после проведения оплаты.
Параметр | Тип | Описание |
---|---|---|
transaction | object | |
status | string | Статус платежа. |
message | string | Сообщение системы |
type | string | payment |
amount | integer | Сумма платежа в копейках. |
currency | string | Валюта транзакции. |
description | string | Описание заказа. |
uid | string | uid транзакции. |
tracking_id | string | Значение tracking_id из запроса. |
expired_at | string | Дата, до которой действует платёж. Данный параметр отсутствует, если у платежа нет срока действия. Смотрите описание формата в expired_at запроса на оплату. |
paid_at | string | Дата, когда был оплачен платёж. Данный параметр отсутствует, если платеж еще не оплачен. Смотрите описание формата в expired_at запроса на оплату. |
created_at | string | Время создания платёжного требования. |
manually_corrected_at | string | Время корректировки параметров транзакции службой технической поддержки, формат ISO-8601. |
language | string | Значение параметра language из запроса или en по умолчанию. |
test | boolean | true , если платежный запрос является тестовым. |
payment_method_type | string | erip |
additional_data | object | Секция, содержащая дополнительную информацию о платеже. |
notifications | array | Типы уведомлений, отправляемых покупателям при создании платежных требований. |
billing_address | object | Секция информации о покупателе. |
first_name | string | Имя покупателя. |
middle_name | string | Отчество покупателя. |
last_name | string | Фамилия покупателя. |
country | string | Страна покупателя. |
city | string | Город покупателя. |
zip | string | Почтовый индекс или zip-код покупателя. |
address | string | Адрес покупателя. |
phone | string | Телефонный номер покупателя. |
customer | object | Секция информации о покупателе. |
ip | string | IP адрес покупателя. |
string | Электронная почта покупателя. | |
payment | object | Секция оплаты. |
ref_id | string | Идентификационный номер транзакции в ЕРИП. |
message | string | Сообщение ЕРИП. |
status | string | Статус операции в ЕРИП. |
gateway_id | string | ID внутреннего платежного шлюза. |
erip | object | Данные о ЕРИП платеже. |
request_id | integer | Номер запроса в ЕРИП. |
service_no | integer | Код услуги ЕРИП, присвоенный Overpay. |
account_number | string | Идентификатор заказа/услуги/договора, для оплаты через ЕРИП. |
transaction_id | integer | Номер операции в ЕРИП. |
instruction | array | Массив строк информации, которая описывает путь в дереве ЕРИП для нахождения платежного поручения. |
service_info | array | Массив строк информации, которая будет показана плательщику перед подтверждением оплаты через ЕРИП и описывающая, за что происходит оплата. |
receipt | array | Массив строк информации, которая будет отображена на чеке-подтверждении оплаты через ЕРИП. |
agent_code | integer | Код платежного агента, принявшего платеж. |
agent_name | string | Имя платежного агента, принявшего платеж. |
service_no_erip | integer | Код услуги, присвоенный ЕРИП. |
qr_code_raw | string | Закодированные в base64 данные для генерации QR-кода. |
qr_code | string | Закодированная в base64 PNG картинка QR-кода. Для отображения QR-кода на сайте нужно вставить значение qr_code в img HTML тэг: <img src="здесь значение qr_code"> . |
Пример ответа
{
"transaction": {
"uid": "5046a011-cbbc-4f90-be62-be26aab13253",
"type": "payment",
"status": "pending",
"amount": 100,
"currency": "BYN",
"description": "description",
"created_at": "2025-04-02T07:29:07Z",
"updated_at": "2025-04-02T07:29:11Z",
"method_type": "erip",
"receipt_url": "https://backoffice.overpay.io/customer/transactions/5046a011-cbbc-4f90-be62-be26aab13253/0f2bec00306efcea78f6feaf23bde471afd7ad2f748c64b1b060efb4b04767ff?language=en",
"payment": {
"status": "pending",
"gateway_id": 5202,
"ref_id": "85d1c616-39fc-4af0-951b-57181a2af70c",
"message": "Требование на оплату счета создано."
},
"erip": {
"request_id": null,
"service_no": null,
"account_number": "1234567-1234567890",
"transaction_id": null,
"instruction": [
"Платежи -> Магазин -> Оплата"
],
"service_info": [
"Введите номер заказа"
],
"receipt": [
"Спасибо за оплату"
],
"agent_code": null,
"agent_name": null,
"service_no_erip": "12345678",
"qr_code_raw": "MDAwMjAxMDEwMjEyMzI1NDAwMTBieS5yYXNjaGV0MDEwODEyMzQ1Njc4MTAxODEyMzQ1NjctMTIzNDU2Nzg5MDEyMDIxMjMzMjIwMDE4YnkuZXBvcy5iZUdhdGVUZXN0NTIwNDQ1Njc1MzAzOTMzNTQwNDEuMDA1NTAyMDI1ODAyTFQ1OTA5RGVtb1Rlc3RzNjAwN1ZpbG5pdXM2MjI4MDIxMTE3Nzc3Nzc3Nzc3MDMwOURlbW9UZXN0czY0MTkwMDAyZW4wMTA5RGVtb1Rlc3RzNTYwNDEuMDA2MzA0RTg1QQ==",
"qr_code": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAALEAAACxAQAAAACjUmFoAAADo0lEQVR4nO2WsW/bRhSH71SYkoe6iDuISmBRHiLPUQYrQwzUGWwNVWY7g2gBkaihKuoOpmhAPCoopUyF48GUjIjkYHauOlgeHKBeoqXOXHuQqAASOdgGnCEijerqPyDA09rCNz58+N33wLvHC9AvLhJAX1539bv6f7VOcTAfMJQSjpSyFRsTMEe2nwzW6gt2YUEVg2N4X1vuEvcvciCfHAo0NInnR41poZLafpacrC895rt/Bj8VD8kkPKcQe7H3mx2nPxbxCOYVbpBLT3Xl971MtxQAeUy9hLn9WNlOGn/s6pRAPA0MP1zPvY/EUtf8kAuCPGKOZGKqObo4L7zb+ATzvDNr+eYD9SOZyjZ0mG/fK+RVkd3MqEe6yoD9ovW0Tr7Lpt04v+ys+yCPv06KG80ofTrqH7+5KIA+VEqF7ilYc0y5gyb4XrjX4ohf3u/1oz5zWIT9rfRyzWiglmguDe0S6IM22SnVwbI9453b96NgPi322yLDP4/TwkNZcOH8/bfCq57hSWLY3t17BPNTAXFOSzOOe2rQUzgf27d31vAb/O+PO9a3v8D59ew+WVv0uEIR9ZlZuN/qErqZJheDzI48lCY4z3xK+L6r1OebV/MJJwP77yVyR6rTEH3vc4+B5xUNDbW+wa+EsL3NRQjoj0flGvvz22o3Fo4z5QrIo4aDqHB7TBm8ceLwMJ9jwwP2lVLtHGgWOwf6o0qFdy63IlypMJQqr2Eee4Unpap33ly7H43sgDzVLg9PosOZd1hFq/wVyGOVRawpicv0zUrS8GAfb0O66DaN8FcLpL/SRCB/yfKtfaWrZs5u93oB+yszv344rRN3CZnjtgXm4793tbbvFpIvgpr/7AzkaczxvUUSPrMYR3/6EPTBunahkJdZ/WSWEneC+dZxNqmioTRKNVM7XZBH+shKO2b8hoQlK92C+5Vq7oNuR7ToDI9aKTifDV9HWR+T6Mb8CIVh/54bWmeOCXvzqFO1v4Hza6xYey2hYSwfL4XWYD7/Aylv2dy1o3dDmTjYL6qParoioNrWtubFRZDHNBsmdrKP1VU89k3YB0XTWL3MD3zG8Mvw/47i6YRXP6NyVRYsB4E8knvO89ixIvmtjMCuwrxNkOGdR+K1q8Rm5WACf2qfuZynoZ8GTmmC9wNCc3skT9x/QqZqwfcLccQkL4PCLMrxRx14niMl1je19WPBlQyHToP87ftqnMO6PWa5nhiZ4P12V7+r/0/q/wK4EMbci6sW9QAAAABJRU5ErkJggg=="
},
"customer": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович",
"country": "BY",
"city": "Минск",
"zip": "220050",
"address": "просп. Независимости, 10",
"phone": "17777777777",
"device_id": "12312312321fff67",
"email": null,
"ip": "127.0.0.1"
},
"manually_corrected_at": null,
"version": 0,
"message": "Требование на оплату счета создано.",
"tracking_id": "your_uniq_number",
"test": true,
"language": "en",
"expired_at": "2025-05-01T15:00:00+01:00",
"billing_address": {
"first_name": "Иван",
"last_name": "Иванов",
"middle_name": "Иванович",
"country": "BY",
"city": "Минск",
"zip": "220050",
"address": "просп. Независимости, 10",
"phone": "17777777777",
"device_id": "12312312321fff67"
},
"additional_data": {
"payment_method": {
"type": "erip"
}
},
"gateway": {
"iframe": false
}
}
}
Уведомления о ЕРИП платежах
Для информирования вашей IT-системы об изменениях статуса платежного требования и об осуществленной оплате Overpay использует механизм уведомлений на адрес, указанный в notification_url
запроса.
Уведомления - это POST-запросы с вашими авторизационными данными и содержащие JSON-сообщения с данными платёжного требования.
Проверяйте авторизационные данные, чтобы убедиться, что запрос пришел от Overpay.
Уведомления приходят в случае изменения статуса операции на pending
, expired
, failed
или successful
.
Параметры автоматического уведомления совпадают с параметрами ответа на запрос на создание платежного требования.