Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Решение проблем

Счёт завис в статусе pending

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

pending — это состояние ожидания, а не ошибка. Оно означает «счёт выставлен, покупатель пока не подтвердил оплату». В этом статусе счёт живёт до конца своего срока, а затем сам переходит в expired. Делать ничего не нужно: мы постоянно проверяем счёт в фоне, и в момент оплаты статус меняется на paid, а вам уходит вебхук. Волноваться стоит только в одном случае — если в pending застревают все ваши счета подряд.

Статусы счёта

new → pending → paid
              → cancelled
              → expired

Оплаченный счёт позже может стать refunded или partially_refunded.

СтатусЧто значитОткрыт
newСчёт создан, ещё не показан покупателюДа
pendingПоказан покупателю, ждёт подтвержденияДа
paidПокупатель оплатил, деньги на вашем счёте KaspiНет
cancelledВы отменили счётНет
expiredСрок истёк, оплаты не былоНет

new и pending считаются открытыми — они ещё могут быть оплачены. paid, refunded и partially_refunded считаются оплаченными.

Сколько он живёт

Зависит от вида счёта, и срок задаёт Kaspi — продлить его со своей стороны мы не можем.

ВидЧто этоСрок
qrQR-код и ссылка на оплатуОкно сканирования короткое, около трёх минут
phonePush в приложение Kaspi покупателяДольше: покупатель может открыть уведомление позже

Не зашивайте конкретное число в код. В ответе на создание счёта приходит поле expiresAt — берите срок оттуда. Если Kaspi изменит окно, ваш код подстроится сам.

Когда окно QR истекает, покупатель при сканировании видит сообщение «попробуйте позже». Об этом отдельная статья: QR показывает «попробуйте позже».

Как мы это проверяем

Kaspi не сообщает нам об оплате сам — мы опрашиваем статусы счетов. Опрос идёт каждые три секунды, а каждый конкретный счёт проверяется с частотой, зависящей от его возраста:

Возраст счётаЧастота проверки
До 3 минутВ каждом цикле
До 30 минутРаз в 20 секунд
СтаршеРаз в 90 секунд

Очередь начинается с самых свежих счетов — то есть оплата покупателя, который стоит у кассы прямо сейчас, проверяется в первую очередь. На практике вебхук после оплаты приходит обычно в пределах пяти секунд.

Важная оговорка: Kaspi не передаёт точное время оплаты. Поэтому измерить по данным Kaspi, сколько прошло от подтверждения покупателем до момента, когда мы узнали об оплате, невозможно.

Когда действительно стоит волноваться

Сам по себе pending — не проблема. Проблема — вот это:

Чего делать не надо

Поздняя оплата

Бывает, что деньги приходят по счёту, который уже стал expired или cancelled. Тогда событие invoice.paid приходит вам позже и с пометкой late: true.

Это настоящая оплата — деньги на вашем счёте Kaspi. Дальше выбор из двух: оказать услугу или вернуть деньги. Правильнее всего сразу научить обработчик замечать признак late и складывать такие счета в отдельный список для разбора.

Вопросы и ответы

Можно ли отменить счёт в pending? Да, через POST /api/v1/invoices/{id}/cancel. Если покупатель ещё не оплатил, счёт закроется.

Можно ли оживить expired-счёт? Нет, создаётся новый.

Считаются ли pending-счета в лимит тарифа? Месячный лимит считается по количеству созданных счетов, а не оплаченных.

Покупатель отсканировал QR, но не заплатил — статус изменится? Нет, статус становится paid только после реального подтверждения. Само сканирование оплатой не является.

Как вывести счёт из pending в песочнице? Через POST /api/v1/invoices/{id}/simulate вы сами задаёте нужный статус. Этот метод работает только в песочнице.

Связанные статьи

QR показывает «попробуйте позже»Если покупатель сканирует QR и видит ошибку, чаще всего истекло окно сканирования. Окно задаёт Kaspi, берите его из поля expiresAt. Чем печатный QR отличается от QR на экране.Оплата не приходит покупателюСчёт создан, но на телефон покупателя ничего не пришло или QR не открывается. Чаще всего причина в том, что остался включённым тестовый режим. Шесть шагов проверки.Вебхук не приходит — как найти причинуСчёт оплачен, а на ваш сервер уведомление не пришло. С чего начать диагностику, какая причина встречается чаще всего и как проверить её одним запросом.Что такое Qut Pay и как он устроенQut Pay — независимый сервис поверх Kaspi Pay: API и кабинет для приёма Kaspi QR через роль «Кассир». Деньги приходят напрямую на ваш счёт в Kaspi и никогда не попадают к нам.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.