Skip to content

ERIP External

Erip External is an integration option designed for the merchants who have their own website and store all the information required for making ERIP payments and for issuing ERIP invoices in their system.

Payment flow

  1. The customer initiates ERIP payment in the internet banking system.
  2. ERIP requests information about the payment from the bePaid system.
  3. bePaid requests account verification from the merchant.
  4. Merchant responds to the bePaid with the payment information including the debt amount. If there is no debt, "amount": 0 must be sent. If processing the request results in an error, the code other than 0 must be sent in the result field. The merchant must respond within 14 seconds. Otherwise, the transaction request returns a Request timeout error.
  5. bePaid sends a response to the ERIP system.
  6. Payment information is displayed to the customer.
  7. The customer edits the payment details if neccessary (if this option is available) and confirms the payment.
  8. bePaid sends a webhook notification to the merchant with the transaction result.
  9. The merchant responds with the result of the webhook processing.
  10. The transaction result is displayed to the customer.

Payment cancellation flow

Info

Payment cancellation via ERIP is possible only if the corresponding option is enabled for this merchant in the ERIP system.

  1. ERIP initiates the payment cancellation and notifies the bePaid system about the initiation of the payment cancellation.
  2. bePaid always sends a positive response to the payment cancellation request from ERIP.
  3. ERIP sends a request to bePaid with the cancellation result.
  4. bePaid sends a webhook notification to the merchant with the refund result.
  5. The merchant responds with the result of the webhook processing.

Account verification

  1. The merchant must accept the requests from bePaid to the endpoint erip/account_verification.
  2. The merchant must send a response to the account verification request in JSON format.
  3. The request will contain the following headers:

    Accept: application/json
    Content-type: application/json

  4. The merchant's application needs to support Basic Auth authorization type. The request sent to the merchant system will contain HTTP header Authorization with the value Basic [Base64 encoded login: password] where Shop ID is used as a login and Secret Key is used as a password. For example, Authorization: Basic bG9sOnNlY3VyZQ==. See how to find Shop ID and Secret key here.

  5. The merchant's application must be able to process HTTP POST requests.
  6. The response must be sent within a 14-second timeframe. Otherwise, bePaid terminates the connection with a Request timeout error.
Request
object
account
required
string
Unique customer identifier in the merchant's system.
service_no
required
string
The merchant's service number in the ERIP system.
id
required
string
Unique transaction identifier in the bePaid system.
currency
required
string
Transaction currency in the ISO-4217 alpha-3 code format. For example, BYN.
object
type
string
erip_external
Example of the request
{
    "request": {
        "id": "785c8e-252a-4563-345-3452345",
        "service_no": "6740",
        "currency": "BYN",
        "method": {
            "type": "erip_external"
        },
        "account": "2222XXXXXXXXXX"
    }
}
Response
object
id
string
Unique transaction identifier in the bePaid system, id from the request.
tracking_id
string
Unique transaction identifier in the merchant system.
amount
required
bigInteger
The amount the customer owes the merchant in minimal currency units. If there is no debt, must be sent as 0.
editable_amount
boolean
If true, the customer is allowed to edit the amount of the transaction. If amount=0, editable_amount must not be sent.
currency
string
Transaction currency sent in the request.
result
required
string
Error code. 0 – OK, any other code – error.
description
string
Order description.
object
Object with customer information.
first_name
string
Customer's first name.
last_name
string
Customer's last name.
middle_name
string
Customer's patronymic.
email
string
Customer's email.
hint
array (2000)
Array of lines with the information to be displayed to the customer, up to 2000 characters. The number of lines is unlimited.
Example of the response
{
    "response": {
        "amount": 100,
        "id": "2342-23452345234-2344234-2345234",
        "currency": "BYN",
        "description": "Order 1",
        "editable_amount": true,
        "hint": [
            "message_1",
            "message_2",
            "message_n"
        ],
        "customer": {
            "first_name": "Ivan",
            "last_name": "Ivanov",
            "middle_name": "Ivanovich",
            "email": "ivanov@example.com"
        },
        "result": "0",
        "tracking_id": "your_unique_number"
    }
}