Вопрос 1. Один счёт или все?
Откройте раздел «Счета» и посмотрите на масштаб.
- Не проходит один конкретный счёт, остальные оплачиваются нормально — проблема почти наверняка локальная: не тот номер покупателя, у покупателя нет приложения Kaspi, истёк срок счёта, закончился дневной лимит тарифа. Это разбирается в статье «Оплата не приходит: проблема у вас».
- Не проходят все или почти все счета сразу — переходите к вопросу 2, это уже похоже на что-то системное.
Вопрос 2. Ошибка в ответе API — или счета создаются, но их не оплачивают?
API отдаёт ошибку при создании счёта. У ответа есть error_code — он и есть диагноз, и почти всегда это «ваша» сторона: client_not_found и organization_not_configured разобраны в «Оплата не приходит», 403 tariff_inactive — в «Тарифах и комиссии», 429 trial_daily_limit и 429 tariff_limit_reached — в «Лимите счетов по тарифу», 409 duplicate_idempotency_key — в «Счета дублируются». Признак техработ ApiPay — 503 invoices_disabled (счёт не создан), про него ниже.
Счета создаются (processing или pending), но покупатели не платят. Покупатель мог просто не открыть Kaspi — счёт ждёт его 24 часа. Если застряли многие счета и покупатели жалуются, что у них «не проходит», — переходите к вопросу 3.
processing— счёт ещё не отправлен в Kaspi. Обычно это секунды: дальше приходитpendingлибоerrorс причиной, вечно вprocessingсчёт не остаётся. Долгое ожидание штатно при включённом режиме накопления — проверьтеGET /account/health→invoicing.accumulating(true— счета копятся в hold и в Kaspi не уходят). Подробно про статусы — «Жизненный цикл счёта».
Вопрос 3. Открывается ли приложение Kaspi?
Откройте приложение Kaspi на своём телефоне: тормозит, не грузит, показывает ошибки? Спросите покупателя, не пишет ли Kaspi при оплате «Попробуйте позже». Если так у многих — с высокой вероятностью проблема не в вашей настройке, а во временном сбое на стороне приёма.
Три исхода — и что делать в каждом
Похоже, проблема у вас
Признаки: не проходит один-два счёта; в ответе есть конкретный error_code; у покупателя нет приложения Kaspi; неактивна подписка или исчерпан дневной лимит тарифа; недавно перевыпускали ключи. Маршрут по симптомам — «Оплата не приходит».
Похоже, сбой на стороне Kaspi
Признаки: массовые задержки сразу по многим счетам; покупатели видят «Попробуйте позже»; приложение Kaspi подтормаживает у разных людей.
Как это выглядит в API:
- счёт, который Kaspi отбил по частоте запросов, получает терминальный
errorсerror_code: kaspi_throttledи вебхуком. Автоматических повторов по такому счёту нет — заказ выставляют заново новым счётом через 2–3 минуты; - счёт, не доехавший до Kaspi из-за сетевого сбоя, финализируется в
errorсnetwork_unavailable: повторы укладываются в минуты, а не в сутки; - уже созданные в Kaspi счета (
pending) живут своим сроком, вебхуки об оплатах приходят по мере восстановления связи.
Что делать ВАМ:
- снизьте темп выставления — счёт с
kaspi_throttledнужно выставлять заново, и залпом вы получите ту же ошибку по всей пачке; - не пересоздавайте счёт, пока он в
processing: получатся два живых счёта, и покупатель может оплатить оба. Перевыставляйте только по вебхуку с терминальным статусом, а не по таймауту; - предупредите покупателей о возможной задержке оплаты;
- различайте два финала. Счёт, уже созданный в Kaspi (
pending), доживает свой срок и уходит вexpired; счёт, не доехавший до Kaspi, финализируется вerror— ждать его бесполезно. В обоих случаях заказ выставляют заново, повтор с тем жеexternal_order_id_idempotencyдубля не даст («Счета дублируются»).
Похоже, плановые работы ApiPay
У техработ есть машинный признак — HTTP 503. POST /invoices, /invoices/bulk, /invoices/qr отвечают 503 {"error_code": "invoices_disabled"} до создания счёта: счёт в системе не появляется, повтор позже дубля не даст. Стоп бывает точечным по кассиру: счёт, адресованный другому кассиру организации (kaspi_connection_id), создаётся штатно. Подключение и переавторизация кассира на это время отвечают 503 entrance_auth_disabled, а уже подключённые кассиры работают. Чтение счетов, отмена, возврат, вебхуки и каталог продолжают работать. Ретрайте с бэкоффом в минутах, не в секундах.
О плановых работах приходит сообщение в WhatsApp на ваш личный номер — ориентируйтесь на указанное в нём время окончания.
Вопросы и ответы
Потеряются ли оплаты, пока у Kaspi сбой?
По счетам, которые уже созданы в Kaspi, уведомления об оплате придут после восстановления связи. Счета, не доехавшие до Kaspi, закончатся статусом error с причиной — их выставляют заново.