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

ЕРИП 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"
    }
}