ArtPay
Продукт: Shelter Cloud | Уровень: Shelter | Статус: Stable
ID системы: 25
Описание
Интеграция с платёжной системой ArtPay — белорусская платёжная система для онлайн-платежей в валюте BYN.
Настройка в Shelter Cloud
Настройка производится в экране PrivateSettings:
- Включить интеграцию с ArtPay
- Указать учётные данные
Параметры учётной записи
| Параметр | Описание |
|---|---|
| StoreId | Идентификатор магазина |
| Secret | Секретный ключ |
| Currency | Валюта: BYN |
| IsTest | Тестовый режим (true / false) |
Конфигурация сервиса (appsettings.json)
| Параметр | Описание |
|---|---|
| IPWhiteList | Список разрешённых IP для callback. Доступ: отдел разработки |
API Endpoints
| Среда | URL |
|---|---|
| Production | https://api.artpay.by/v2/ |
| Test | https://api-test-artpay.dev-3c.by/v2/ |
Callback
| Параметр | Значение |
|---|---|
| URL | https://cloud.shelter.ru/ArtPay/Result |
| Метод | POST |
| Формат | JSON |
Мониторинг (Zabbix)
| Проверка | URL |
|---|---|
| Доступность | GET https://cloud.shelter.ru/ArtPay/ |
Должен возвращать HTTP 200 без авторизации.
Логирование
Все события логируются в Graylog (channel: ArtPay).
Примеры сообщений при callback
Получен callback:
Оплата: POST /ArtPay/Result Data: {"ap_order_num":"12345","ap_amount":5000.00,"ap_signature":"abc123","up_cashid":"100","up_resid":"200"}
Успешная оплата:
Оплата успешно: 100
Ошибка подписи:
Ошибка оплаты: Сформированная сигнатура 'xyz789' не совпадает с полученной 'abc123'
IP не в whitelist:
Ошибка оплаты: не допустимый ip адрес
Алгоритм подписи
Подпись запроса: SHA512
1. Собрать все параметры запроса
2. Отсортировать по имени ключа
3. Конкатенировать значения
4. Добавить Secret в конец
5. Вычислить SHA512 hash
Процесс оплаты
1. Клиент нажимает «Оплатить» в виджете бронирования
2. Система создаёт платёж в ArtPay API
3. Клиент перенаправляется на страницу оплаты ArtPay
4. После оплаты ArtPay отправляет callback
5. Система проверяет подпись и сохраняет платёж
Поддерживаемые валюты
| Код | Валюта |
|---|---|
| BYN | Белорусский рубль |
Устранение неполадок
Ошибка подписи
Решение:
- Проверьте правильность Secret
- Убедитесь, что параметры отсортированы правильно
- Проверьте логи
Callback не приходит
Решение:
- Проверьте URL callback в личном кабинете ArtPay
- Убедитесь, что сервер доступен из интернета
- Проверьте SSL-сертификат
Документация ArtPay: https://artpay.by/developers/