KassaAI
KassaAI — современный API семейства FreeKassa (api.fk.life). Платёж создаётся серверным запросом POST /v1/orders/create, юзер уходит на платёжную страницу из ответа — карта, СБП, кошельки. Валюта — только RUB.
От классической FreeKassa отличается способом создания платежа (подписанный API-запрос вместо ссылки-формы), а вот вебхук у обоих одинаковый — старый формат FreeKassa.
Что понадобится
Магазин в кабинете KassaAI. Понадобятся:
- ID магазина —
shop_id; - API-ключ — подписывает запросы создания платежа;
- Секретное слово 2 — подписывает уведомления о платеже.
Настройка в кабинете
Кабинет → Платежи → карточка KassaAI:
| Поле | Что это | Обязательное |
|---|---|---|
shop_id | ID магазина | да |
api_key | API-ключ — HMAC-подпись запросов к api.fk.life | да |
secret2 | Секретное слово 2 — подпись вебхука | да |
payment_system_id | ID платёжной системы (параметр 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 уведомлений — разбор доставки в разделе Вебхуки.
