Перейти к содержанию

ЕРИП

Процесс оплаты

  1. Торговец отправляет в систему Overpay запрос на создание платежного требования, указав уникальный account_number.
  2. Overpay присылает в ответе инструкцию для завершения оплаты.
  3. Торговец отображает инструкцию покупателю.
  4. Покупатель завершает оплату в приложении своего банка.
  5. Overpay отправляет торговцу автоматическое уведомление с результатом оплаты.

Создание платежного требования

Запрос

Отправьте запрос оплаты со следующими данными:

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, на который будет возвращен покупатель после завершения операции в платёжной системе.
object
Секция параметров способа оплаты.
type
обязательный
string
erip
account_number
обязательный
string (30)
Идентификатор заказа/услуги/договора, для оплаты через ЕРИП. Данное значение необходимо ввести покупателю, чтобы начать процесс оплаты заказа/услуги/договора через ЕРИП. Если будет прислан запрос на оплату с account_number, который уже есть в системе, то предыдущее требование на оплату получит статус expired.
object
Секция информации о покупателе.
first_name
string
Имя покупателя. Максимальная длина: 60 символов.
middle_nam
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 после проведения оплаты.

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
object
Секция, содержащая дополнительную информацию о платеже.
notifications
array
Типы уведомлений, отправляемых покупателям при создании платежных требований.
object
Секция информации о покупателе.
first_name
string
Имя покупателя.
middle_name
string
Отчество покупателя.
last_name
string
Фамилия покупателя.
country
string
Страна покупателя.
city
string
Город покупателя.
zip
string
Почтовый индекс или zip-код покупателя.
address
string
phone
string
Телефонный номер покупателя.
object
Секция информации о покупателе.
ip
string
IP адрес покупателя.
email
string
Электронная почта покупателя.
object
Секция оплаты.
ref_id
string
Идентификационный номер транзакции в ЕРИП.
message
string
Сообщение ЕРИП.
status
string
Статус операции в ЕРИП.
gateway_id
string
ID внутреннего платежного шлюза.
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.

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