Интеграция 1С-Битрикс с платежной системой Расчёт (ЕРИП) (Беларусь)

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с платежной системой Расчёт (ЕРИП) (Беларусь)
Средняя
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    989

Интеграция 1С-Битрикс с платёжной системой Расчёт (ЕРИП) (Беларусь)

«Расчёт» — это торговое наименование системы ЕРИП, используемое в контексте розничных платежей. Часть банков и платёжных сервисов Беларуси предоставляет доступ к ЕРИП именно под брендом «Расчёт», и для разработчика важно понимать: на техническом уровне это тот же ЕРИП (Единое расчётное и информационное пространство), просто с другой точкой входа и API от конкретного банка-агента. Путаница в терминологии часто приводит к тому, что один магазин подключает «Расчёт» и «ЕРИП» как два разных способа оплаты, хотя они ведут в одну инфраструктуру.

Принципиальное отличие от других платёжных систем

ЕРИП/Расчёт — это не карточный шлюз. Покупатель не вводит данные карты на сайте. Вместо этого:

  1. Магазин выставляет счёт в ЕРИП через API банка
  2. Покупатель получает уникальный номер (код) счёта
  3. Оплачивает через любой банк, привязанный к ЕРИП: Беларусбанк, Приорбанк, Альфа-Банк, МТБанк, БелВЭБ и другие — через интернет-банкинг, мобильный банк, банкомат или кассу
  4. Информация об оплате поступает в магазин через webhook

Ключевой момент: сервис «Расчёт» предполагает, что покупатель ищет ваш магазин в дереве услуг ЕРИП. Для этого у компании должен быть зарегистрирован код услуги в дереве ЕРИП. Без этого кода система выставленных счетов работать не будет.

Подключение через банк-агент

Прямого API у ЕРИП/Расчёт нет. Взаимодействие идёт через банк, в котором открыт расчётный счёт компании. Каждый банк предоставляет свой протокол:

Банк Протокол Особенности
Беларусбанк SOAP/XML Детальная документация
Приорбанк REST JSON Современный API
МТБанк REST JSON Быстрый onboarding
Альфа-Банк REST JSON Поддержка QR
БелВЭБ REST/XML Корпоративные клиенты

При разработке обработчика для Битрикс выбор протокола определяется банком клиента. Если планируется смена банка — обработчик придётся адаптировать.

Реализация в Битрикс

Размещение: /local/php_interface/include/sale_payment/raschyot_erip/

Базовая логика initiatePay (на примере REST-протокола):

public function initiatePay($payment, $request = null)
{
    $order = $payment->getOrder();
    $billData = [
        'merchantId'   => $this->getParam('MERCHANT_ID'),
        'serviceCode'  => $this->getParam('SERVICE_CODE'),
        'invoiceNo'    => $order->getField('ACCOUNT_NUMBER'),
        'amount'       => $payment->getSum(),
        'currency'     => 'BYN',
        'description'  => 'Заказ ' . $order->getField('ACCOUNT_NUMBER'),
        'expireDate'   => date('Y-m-d', strtotime('+3 days')),
        'callbackUrl'  => $this->getCallbackUrl(),
    ];

    $response = $this->sendRequest('POST', '/invoices', $billData);

    if ($response['status'] === 'created') {
        $payment->setField('PAY_SYSTEM_ID_EXTERNAL', $response['invoiceId']);
        $this->showEripRequisites($response['invoiceId'], $response['eripCode']);
    }
}

Отображение реквизитов ЕРИП

Покупателю нужно показать чёткую инструкцию. Разные сегменты аудитории используют разные каналы:

  • Интернет-банкинг: ЕРИП → Поиск → Ввести код счёта или найти через дерево услуг
  • Мобильное приложение: QR-сканирование
  • Банкомат/инфокиоск: ЕРИП → ваша услуга → ввести номер заказа
  • Касса банка: назвать кассиру код услуги и номер заказа

Шаблон платёжной системы в Битрикс должен показывать все варианты, а не только один — это снижает количество обращений в поддержку.

Статусы и логика подтверждения

Возможные статусы счёта в ЕРИП:

Статус Значение Действие в Битрикс
CREATED Счёт выставлен Ожидать
PAID Оплачен $payment->setPaid('Y')
PART_PAID Частично оплачен Уведомить менеджера
EXPIRED Истёк срок Отменить или продлить
CANCELLED Отменён магазином Обновить статус

Частичная оплата в ЕРИП допустима по умолчанию — если её не нужно принимать, явно указывать в запросе создания счёта (partialPayment: false).

Двойная регистрация: типичная ошибка

Магазин создаёт счёт в ЕРИП, покупатель не платит. Покупатель возвращается, нажимает «Оплатить снова» — магазин создаёт второй счёт. Теперь два активных счёта на один заказ. Покупатель оплачивает один, второй висит активным. Через три дня оба истекают — и база засоряется.

Решение: перед созданием счёта проверять, нет ли уже активного счёта по этому заказу (хранить invoiceId в полях платежа b_sale_payment). Если есть — показывать его реквизиты, а не создавать новый.

Реальный кейс: регистрация в дереве ЕРИП

Минский розничный магазин бытовой химии. Техническая интеграция заняла 3 дня, но запуск задержался на 3 недели — компания не знала, что регистрация кода услуги в дереве ЕРИП — отдельный административный процесс через банк и НКФО «Расчёт». Документы, согласования, тестирование дерева. Рекомендация: начинать регистрацию в ЕРИП параллельно с разработкой, а не после неё.