Borica

Продукт: Shelter Cloud | Уровень: Shelter | Статус: Stable

ID системы: 26


Описание

Интеграция с платёжной системой Borica — болгарская платёжная система для онлайн-платежей. Использует RSA-подписи для аутентификации запросов.

Настройка в Shelter Cloud

Настройка производится в экране PrivateSettings:

  • Включить интеграцию с Borica
  • Указать учётные данные

Параметры учётной записи

Параметр Описание
Terminal Идентификатор терминала
Merchant Идентификатор мерчанта
PrivateKey Приватный ключ RSA (PEM)
PublicKey Публичный ключ RSA (PEM)
Currency Валюта: BGN, EUR, USD
IsTest Тестовый режим (true / false)

Конфигурация сервиса (appsettings.json)

Параметр Описание
IPWhiteList Список разрешённых IP для callback. Доступ: отдел разработки

API Endpoints

Среда URL
Production https://3dsgate.borica.bg/
Test https://3dsgate-dev.borica.bg/cgi-bin/cgi_link

Callback

Параметр Значение
URL https://cloud.shelter.ru/Borica/Result
Метод POST
Формат Form data

Мониторинг (Zabbix)

Проверка URL
Доступность GET https://cloud.shelter.ru/Borica/

Должен возвращаться HTTP 200 без авторизации.

Логирование

Все события логируются в Graylog (channel: Borica).

Примеры сообщений при callback

Получен callback:

Оплата: POST /Borica/Result TERMINAL=TERM001&AMOUNT=5000.00&CURRENCY=EUR&ORDER=12345&SIGNATURE=abc123

Успешная оплата:

Оплата успешно: 100

Ошибка подписи RSA:

Ошибка оплаты: Сформированная сигнатура не совпадает с полученной

IP не в whitelist:

Ошибка оплаты: не допустимый ip адрес

Алгоритм подписи

Подпись: RSA SHA256 с PKCS1 padding

1. Сформировать MAC-строку из полей:
   TERMINAL + TRTYPE + AMOUNT + CURRENCY + ORDER + TIMESTAMP + NONCE
2. Формат: длина + значение для каждого поля
3. Добавить "-" в конец
4. Подписать RSA-SHA256 приватным ключом
5. Результат в hex-формате (uppercase)

Процесс оплаты

1. Клиент нажимает «Оплатить» в виджете бронирования
2. Система формирует подписанный запрос к Borica
3. Клиент перенаправляется на страницу 3D-Secure
4. После оплаты Borica отправляет callback
5. Система проверяет подпись и сохраняет платёж

Поддерживаемые валюты

Код Валюта
BGN Болгарский лев
EUR Евро
USD Доллар США

Устранение неполадок

Ошибка «Invalid signature»

Решение:

  1. Проверьте формат ключа (PEM)
  2. Убедитесь, что MAC-строка сформирована правильно
  3. Проверьте кодировку (UTF-8)

3D-Secure ошибка

Решение:

  1. Проверьте поддержку 3D-Secure картой
  2. Убедитесь в корректности TerminalID
  3. Проверьте логи

Документация Borica: https://www.borica.bg/