Skip to content

BelVEB online credit

This method lets the customer pay for an item (or multiple items) using a BelVEB credit or installment plan.

Credit application

Credit application flow

Stage Description
1 The merchant initiates the widget using the payment token. Alternatively, the merchant redirects the customer to the redirect_url received in the response to the payment token request.
2 On the payment widget, the customer selects an option to pay using a credit or an installment plan (Частками).
3 The widget displays available credit and installment plan options.
4 The customer selects a credit or installment option.
5 The customer is redirected to the page for authentication in the MSI system (Interbank System of Identification).
6 A transaction with the pending status is displayed in the merchant's back office.
7 Upon successful authentication, the customer is redirected to the bank page to proceed with their credit application.
8 The customer submits the required data and clicks Sign document, then enters the confirmation code sent to their phone number.
9 The credit agreement number is displayed to the customer on the bank's website. The customer enters another confirmation code sent to their phone number. The credit agreement becomes effective once the funds are transferred to the merchant.
10 In the transaction list in the merchant's back office, the label Need to confirm appears next to the transaction. The transaction is assigned the status code P.0003. The merchant will receive the webhook notification.
11 The merchant ships the items to the customer within 1–25 days.
12 After the items are shipped, the merchant clicks Credit confirm > Confirm on the transaction details page. Alternatively, the merchant can send a confirm request with the confirm_type parameter set to confirm.

The label Transfer of funds appears next to the transaction.

The transaction is assigned the status code P.0004. The transaction status changes to successful within 5 minutes. The credit amount is transferred to the merchant's account within the timeframe specified in the agreement.
13 If the merchant doesn't initiate the fund transfer within 25 days, the transaction status is automatically changed to failed, the credit agreement is cancelled.

If the items were not shipped (for example, if the customer did not accept the items), the merchant clicks Credit cancel. Alternatively, the merchant can send a confirm request with the confirm_type parameter set to cancel. The transaction changes to the failed status, the credit agreement is cancelled. The credit can be cancelled only if it has not been confirmed.

Webhook notification example with P.0003 code

Webhook notification example with P.0003 code
{
  "transaction": {
    "uid": "1adea25c-2dad-48ad-971f-a3f070f796f0",
    "type": "payment",
    "status": "pending",
    "amount": 8888,
    "currency": "BYN",
    "description": "Order description",
    "created_at": "2026-05-07T06:30:48Z",
    "updated_at": "2026-05-07T06:40:51Z",
    "method_type": "belveb_credit",
    "receipt_url": "https://merchant.bepaid.by/customer/transactions/1adea25c-2dad-48ad-971f-a3f070f796f0/3208469e6f3c4c40fc9bf69780404faaeffe4c7cec6c37aa4f0806fd77cd9b7c?language=ru",
    "payment": {
      "status": "pending",
      "gateway_id": 6319,
      "ref_id": "16774961211129",
      "message": "Договор к выдаче",
      "bank_code": "7",
      "rrn": "28.070526.0001"
    },
    "belveb_credit": {
      "type": "belveb_credit"
    },
    "customer": {
      "device_id": "770a7549cf32f64a898a43f22c803426",
      "email": null,
      "ip": "178.32.220.27"
    },
    "manually_corrected_at": null,
    "version": 3,
    "message": "Договор к выдаче",
    "code": "P.0003",
    "test": false,
    "language": "ru",
    "billing_address": {
      "device_id": "770a7549cf32f64a898a43f22c803426"
    },
    "additional_data": {
      "cart": {
        "positions": [
          {
            "name": "[FILTERED]",
            "amount": 4100,
            "quantity": 1,
            "top_product": true
          },
          {
            "name": "[FILTERED]",
            "amount": 3900,
            "quantity": 1,
            "top_product": false
          }
        ]
      },
      "vendor": {
        "name": "[FILTERED]",
        "token": "[FILTERED]"
      },
      "browser": {},    
      "payment_method": {
        "type": "alternative"
      },
      "shipping_amount": 888
    },
    "smart_routing_verification": {
      "status": "successful"
    },
    "gateway": {
      "iframe": false
    }
  }
}

Request without additional parameters

Send a payment token request.

For a credit covering multiple items, provide the item names in the order.description field and specify the total amount for all items in the order.amount field. Note that in this case, all items will be represented as a single item in the receipt.

Request example without additional parameters: the names of the items are listed in order.description and the total amount for all items is specified in order.amount.
{
    "checkout": {
        "transaction_type": "payment",
        "attempts": 3,
        "settings": {
            "language": "en"
        },         

        "order": {
            "currency": "BYN",
            "amount": 5724,
            "description": "Item 1, Item 2"

        }
    }
}

Request with additional parameters (cart and shipping_amount)

Send a payment token request.

For multiple items, send the object order.additional_data.cart with information on each item.

If the shipping fee is included in the credit amount, send the shipping amount in the order.additional_data.shipping_amount parameter.

If the credit is requested for multiple items and order.additional_data.cart is sent, the sum of the amount values for all items plus the shipping amount must equal the transaction amount.

Request example with additional parameters: information about the items is sent in order.additional_data.cart.
{
    "checkout": {
        "transaction_type": "payment",
        "attempts": 3,
        "settings": {
            "language": "en"
        },
        "customer": {
            "email": "john@example.com",                                
            "phone": "375291111111"
        },
        "payment_method": {
            "types": [
                "belveb_credit"
            ]
        },
        "order": {
            "currency": "BYN",
            "amount": 5724,
            "description": "Order description",
            "additional_data": {
                "shipping_amount": 24,
                "cart": {
                    "positions": [
                        {
                            "name": "Item 1",
                            "amount": 1200,
                            "quantity": 2
                        },
                        {
                            "name": "Item 2",
                            "amount": 1100,
                            "quantity": 3
                        }
                    ]
                }
            }
        }
    }
}

Please see the main request parameters in the table below:

object
transaction_type
required
string
payment
required
object
amount
required
integer
Payment amount in minimal currency units, for example, BYN 32.45 must be sent as 3245. The value must include the shipping fee if it is specified in additional_data.shipping_amount.
currency
required
string
BYN.
description
required
string
The name of the item (items).
object
Section containing additional payment details.
shipping_amount
integer
Shipping price in minimal currency units. Required if the shipping amount is charged. The value of order.amount must include the total cost of all items and the shipping fee. For example, if an item costs 100 and the shipping fee is 10, specify 110 in order.amount and 10 in additional_data.shipping_amount.
conditionally required
object
Section with information on the items added to cart by the customer and to be paid for using the current request. Send if the credit is requested for multiple items. If you prefer not to send the cart object, you can provide the item names in the order.description field and specify the total amount for all items in the order.amount field. Note that in this case, all items will be represented as a single item in the receipt.
conditionally required
array
Array of objects where each object corresponds to an item to be paid for using the current request. Required if the cart parameter is sent. Each object includes the following parameters:
name
conditionally required
string
The name of the item. Required if the positions parameter is sent.
top_product
boolean
Indicates whether the item is of Belarusian origin. If all items for the merchant are of Belarusian origin, this setting can be configured at the system level via your manager. In this case, the parameter does not need to be included in the request.
amount
conditionally required
integer
The price of the item in minimal currency units. The sum of the amount values for all items + shipping_amount (if sent) must equal the transaction amount. Required if the positions parameter is sent.
quantity
conditionally required
integer
The number of the identical items. Required if the positions parameter is sent.
object
language
string
Checkout page locale. English (en) is set by default. Possible values of language parameter.
object
Section containing customer information.
phone
string
The customer's phone number. Example: 375291234567.
object
Section to set payment methods available to the customer and their parameters. By default, all enabled payment methods are available.
types
array
Array of the available and enabled payment methods displayed to the customer on the payment page. "types": ["belveb_credit"].

Confirm or cancel credit request

POST https://api.bepaid.by/beyag/transactions/{uid}/confirm

object
confirm_type
string
confirm to send once the items have been shipped, cancel to cancel the credit.
Request example
{
  "request": {
    "confirm_type": "confirm"
  }
}
Response example
{
    "transaction": {
        "parent_uid": "81f8ab21-ca4f-4de8-9775-b9c6fad2b010",
        "type": "confirm",
        "status": "successful",
        "message": "Договор к выдаче",
        "created_at": "2026-04-07T13:04:31.189+00:00",
        "amount": 6500,
        "currency": "BYN"
    }
}