Skip to content

AuraPay

AuraPay (app.aurapay.tech) — касса с оплатой по СБП и картой. Бот создаёт счёт через POST /invoice/create с ключами в заголовках X-ApiKey и X-ShopId, юзер уходит на payment_data.url и после оплаты возвращается по success_url. Валюта — RUB.

В счёт кладётся свой payment_id (order_id) — по нему вебхук привязывается к платежу. Какой способ оплаты открывает счёт, задаёт поле service в настройках (по умолчанию СБП).

Что понадобится

Магазин в кабинете AuraPay: API-ключ, ID магазина и секрет вебхуков.

Настройка в кабинете

ПолеЧто этоОбязательное
api_keyAPI-ключ из кабинета AuraPay — заголовок X-ApiKeyда
shop_idID магазина — заголовок X-ShopIdда
webhook_secretсекрет подписи вебхуковда
serviceспособ оплаты, с которым создаётся счёт; по умолчанию sbpнет

Ключи хранятся в БД в зашифрованном виде. Включите тумблер активности провайдера. Кнопка Тест у этого шлюза проверочного запроса к API не делает — правильность ключей подтвердит первый платёж. Дополнительно настраиваются отображаемое имя, комиссия для статистики и формы оплаты, которые видит юзер (карта / СБП).

Вебхук

https://ваш-домен/api/v1/payments/aurapay

Укажите этот URL как адрес уведомлений в кабинете AuraPay. Подпись приходит в заголовке X-SIGNATURE и считается необычно: HMAC-SHA256 с ключом webhook_secret от значений полей payload, склеенных в алфавитном порядке ключей (поле signature исключается, null превращается в пустую строку) — стиль PHP implode. Битая или отсутствующая подпись → HTTP 403.

Маппинг статуса из поля status:

Статус AuraPayЧто делает бот
PAIDзачисляет платёж
EXPIRED, CANCELLED, CANCELED, FAILEDзакрывает платёж как отменённый
остальныеоставляет в ожидании

Особенности

  • Возвраты по API, рекурренты и сохранённые карты не поддерживаются — возврат делаете в кабинете AuraPay, в боте фиксируете результат: /payments/refunds.
  • Опроса статуса у этого шлюза нет — зачисление зависит только от вебхука.
  • Сумма из вебхука сверяется со счётом: меньше 90% ожидаемого — платёж бракуется как недоплата.
  • Подпись считается по значениям распарсенного JSON, а не по сырым байтам — прокси, переформатирующий тело, вебхуки здесь не ломает.
  • Счёт создаётся с lifetime: 60; комментарий обрезается до 128 символов; success_url и fail_url оба ведут на возврат в бота; в custom_fields уходит внутренний ID юзера.

Платёж прошёл, а подписки нет?

У AuraPay нет API опроса статуса, поэтому реконсилятор этот шлюз не добьёт — единственный канал зачисления здесь вебхук. Если платежи виснут, проверьте URL уведомлений и webhook_secret. Как устроен пайплайн вебхуков — /payments/webhooks.

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов