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 Белорусский рубль

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

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

Решение:

  1. Проверьте правильность Secret
  2. Убедитесь, что параметры отсортированы правильно
  3. Проверьте логи

Callback не приходит

Решение:

  1. Проверьте URL callback в личном кабинете ArtPay
  2. Убедитесь, что сервер доступен из интернета
  3. Проверьте SSL-сертификат

Документация ArtPay: https://artpay.by/developers/