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

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

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • 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
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

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

При подключении iPay к магазину на Битрикс мы часто сталкиваемся с типовыми ошибками: неправильный расчёт суммы в копейках, сбой уведомлений из-за пропущенной проверки подписи, конфликты с кешированием на странице успеха. В этой статье разберём, как этого избежать, и покажем рабочий пример интеграции с нуля. Наш опыт показывает: подключение iPay под ключ занимает от 5 до 10 рабочих дней, включая получение тестового доступа, разработку кастомного обработчика и фискализацию по 54-ФЗ (если требуется). Мы гарантируем корректную обработку всех статусов и возвратов, а также полную документацию для вашей команды.

iPay — белорусский платёжный агрегатор от компании «Дежур», работающий на базе процессинга НКФО «Открытое акционерное общество «Небанковская кредитно-финансовая организация». Шлюз поддерживает карты Visa, Mastercard, Белкарт и платежи через ЕРИП. Для малого и среднего бизнеса в Беларуси iPay часто выступает альтернативой прямому подключению к банкам — с упрощённой документацией и быстрым onboarding.

Какие варианты интеграции iPay поддерживает?

iPay предоставляет два варианта интеграции:

Hosted Payment Page — покупатель перенаправляется на страницу iPay, выбирает способ оплаты, платит. Магазин получает уведомление. Минимальные требования к безопасности на стороне магазина — PCI DSS не требуется.

API-интеграция — данные карты принимаются формой на сайте магазина и передаются в iPay. Требует PCI DSS или токенизации через JS-библиотеку iPay.

Для большинства внедрений на Битрикс используется Hosted Page как более простой и безопасный вариант.

Характеристика Hosted Page API-интеграция
Требования к безопасности Не требуется PCI DSS Требуется PCI DSS или токенизация
Сложность внедрения Низкая Средняя
Контроль дизайна Ограничен Полный
Время разработки 2-3 дня 5-7 дней

Как реализовать кастомный обработчик iPay на Битрикс?

Официального модуля iPay на Маркетплейсе Битрикс нет. Реализуется как кастомный обработчик в /local/php_interface/include/sale_payment/ipay_belarus/.

Инициализация платежа — POST-запрос к /api/v1/payments:

{
  "shop_id": "YOUR_SHOP_ID",
  "order_id": "BXORDER_12345",
  "amount": 5990,
  "currency": "BYN",
  "description": "Заказ №12345 в магазине Example",
  "success_url": "https://yourshop.by/thank-you/?order=12345",
  "fail_url": "https://yourshop.by/payment-error/?order=12345",
  "notify_url": "https://yourshop.by/bitrix/tools/sale_ps_result.php",
  "lang": "ru"
}

Сумма передаётся в белорусских копейках (BYN × 100). iPay возвращает payment_id и payment_url — на последний выполняется редирект покупателя.

Как проверить подпись уведомлений?

iPay отправляет POST на notify_url при изменении статуса платежа. Тело уведомления:

{
  "payment_id": "ipay_txn_98765",
  "order_id": "BXORDER_12345",
  "status": "PAID",
  "amount": 5990,
  "currency": "BYN",
  "paid_at": "2023-06-15T14:32:11Z",
  "signature": "sha256_hash_here"
}

Верификация подписи — SHA-256 от строки payment_id + order_id + amount + currency + shop_secret. Без проверки подписи любой желающий может отправить фальшивое уведомление об оплате. Алгоритм SHA-256 описан в Wikipedia. Источник: Википедия

Статусы: PAID (оплачен), FAILED (ошибка), CANCELLED (отменён), EXPIRED (истёк срок).

Что делать, если сессия истекла?

По умолчанию iPay даёт покупателю 15 минут на завершение оплаты. По истечении сессия закрывается со статусом EXPIRED. В Битрикс это означает, что обработчик должен уметь работать с таймаутами: при получении EXPIRED — уведомить покупателя и предложить новую попытку без создания дублирующего заказа.

Срок можно увеличить до 60 минут через параметр expire_at в запросе создания платежа — полезно для B2B-заказов, где решение о покупке принимается дольше.

Возвраты через API

iPay поддерживает возврат через API: POST к /api/v1/payments/{payment_id}/refund с параметрами amount (частичный или полный возврат) и reason. Из административной части Битрикс это можно реализовать как кнопку «Возврат» на странице заказа — метод ProcessRequestRefund обработчика вызывает API и обновляет статус платежа.

Из нашей практики: конфликт с кешированием страницы

Белорусский интернет-магазин детских товаров. После успешной оплаты через iPay покупатели иногда видели страницу с реквизитами старого заказа другого пользователя. Причина: страница «спасибо за заказ» кешировалась nginx, и при редиректе с success_url возвращался кешированный ответ. Решение: добавить заголовок Cache-Control: no-store, no-cache для URL страниц заказа и убедиться, что параметр ?order= читается динамически из Битрикс-сессии, а не из URL.

Тестирование

В тестовой среде iPay (sandbox.ipay.by) тестовые карты публикуются в личном кабинете разработчика. Для ЕРИП-оплаты в тесте используется эмулятор — нотификация приходит автоматически через 30 секунд после создания счёта.

Сроки подключения: получение тестового доступа — 1–2 дня. Разработка обработчика — 2–3 дня. Боевое подключение с проверкой документов компании — 5–10 рабочих дней.

Что входит в нашу работу по интеграции iPay?

  • Разработка кастомного платежного обработчика для Битрикс.
  • Настройка уведомлений и проверки подписи.
  • Реализация возвратов через API.
  • Интеграция с 1С (опционально) для синхронизации статусов.
  • Тестирование в песочнице и на боевом окружении.
  • Документация и передача доступов.

Мы оцениваем проект бесплатно — напишите нам, и мы подготовим точную смету. Наши специалисты имеют 5-летний опыт работы с Битрикс и более 50 успешных интеграций платёжных систем.