Skip to content

ERIP

Payment flow

  1. The merchant sends a create a payment request to the Overpay system specifying the unique account_number.
  2. Overpay sends the response with the instruction on how to complete the payment.
  3. The merchant displays the instruction to the customer.
  4. The customer completes the payment in the bank application of their choice.
  5. Overpay sends a webhook notification to the merchant when the payment status changes.

Create a payment request

Request

Send a payment request with the following parameters:

object
amount
required
integer
currency
required
string
BYN.
description
required
string
An order description.
ip
string
The customer's IP address.
expired_at
string
An expiry time of the payment request. Set in the ISO-8601 format: YYYY-MM-DDThh:mm:ssTZD, where YYYY stands for the year (for example, 2027), MM stands for the month (for example, 02), DD stands for the day (for example, 09), hh stands foe the hour (for example, 18), mm stands for minutes (for exampl, 20), ss stands for seconds (for example, 45), TZD stands for the timezone (+hh:mm or –hh:mm), for example, +03:00 for Helskinki. By default, timeless.
notification_url
string
An URL to get webhook notifications. If the parameter is not set, no notifications are sent out to the merchant.
tracking_id
string
The parameter to submit an order ID or an account ID related to a payment. Used to track the payment in the received webhook notification. If not submitted, the system set it to the order_id value.
return_url
required
string
A URL to return the customer to when a transaction is completed.
object
A section of the payment method information.
type
required
string
erip
account_number
required
string(30)
An order, bill, agreement or account ID for a payment via ERIP. The customer should indicate this value to initiate the payment via ERIP. If you send another request with the same account_number value, the system will set the expired status to a previously created payment request with this value.
object
A section of the customer information.
first_name
string(60)
The customer's first name.
middle_name
string(60)
The customer's middle name.
last_name
string(60)
The customer's last name.
country
string
The customer's country in the ISO 3166-1 alpha-2 format.
city
string(120)
The customer's city.
zip
string(40)
The customer's zip.
address
string(510)
The customer's billing address.
phone
string(200)
The customer's phone number.
device_id
string
The customer's device ID.
Request example
{
    "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"
        }
    }
}

Response

If the system accepts the request, it returns a JSON -serialized response with the status. A similar response will be sent in a webhook notification to notification_url after a payment is finished.

object
status
required
string
A payment status.
message
required
string
A system message.
type
required
string
payment
amount
required
integer
currency
required
string
BYN
description
required
string
An order description.
uid
required
string
A transaction UID.
tracking_id
required
string
The tracking_id value from the request.
expired_at
string
An expiry date of the payment request. Missing if the request is timeless. Refer to the description of the expired_at request parameter.
paid_at
string
A date when the payment was made at. Missing if the payment is not made yet. Refer to the description of the expired_at request parameter.
created_at
string
A date when the payment request was created at.
manually_corrected_at
string
Time in the ISO-8601 format when the transaction parameters were updated in the back office system by the Tech Support Team.
language
string
A value of the language request parameter or en by default.
test
boolean
true if the payment request is a test one. Otherwise, false.
payment_method_type
string
erip
object
A section of additional payment information.
notifications
array
Types of notifications sent to the customer when a payment request is created.
object
A section for additional customer information.
first_name
string
The customer's first name.
middle_name
string
The customer's middle name.
last_name
string
The customer's last name.
country
string
The customer's country.
city
string
The customer's city.
zip
string
The customer's zip.
address
string
The customer's billing address.
phone
string
The customer's phone number.
object
A section of the customer information.
ip
string
The customer's IP address.
email
string
The customer's email.
object
A payment section.
ref_id
string
The ERIP reference number of a transaction.
message
string
The ERIP message.
status
string
The ERIP payment status.
gateway_id
string
The gateway ID.
object
A section of ERIP payment details.
request_id
integer
The ERIP request ID.
service_no
integer
The ERIP service number assigned by Overpay.
account_number
string
The order, bill, agreement or account ID for the payment via ERIP.
transaction_id
integer
The ERIP transaction ID.
instruction
array
Information to describe how to find the payment request in the ERIP service tree. Represented as an array of strings.
service_info
array
The order description shown to the customer before a payment via ERIP. Represented as an array of strings.
receipt
array
Information shown to the customer in the payment receipt. Represented as an array of strings.
agent_code
integer
The payment agent code.
agent_name
string
The payment agent name.
service_no_erip
integer
The service number assigned by ERIP.
qr_code_raw
string
base64-encrypted data to generate a QR code.
qr_code
string
The base64-encrypted .PNG picture of the QR code. To show the QR code, embed the qr_code value as the img HTML tag: <img src="qr_code value here">.
Response example
{
  "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
    }
  }
}

Notifications about ERIP payments

To keep your IT-system notified of any changes of the payment request statuses and of processed payments, Overpay uses webhook notifications that are sent to notification_url indicated in the request.

Webhook notifications are POST-requests with your authorization data that contain JSON-serialized details of an ERIP payment request.

Verify your authorization credentials to make sure you got a request from Overpay.

Notifications are sent out if a payment status is changed to pending, expired, failed or successful.

Webhook notification parameters are the same as in the synchronous response to the payment request.