Uniteller
Продукт: Shelter Cloud | Уровень: Shelter | Статус: Stable
ID системы: 11
Описание
Интеграция с платёжной системой Uniteller для приёма онлайн-платежей. Поддерживает фискализацию чеков по 54-ФЗ.
Настройка в Shelter Cloud
Параметры учётной записи настраиваются через PrivateSettings:
| Параметр | Описание |
|---|---|
| Shop_IDP | Идентификатор магазина |
| Password | Пароль для подписи |
| URL_RETURN | URL возврата |
| URL_RETURN_OK | URL успешной оплаты |
| URL_RETURN_NO | URL неуспешной оплаты |
| CASHIER_NAME | Имя кассира |
| CASHIER_INN | ИНН кассира |
| TAX_MODE | Система налогообложения: 0 (ОСН), 1 (УСН доход), 2 (УСН доход-расход), 3 (ЕНВД), 4 (ЕСН), 5 (Патент) |
| LINE_VAT | НДС: 0 (без НДС), 10, 18, 20 |
| Receipt | Формировать фискальный чек (true / false) |
Конфигурация сервиса (appsettings.json)
| Параметр | Описание |
|---|---|
| IPWhiteList | Список разрешённых IP для callback. Доступ: отдел разработки |
API Endpoints
Платёжная страница
| Среда | URL |
|---|---|
| Production | https://wpay.uniteller.ru/pay/ |
| Fiscal | https://fpay.uniteller.ru/v2/pay/ |
Callback
URL для callback: https://cloud.shelter.ru/Uniteller/Default.aspx
Алгоритм подписи
Подпись запроса на оплату
Алгоритм: MD5
Signature = MD5(
MD5(Shop_IDP) + "&" +
MD5(Order_IDP) + "&" +
MD5(Subtotal_P) + "&" +
MD5(Password)
).toUpperCase()
Подпись фискального чека
Алгоритм: SHA256
ReceiptSignature = SHA256(
SHA256(Shop_IDP) + "&" +
SHA256(Order_IDP) + "&" +
SHA256(Subtotal_P) + "&" +
SHA256(Receipt) + "&" +
SHA256(Password)
).toUpperCase()
Процесс оплаты
- Клиент нажимает «Оплатить»
- Получение данных брони и строк чека
- Формирование подписи (Signature)
- Редирект на wpay.uniteller.ru/pay/
- Оплата клиентом
- Uniteller отправляет callback
- Запись платежа
Параметры запроса на оплату
| Параметр | Описание |
|---|---|
| Shop_IDP | Идентификатор магазина |
| Order_IDP | Номер заказа |
| Subtotal_P | Сумма платежа |
| Signature | Подпись (MD5) |
| Currency | Валюта (RUB по умолчанию) |
| Email клиента | |
| Comment | Комментарий к платежу |
| Receipt | Фискальный чек (Base64 JSON) |
| ReceiptSignature | Подпись чека (SHA256) |
Коды систем налогообложения (taxmode)
| Код | Описание |
|---|---|
| 0 | ОСН |
| 1 | УСН (Доход) |
| 2 | УСН (Доход минус расход) |
| 3 | ЕНВД |
| 4 | ЕСН |
| 5 | Патент |
Поддерживаемые валюты
| Код | Валюта |
|---|---|
| RUB | Российский рубль |
| USD | Доллар США |
| EUR | Евро |
Мониторинг (Zabbix)
Health check URL: https://cloud.shelter.ru/Uniteller/
Логирование
Все события логируются в Graylog (channel: Uniteller).
Примеры сообщений при callback
Получен callback:
Оплата: POST /Uniteller/Default.aspx Order_IDP=12345&Subtotal_P=5000.00&Status=Success
Успешная оплата:
Оплата успешно: 100
Ошибка подписи:
Ошибка оплаты: подпись не совпадает
Устранение неполадок
Ошибка «Неверная подпись»
Решение:
- Проверьте порядок параметров в подписи
- Убедитесь, что все пустые параметры включены
- Проверьте кодировку (UTF-8)
Фискальный чек не приходит
Решение:
- Проверьте формат JSON чека
- Убедитесь, что Receipt закодирован в Base64
- Проверьте ReceiptSignature (алгоритм SHA256)
Ошибка получения данных брони
Решение:
- Проверьте идентификаторы в URL
- Убедитесь, что бронь не аннулирована