Сначала проверьте
- Тариф активен? При истёкшем тарифе счета не создаются и вебхуки молчат — в кабинете раздел «Мой тариф». Напоминания приходят за 7, 3 и 1 день, но их легко пропустить.
- Недавно привязывали организацию или переключали режим? API-ключ и вебхук-секрет могли перегенерироваться — запросы со старым ключом не проходят. Проверьте ключ в Настройках → «Подключения» (подробно — раздел «Когда ключи „внезапно“ перестают работать» в статье «API-ключ и вебхук-секрет»).
- Плашка «ТЕСТОВЫЙ РЕЖИМ» в кабинете? Если горит — причина найдена, дальше можно не искать.
Ветки диагностики
| Признак | Вероятная причина (частота по данным поддержки) | Что сделать | Подробнее |
|---|---|---|---|
У счёта is_sandbox: true, kaspi_invoice_id начинается с SANDBOX-, в кабинете плашка «ТЕСТОВЫЙ РЕЖИМ» |
Песочница не выключена — чаще всего у новых клиентов | Включить «Рабочий режим» в Настройках — заработает без правки кода | Песочница и рабочий режим |
| Счета «сами» отменяются или не создаются; ошибка авторизации кассира / 503 | Оборвалась авторизация кассира — чаще всего у действующих (данные до мая 2026; сейчас редко) | Переподключить за 1 минуту: Настройки → «Авторизация Kaspi» → код из SMS | Почему слетала сессия кассира |
| Счета не создаются, вебхуки молчат, в кабинете напоминание об оплате | Тариф истёк — часто | Продлить тариф: кабинет → «Мой тариф» | Тестовый период, Тарифы и комиссия |
Счёт в статусе error, код client_not_found |
Номер покупателя не зарегистрирован в Kaspi или введён с ошибкой — редко | Сверить номер с покупателем, выставить счёт заново | Как создать счёт по номеру |
Счёт висит в processing |
Выставление временно замедлено под нагрузкой — не поломка | Не пересоздавать, дождаться результата (законно и >60 минут) | Массовые отмены счетов |
| Не работает массово, «у всех» | Инцидент платформы или временный сбой — редко, эпизодами | Написать в поддержку — подтвердим и назовём срок | — |
Если счёт ушёл «не туда»: ошибка в номере покупателя
Коварный случай: номер введён с опечаткой, но он существует в Kaspi — тогда счёт благополучно доставлен, только другому человеку. Ваш покупатель говорит «ничего не пришло», а в кабинете счёт висит pending без ошибок. Проверка: сверьте номер посимвольно (формат 8XXXXXXXXXX) и спросите покупателя, установлено ли у него приложение Kaspi. Если номера нет в Kaspi вовсе — счёт уйдёт в error с кодом client_not_found, это честнее и заметнее.
Что делали с точкой в последние дни?
Два вопроса, с которых начинает поддержка: «С номером кассира ничего не делали? Кассу не переименовывали?» Если приём счетов вдруг прекратился — переподключите привязку кассира: Настройки → «Авторизация Kaspi». Номер кассира держите только для сервиса и не используйте его для входа в приложение Kaspi Pay. Восстановление — 1 минута, шаги в разделе «Сессия всё-таки оборвалась: как переподключить за 1 минуту» статьи «Почему слетала сессия кассира».
Для вашего ИИ-агента
Диагностируйте по полям ответа API: is_sandbox, префикс SANDBOX- в kaspi_invoice_id, status, error_code; при processing — last_kaspi_error_code / last_kaspi_error_message в GET /invoices/{id}.
Частые вопросы
Счёт создался (ответ 201), но покупателю не пришёл push — почему?
201 означает «принят в обработку» (status: processing), а не «доставлен». Если через пару минут статус не стал pending — идите по таблице выше: режим, тариф, кассир.
Статус processing уже час — это зависание?
Чаще всего нет: под высокой нагрузкой выставление законно замедляется. Не пересоздавайте счёт — получите два живых счёта и, возможно, двойную оплату.
Вчера работало, сегодня нет — что смотреть первым?
Тариф (не истёк ли), затем — не входил ли кто-то в Kaspi Pay под номером кассира и не переименовывали ли точку/ИП.
Как понять, что ошибка временная?
По error_code: временные сетевые состояния (network_unavailable) обычно проходят сами — помогает повтор через 1–3 минуты.
Покупатель не видит счёт, а статус pending без ошибок?
Проверьте номер: счёт мог уйти реальному, но другому человеку (опечатка в существующем номере).