Интеграция 1С-Битрикс с платежной системой Kapital Bank (Азербайджан)

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

Интеграция 1С-Битрикс с платежной системой Kapital Bank (Азербайджан)

Kapital Bank — один из крупнейших банков Азербайджана, предоставляющий платёжный шлюз для интернет-эквайринга. Интеграция с 1С-Битрикс позволяет принимать оплату картами Visa, Mastercard и местными инструментами (карты Kapital Bank) прямо на сайте, не перенаправляя покупателя на сторонние страницы без необходимости.

Как работает платёжный шлюз Kapital Bank

Банк предоставляет два варианта подключения:

  • Hosted Payment Page (HPP). Покупатель перенаправляется на страницу банка, где вводит данные карты. Сайт получает обратный callback с результатом транзакции. Минимальные требования к PCI DSS на стороне мерчанта.
  • Direct API (e-Commerce). Данные карты передаются напрямую через API банка. Требует сертификации PCI DSS SA или SAQ D. Используется редко — в основном для мобильных приложений и специфических флоу.

Для большинства проектов на 1С-Битрикс используется HPP: он проще в сопровождении и не накладывает дополнительных требований по безопасности.

Модуль оплаты в 1С-Битрикс

Платёжная система в Битрикс подключается через компонент sale.payment. Для Kapital Bank создаётся кастомный обработчик платёжной системы — PHP-класс, унаследованный от \Bitrix\Sale\PaySystem\ServiceHandler. Основные методы, которые реализуются:

  • initiatePay() — формирует запрос к API банка, получает orderId и sessionId, строит URL редиректа на HPP.
  • processRequest() — обрабатывает входящий callback (HTTP POST или GET от банка), верифицирует подпись, меняет статус заказа.
  • isPaymentExpired() — проверяет истечение сессии оплаты (обычно 15–20 минут для Kapital Bank).

Параметры подключения хранятся в таблице b_sale_pay_system_action (настройки обработчика): MERCHANT_ID, SECRET_KEY, ENVIRONMENT (test/prod).

Структура запроса к API банка

При инициации платежа формируется запрос к эндпоинту https://tstpg.kapitalbank.az/api/order/ (тест) или https://pg.kapitalbank.az/api/order/ (продакшн). Тело запроса — XML:

<TKKPG>
  <Request>
    <Operation>CreateOrder</Operation>
    <Language>RU</Language>
    <Order>
      <OrderType>Purchase</OrderType>
      <Merchant>MERCHANT_ID</Merchant>
      <Amount>15000</Amount>
      <Currency>944</Currency><!-- AZN = 944 по ISO 4217 -->
      <Description>Заказ №12345</Description>
      <ApproveURL>https://site.az/payment/success/</ApproveURL>
      <CancelURL>https://site.az/payment/cancel/</CancelURL>
      <DeclineURL>https://site.az/payment/fail/</DeclineURL>
    </Order>
  </Request>
</TKKPG>

В ответ банк возвращает OrderId и SessionId. Покупатель перенаправляется на URL вида https://pg.kapitalbank.az/...?ORDERID=...&SESSIONID=....

После оплаты банк вызывает ApproveURL с параметрами OrderId и SessionId. В processRequest() выполняется проверка статуса через отдельный запрос GetOrderStatus — прямой доверять нельзя, параметры в callback не содержат подписи в некоторых конфигурациях.

Обработка возвратов (Refund)

Kapital Bank поддерживает возвраты через операцию Reverse (полный возврат в день транзакции) и Refund (частичный или поздний). Реализуется метод refund() в обработчике — он вызывается из административной части Битрикс при смене статуса заказа на «Возврат».

В таблице b_sale_payment хранится поле PS_INVOICE_ID — это OrderId от банка, который используется для инициации возврата.

Тестирование и типичные проблемы

Этап Что проверяем
Создание заказа Корректность суммы (в тиинах — 1 AZN = 100 qəpik), Currency = 944
Редирект на HPP URL содержит оба параметра: ORDERID и SESSIONID
Callback обработка Статус заказа меняется, дублирующие вызовы игнорируются
Тестовые карты Visa 4169741330151124, CVC 119, любой срок в будущем
Продакшн Смена endpoint и credentials, проверка SSL-сертификата

Часто встречающаяся ошибка — несоответствие кодировки XML (банк ожидает UTF-8 без BOM). При работе через curl в PHP убеждаемся, что заголовок Content-Type: text/xml; charset=utf-8 выставлен явно.

Что настраивается в административной панели

В разделе Магазин → Платёжные системы создаётся новая система с обработчиком KapitalBank. Администратор заполняет:

  • Merchant ID и пароль (выдаёт банк)
  • Режим работы (тест / продакшн)
  • Валюта по умолчанию (AZN)
  • Статусы заказа при успешной оплате и ошибке

Компонент sale.order.ajax на сайте не требует изменений — перенаправление на HPP обрабатывается стандартным механизмом Битрикс через BX_PAYMENT_REDIRECT.

Сроки и состав работ

Масштаб проекта Состав Срок
Стандартный магазин Модуль HPP + тестирование + документация 3–5 дней
С частичными возвратами + метод Refund, UI в админке 5–7 дней
Несколько магазинов (мультисайт) + настройка под каждый сайт +1–2 дня