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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с платежной системой EasyPay (Беларусь)
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1169
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

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

EasyPay — белорусский платёжный сервис, работающий через сеть терминалов и интернет-эквайринг. Особенность EasyPay в том, что у него развитая сеть физических терминалов по всей Беларуси: покупатель может оформить заказ онлайн и оплатить наличными в ближайшем терминале EasyPay — это актуально для аудитории, которая не использует банковские карты онлайн. Для Битрикс-магазина это отдельная платёжная система в модуле sale с характерной логикой «отложенной оплаты».

Архитектура EasyPay для интернет-магазинов

EasyPay предоставляет два режима работы для e-commerce:

Карточная оплата онлайн — стандартный эквайринг. Покупатель вводит данные карты на платёжной странице EasyPay, деньги списываются сразу. Уведомление приходит на webhook магазина.

Оплата через терминал — магазин создаёт счёт, покупатель получает уникальный код платежа, оплачивает в терминале EasyPay. Нотификация поступает с задержкой от нескольких минут до нескольких часов в зависимости от загруженности сети терминалов.

API-эндпоинт: https://checkout.easypay.by/api/ (продакшн), https://sandbox.easypay.by/api/ (тест).

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

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

Инициализация платежа — POST к /api/v1/invoice:

{
  "serviceId": "YOUR_SERVICE_ID",
  "accountNo": "BXORDER_45678",
  "amount": {
    "value": 7850,
    "currency": "BYN"
  },
  "info": "Заказ №45678",
  "returnUrl": "https://shop.by/personal/order/detail/45678/",
  "notifyUrl": "https://shop.by/bitrix/tools/sale_ps_result.php",
  "expiredAt": "2024-12-20T18:00:00+03:00"
}

Сумма — в копейках BYN. serviceId присваивается при подключении к EasyPay.

В ответ приходит объект с invoiceId и либо paymentUrl (для онлайн-оплаты картой), либо paymentCode (код для терминала). В зависимости от выбранного режима обработчик либо перенаправляет на paymentUrl, либо показывает покупателю paymentCode и инструкцию.

Отображение кода для терминала

Экран после оформления заказа при оплате через терминал должен содержать:

  • Уникальный код платежа крупным шрифтом
  • Инструкцию: «Терминал EasyPay → Оплата услуг → Код платежа → введите {код}»
  • Карту с ближайшими терминалами (EasyPay предоставляет API для геолокации терминалов)
  • Срок действия кода и дедлайн оплаты

Шаблон платёжной системы в Битрикс (template/) отвечает за этот экран. Если шаблон не доработать, покупатель увидит стандартный экран «Ожидание оплаты» без каких-либо инструкций — частая причина звонков в поддержку.

Обработка нотификаций

EasyPay отправляет POST на notifyUrl при успешной оплате:

{
  "invoiceId": "ep_inv_112233",
  "accountNo": "BXORDER_45678",
  "status": "PAID",
  "amount": 7850,
  "currency": "BYN",
  "paidAt": "2024-12-19T15:22:41+03:00",
  "paymentMethod": "TERMINAL",
  "sign": "hmac_sha256_value"
}

paymentMethod может быть CARD, TERMINAL, ERIP. В зависимости от метода логика обработки одинаковая, но статус заказа можно фиксировать по-разному (например, для терминальных платежей ставить «Оплата через терминал» в комментарии).

Верификация sign — HMAC-SHA256 от строки invoiceId + accountNo + amount + currency + secret.

Особенность: просроченные счета

Терминальные платежи часто просрочены — покупатель забывает оплатить. EasyPay отправляет нотификацию status: EXPIRED по истечении expiredAt. В Битрикс нужно предусмотреть обработку этого статуса: автоматически отменять неоплаченные заказы или оставлять их менеджеру на ручное решение.

Для крупных магазинов удобен cron-скрипт, который раз в час проверяет все заказы в статусе «Ожидание оплаты» старше N часов и вызывает API EasyPay (GET /api/v1/invoice/{invoiceId}) для актуализации статуса.

Реальный кейс: задержка нотификации

Магазин электроники, пиковые дни — праздники. Жалобы: заказы не подтверждаются сразу после оплаты через терминал, покупатель нервничает. Диагностика: сеть терминалов EasyPay отправляла нотификации с задержкой до 40 минут в период высокой нагрузки. Решение: на странице после заказа добавить JS-поллинг статуса каждые 30 секунд через собственный AJAX-эндпоинт, который вызывает EasyPay API GET /api/v1/invoice/{invoiceId}. При получении статуса PAID — обновлять страницу без ожидания webhook.

Сроки

Этап Срок
Подача заявки и получение тестового доступа 2–5 рабочих дней
Разработка обработчика и шаблона 2–4 дня
Тестирование (карта + терминал + истечение срока) 1–2 дня
Активация боевого аккаунта 3–7 рабочих дней