Skip to content

KassaAI

KassaAI — современный API семейства FreeKassa (api.fk.life). Платёж создаётся серверным запросом POST /v1/orders/create, юзер уходит на платёжную страницу из ответа — карта, СБП, кошельки. Валюта — только RUB.

От классической FreeKassa отличается способом создания платежа (подписанный API-запрос вместо ссылки-формы), а вот вебхук у обоих одинаковый — старый формат FreeKassa.

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

Магазин в кабинете KassaAI. Понадобятся:

  • ID магазинаshop_id;
  • API-ключ — подписывает запросы создания платежа;
  • Секретное слово 2 — подписывает уведомления о платеже.

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

Кабинет → Платежи → карточка KassaAI:

ПолеЧто этоОбязательное
shop_idID магазинада
api_keyAPI-ключ — HMAC-подпись запросов к api.fk.lifeда
secret2Секретное слово 2 — подпись вебхукада
payment_system_idID платёжной системы (параметр i) — юзер попадёт сразу в выбранный способ, минуя списокнет

Секреты шифруются при сохранении. Включи провайдера тумблером — выключенный отвечает на вебхуки 404. Кнопка «Тест» для KassaAI API-пробу не выполняет — проверяй первым платежом. Общие поля карточки — в настройках платежей.

Вебхук

URL уведомлений в кабинете KassaAI:

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

Уведомление — классическая форма FreeKassa: POST form-encoded (MERCHANT_ID, AMOUNT, MERCHANT_ORDER_ID, SIGN), подпись:

SIGN = md5(shop_id:amount:secret2:order_id)

Неверная подпись → 403. На валидное уведомление база сама отвечает обязательным plain-text YES.

Особенности

  • Запрос создания подписывается HMAC-SHA256 (api_key) по значениям тела, отсортированным по имени поля и соединённым |; уникальность обеспечивает nonce. Всё это база делает сама — приведено, чтобы было понятно, какой ключ за что отвечает.
  • Приходят только успешные оплаты: валидная подпись = платёж засчитан, промежуточных статусов нет.
  • Возвратов по API и рекуррентов нет — возврат фиксируется как ручной, см. Возвраты.
  • Целые суммы в подписи вебхука считаются без копеек («199», не «199.00») — база нормализует сумму сама.
  • Опроса статуса по API нет: потерянный вебхук оставляет платёж в ожидании.

Платёж не пришёл?

Реконсилятор проверяет зависшие платежи каждые 5 минут, но KassaAI не даёт опроса статуса — оплату закрывает только вебхук. Проверь URL уведомлений — разбор доставки в разделе Вебхуки.

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