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.
  7. The merchant's application must accept HTTPS-requests from the IP addresses of bePaid and on specific TCP ports.

    Info

    To get an up-to-date list of the IP addresses and TCP ports, contact your manager.

Request
Parameter Type Description
request object
account * required
string Unique customer identifier in the merchant's 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.
method object
type string erip_external
Example of the request
{
    "request": {
        "id": "785c8e-252a-4563-345-3452345",
        "currency": "BYN",
        "method": {
            "type": "erip_external"
        },
        "account": "2222XXXXXXXXXX"
    }
}
Response
Parameter Type Description
response object
id * required
string Unique transaction identifier in the bePaid system, id from the request.
tracking_id * required
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 * required
string Transaction currency sent in the request.
result * required
string Error code.
description string Description of the code.
customer * required
object Object with customer information.
first_name * required
string Customer's first name.
last_name * required
string Customer's last name.
middle_name * required
string Customer's patronymic.
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",
        "editable_amount": true,
        "hint": [
            "message_1",
            "message_2",
            "message_n"
        ],
        "customer": {
            "first_name": "Ivan",
            "last_name": "Ivanov",
            "middle_name": "Ivanovich"
        },
        "result": "0",
        "tracking_id": "your_unique_number"
    }
}
Response error codes
Code Description
0 OK
1 Request timeout error. Try again later.
4 Wrong format of the customer account ID.
5 Customer account ID not found. Account number error.
7 Payment is forbidden by the merchant.
8 Payment is forbidden for a technical reason.
243 Unable to check the customer account.
300 Unknown error.