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

ЕРИП External

ЕРИП External это вариант интеграции с ЕРИП, разработанный для торговцев, имеющих собственный сайт и хранящих в своей системе все данные, необходимые для совершения платежа и выставления счетов в ЕРИП. Например, номера телефонов покупателей, идентификаторы платежей, номера договоров и т.п.

Описание процесса оплаты

  1. Покупатель инициирует платеж ЕРИП в интернет-банкинге.
  2. ЕРИП запрашивает у bePaid информацию о платеже.
  3. bePaid отправляет торговцу запрос Информация о платеже.
  4. Торговец присылает в ответе информацию о платеже и сумме задолженности. Если задолженность отсутствует, необходимо передать "amount": 0. Торговец должен прислать ответ в течение 14 секунд. В противном случае, соединение будет прервано по истечении времени ожидания. Если при обработке запроса возникли ошибки, торговец возвращает код ошибки, отличный от 0 в поле result.
  5. bePaid отправляет ответ в ЕРИП.
  6. Покупателю отображается информация о платеже.
  7. Покупатель при необходимости редактирует сумму платежа (если есть такая опция) и подтверждает платеж.
  8. bePaid отправляет торговцу автоматическое уведомление c результатом платежа.
  9. Торговец возвращает bePaid статус обработки автоматического уведомления.
  10. Покупателю отображается статус платежа.

Описание процесса сторнирования (отмены) платежа

Info

Сторнирование через систему ЕРИП возможно только, если у торговца разрешена данная операция в ЕРИП.

  1. ЕРИП инициирует отмену платежа (сторнирование), отправив в bePaid запрос о начале сторнирования платежа.
  2. bePaid всегда высылает положительный ответ на запрос сторнирования.
  3. ЕРИП присылает в bePaid запрос с результатом сторнирования.
  4. bePaid отправляет торговцу автоматическое уведомление c результатом сторнирования платежа.
  5. Торговец возвращает bePaid статус обработки автоматического уведомления.

Информация о платеже

  1. Торговцу необходимо реализовать в своей системе метод Информация о платеже c конечной точкой erip/account_verification.
  2. Ответ на запрос Информация о платеже торговец должен передавать в JSON формате.
  3. Запрос будет содержать следующие заголовки:

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

  4. Приложение торговца должно поддерживать авторизацию по методу Basic Auth. К запросу добавляется HTTP-заголовок Authorization. В заголовке указывается строка Basic и пара логин:пароль, зашифрованная в формате BASE64, где Shop ID используется как логин, а Secret Key используется как пароль. Например, Authorization: Basic bG9sOnNlY3VyZQ==. Информацию о Shop ID и Secret key магазина можно найти здесь.

  5. Приложение торговца должно обрабатывать запросы по методу HTTP POST.
  6. Скорость ответа не должна превышать 14 секунд, в противном случае bePaid разрывает соединение c ошибкой Временная ошибка. Повторите запрос позже.
Запрос
object
account
обязательный
string
Уникальный идентификатор покупателя в системе торговца.
service_no
обязательный
string
Номер услуги торговца в ЕРИП.
id
обязательный
string
Уникальный идентификатор транзакции в системе bePaid.
currency
обязательный
string
Валюта транзакции в формате ISO-4217 alpha-3 code. Например, BYN.
object
type
string
erip_external
Пример запроса
{
    "request": {
        "id": "785c8e-252a-4563-345-3452345",
        "service_no": "6740",
        "currency": "BYN",
        "method": {
            "type": "erip_external"
        },
        "account": "2222XXXXXXXXXX"
    }
}
Ответ
object
id
string
Уникальный идентификатор транзакции в системе bePaid, id из запроса.
tracking_id
string
Уникальный идентификатор транзакции в системе торговца.
amount
обязательный
bigInteger
Сумма задолженности покупателя перед мерчантом в минимальных денежных единицах. Если задолженности нет, должен быть передан 0.
editable_amount
boolean
Если true, покупатель может редактировать сумму платежа. Если amount=0, параметр editable_amount не должен быть отправлен.
currency
string
Валюта транзакции, отправленная в запросе.
result
обязательный
string
Код ошибки. 0 – OK, любой другой код – ошибка.
description
string
Описание заказа.
object
Секция с информацией о покупателе.
first_name
string
Имя покупателя.
last_name
string
Фамилия покупателя.
middle_name
string
Отчество покупателя.
email
string
Email покупателя.
hint
array (2000)
Массив строк с подсказками для покупателя, до 2000 знаков. Количество строк не ограничено.
Пример ответа
{
    "response": {
        "amount": 100,
        "id": "2342-23452345234-2344234-2345234",
        "currency": "BYN",
        "description": "Заказ 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"
    }
}

Возврат средств

Возврат средств по ЕРИП External можно запросить как в личном кабинете торговца, так и с помощью API запроса.

Возврат возможен как на полную, так и на частичную сумму платежа. Для одного платежа можно осуществить несколько возвратов при условии, что их сумма не превышает сумму соответствующей транзакции оплаты.

Info

Возврат платежей ЕРИП External возможен только при наличии у торговца достаточного остатка средств во встречных платежах, поступивших от банков-участников.

Info

Возврат средств возможен только для безналичных платежей.

Info

После успешного инициирования возврата средств транзакция возврата переходит в статус pending. Далее в течение 11 дней транзакция переходит или в статус successful, или в статус failed. Указанный срок обусловлен временем, необходимым на обработку возврата, а также возможным ожиданием поступления достаточного объёма средств во встречных платежах по ЕРИП. Если сервис ЕРИП не осуществит возврат в течение 11 дней после инициирования возврата, bePaid выполнит отмену возврата: транзакция возврата перейдет в статус failed в личном кабинете, а торговец получит соответствующую нотификацию (см. Пример нотификации об отмене возврата).

Info

Возврат доступен для платежей, дата проведения которых находится в диапазоне от 24 часов до 1 года назад. Датой проведения платежа считается дата, указанная в поле Дата перечисления на странице детальной информации о транзакции в личном кабинете торговца (settled_at).

Возврат средств через API

Для возврата средств отправьте POST запрос на https://api.bepaid.by/beyag/refunds со следующими параметрами:

object
parent_uid
обязательный
string
UID родительской транзакции.
reason
обязательный
string
Причина возврата.
amount
обязательный
integer
Сумма возврата в минимальных денежных единицах, например 1000 для 10 BYN.
Пример запроса на возврат
{
    "request": {
        "parent_uid": "85861196-e533-4ff0-8330-477050262bd1",
        "reason": "Client request",
        "amount": 50
    }
}
Пример синхронного ответа
{
    "transaction": {
        "type": "refund",
        "refund": {
            "ref_id": "144",
            "message": "Операция успешно создана",
            "status": "pending"
        },
        "id": "091b3006-3c23-4553-88c0-7c86fadef9f6",
        "uid": "091b3006-3c23-4553-88c0-7c86fadef9f6",
        "parent_uid": "f8100e5c-fe45-4053-bae6-e49d60d2589c",
        "message": "Операция успешно создана",
        "status": "pending",
        "amount": 200,
        "currency": "BYN",
        "reason": "Received from service",
        "created_at": "2026-01-14T10:35:54Z",
        "paid_at": "2026-01-14T10:35:54Z",
        "test": false,
        "language": "ru",
        "version": 1
    }
} 
Пример нотификации об успешном возврате
{
  "transaction": {
    "type": "refund",
    "refund": {
      "ref_id": null,
      "message": "Операция успешно завершена",
      "status": "successful"
    },
    "id": "56d9a41a-bca4-4026-a6e2-905eaaed234f",
    "uid": "56d9a41a-bca4-4026-a6e2-905eaaed234f",
    "parent_uid": "1f708a14-c873-4bb7-97f9-a15232409a89",
    "message": "Операция успешно завершена",
    "status": "successful",
    "amount": 500,
    "currency": "BYN",
    "reason": "Received from service",
    "created_at": "2026-01-08T12:22:16Z",
    "paid_at": "2026-01-08T12:25:00+00:00",
    "test": false,
    "language": "ru",
    "version": 1
  }
} 
Пример нотификации об отмене возврата
{
  "transaction": {
    "type": "refund",
    "refund": {
      "ref_id": "1121",
      "message": "Операция успешно отменена",
      "status": "failed"
    },
    "id": "c3febdfd-c721-4da4-b2c0-c91c79113df7",
    "uid": "c3febdfd-c721-4da4-b2c0-c91c79113df7",
    "parent_uid": "d9b24141-c7b4-48ff-a248-92a299ead018",
    "message": "Операция успешно отменена",
    "status": "failed",
    "amount": 10,
    "currency": "BYN",
    "reason": "Received from service",
    "created_at": "2025-12-03T10:46:29Z",
    "paid_at": "2025-12-15T12:26:57+00:00",
    "test": false,
    "language": "ru",
    "version": 9
  }
}  

Возврат средств через личный кабинет

Возврат можно осуществить на странице детальной информации о транзакции. Для этого выполните следующие шаги:

1) Найдите нужную транзакцию оплаты или списания средств в разделе Платежи (Платежи > нажать на UID транзакции).

2) Нажмите Возврат средств. Кнопка возврата доступна для платежей, дата проведения которых находится в диапазоне от 24 часов до 1 года назад. Датой проведения платежа считается дата, указанная в поле Дата перечисления.

Возврат средств

3) В открывшемся модальном окне укажите сумму возврата и причину возврата. Сумма возврата не должна превышать сумму родительской транзакции. Для одной транзакции оплаты допускается выполнение нескольких возвратов при условии, что их общая сумма не превышает сумму соответствующей транзакции оплаты.

Возврат средств

4) Информация о возврате будет доступна на странице транзакции возврата и на странице соответствующей транзакции оплаты.

Возврат завершен

Возврат отменён