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»
Решение:
- Проверьте формат ключа (PEM)
- Убедитесь, что MAC-строка сформирована правильно
- Проверьте кодировку (UTF-8)
3D-Secure ошибка
Решение:
- Проверьте поддержку 3D-Secure картой
- Убедитесь в корректности TerminalID
- Проверьте логи
Документация Borica: https://www.borica.bg/