Вы загрузили чек на проверку, QR-код считался успешно, запрос ушёл в базу Kaspi — и ответ: «Чек не найден». Что это значит? Чек поддельный? Или у Kaspi проблемы? А может, клиент невиновен и проблема чисто техническая? Ошибка «Чек не найден» (status: invalid) — одна из самых неоднозначных при верификации чеков, потому что за ней могут стоять совершенно разные причины.
В этой статье разберём все возможные причины этой ошибки, построим пошаговый алгоритм диагностики и определим, когда стоит беспокоиться, а когда — просто подождать.
Что означает «Чек не найден»
Когда ProverkaCheka отправляет запрос на receipt.kaspi.kz с данными из QR-кода, сервер Kaspi ищет транзакцию в своей базе по идентификатору чека (extTranId). Если транзакция не найдена, Kaspi возвращает пустой ответ или ошибку — и ProverkaCheka интерпретирует это как status: invalid.
Но «не найден в базе» и «поддельный» — не одно и то же. Вот все возможные причины.
Причина 1: Чек поддельный
Самая серьёзная причина, но, к счастью, не самая частая. Поддельный чек Kaspi — это PDF-документ, созданный в графическом редакторе или конструкторе документов, который визуально похож на настоящий фискальный чек, но содержит вымышленные данные.
Признаки поддельного чека:
- QR-код ведёт на несуществующую страницу — ссылка в QR-коде не начинается с receipt.kaspi.kz или ведёт на ошибку 404
- Нестандартный формат PDF — шрифты, отступы, логотип отличаются от стандартного чека Kaspi
- Нереалистичный номер чека — формат номера не соответствует стандарту Kaspi (QR + цифры)
- QR-код содержит произвольную ссылку — вместо receipt.kaspi.kz закодирован другой URL или произвольный текст
Как ProverkaCheka защищает от подделок: система проверяет не только содержимое QR-кода, но и структуру ссылки. Если QR-код ведёт не на receipt.kaspi.kz, чек автоматически отклоняется, даже без обращения к API Kaspi. Это мгновенное обнаружение явных подделок.
Причина 2: Задержка появления в базе Kaspi
Это самая частая «ложноположительная» причина ошибки «Чек не найден». После совершения платежа через Kaspi данные о транзакции не всегда мгновенно появляются в базе receipt.kaspi.kz.
В большинстве случаев чек становится доступным для верификации в течение нескольких секунд после оплаты. Однако бывают задержки:
- 1-5 минут — обычная задержка при высокой нагрузке на серверы Kaspi
- 5-30 минут — во время пиковых нагрузок (праздники, акции, конец месяца)
- До нескольких часов — в редких случаях при технических работах на стороне Kaspi
Если клиент только что совершил оплату и тут же отправил чек на проверку — подождите 5-10 минут и попробуйте снова. В 95% случаев повторная проверка будет успешной.
Причина 3: Отменённая транзакция
Клиент мог совершить оплату, получить чек, а затем отменить транзакцию через приложение Kaspi или через банк. В этом случае чек был настоящим в момент создания, но транзакция аннулирована, и данные удалены из базы верификации.
Такой сценарий особенно опасен при отложенной проверке: клиент отправляет чек, вы подтверждаете заказ визуально (не проверив), а позже при автоматической проверке обнаруживаете, что транзакция отменена. Товар уже отгружен, деньги не получены.
Проверяйте чеки сразу после получения, а не откладывайте на потом. Если у вас высокий средний чек — обязательно дожидайтесь результата автоматической проверки перед отгрузкой товара или оказанием услуги.
Причина 4: Повреждённый QR-код считался некорректно
Если QR-код на чеке был частично повреждён или имел низкое качество, сканер мог считать его с ошибками. В результате ссылка, извлечённая из QR-кода, содержит неверный идентификатор транзакции. Запрос уходит на receipt.kaspi.kz, но с неправильным ID — и Kaspi логично отвечает «не найдено».
Как распознать этот случай: попробуйте считать QR-код другим устройством или приложением. Если результаты отличаются — проблема в качестве считывания, а не в чеке. Решение — попросить клиента отправить чек в лучшем качестве (PDF вместо скриншота).
Причина 5: Технические работы на стороне Kaspi
Во время плановых или внеплановых технических работ API receipt.kaspi.kz может возвращать ошибки для всех запросов, в том числе для подлинных чеков. Отличить эту ситуацию от поддельного чека можно по нескольким признакам:
- Проблема затрагивает не один чек, а все проверки подряд
- Endpoint
/healthProverkaCheka показывает повышенное количество ошибок Kaspi - Ранее проверенные (заведомо подлинные) чеки тоже перестают находиться
В этом случае нужно дождаться восстановления работы Kaspi API и повторить проверку. Подробнее об обработке таких ситуаций — в статье «Kaspi API недоступен: что делать».
Пошаговый алгоритм диагностики
Когда вы получили ошибку «Чек не найден», пройдите по этому алгоритму, чтобы определить причину:
-
Проверьте, свежий ли чек
Если клиент оплатил менее 10 минут назад — подождите и повторите проверку. Это самая частая причина.
-
Проверьте endpoint /health
Если
kaspi_errors_10minбольше 0 — у Kaspi могут быть технические проблемы. Проверьте, работают ли другие чеки. -
Проверьте формат файла
Если клиент отправил скриншот, а не PDF — QR-код мог считаться некорректно. Попросите PDF-чек.
-
Проверьте QR-код вручную
Считайте QR-код камерой телефона. Если ссылка ведёт не на receipt.kaspi.kz — чек поддельный. Если ведёт, но страница показывает ошибку — возможна задержка или отмена транзакции.
-
Повторите проверку через 15-30 минут
Если все предыдущие шаги не выявили проблему — подождите и повторите. Если через 30 минут чек по-прежнему не находится, а другие чеки проверяются успешно — с высокой вероятностью чек поддельный или транзакция отменена.
Что делать в каждом случае
| Диагноз | Действие | Сроки |
|---|---|---|
| Задержка в базе Kaspi | Повторить проверку через 5-10 минут | Решается автоматически |
| Технические работы Kaspi | Подождать восстановления, мониторить /health | От 15 минут до нескольких часов |
| Некорректное считывание QR | Попросить PDF-чек у клиента | Зависит от клиента |
| Отменённая транзакция | Запросить новый платёж и новый чек | Зависит от клиента |
| Поддельный чек | Отклонить, уведомить клиента, зафиксировать | Немедленно |
Как настроить автоматическую обработку
Для бизнесов с большим потоком чеков рекомендуем автоматизировать обработку ошибки «Чек не найден»:
- Автоматический повтор через 5 минут — если чек не найден, поместите его в очередь на повторную проверку. В большинстве случаев повторная попытка будет успешной.
- Максимум 3 повторных попытки — после трёх неудачных попыток (через 5, 15 и 30 минут) считайте чек подозрительным и направляйте на ручную проверку.
- Уведомление клиента — после первой неудачной попытки отправьте клиенту сообщение: «Проверка вашего чека временно задерживается. Мы повторим проверку автоматически и уведомим вас о результате».
- Эскалация — если чек не найден после 3 попыток, создайте тикет для оператора с пометкой «Требует ручной проверки».
Профилактика: как снизить количество ошибок «Чек не найден»
- Требуйте PDF, а не скриншоты — это снижает вероятность ошибок считывания QR-кода
- Добавьте задержку в 1-2 минуты перед проверкой свежих чеков — дайте базе Kaspi время обновиться
- Мониторьте
/health— если у Kaspi проблемы, предупредите операторов заранее - Используйте ProverkaCheka — система автоматически выполняет повторные попытки и различает типы ошибок, экономя время вашей команды
Итоги
Ошибка «Чек не найден» — это не приговор чеку. В большинстве случаев (около 80%) причина — задержка появления данных в базе Kaspi, и повторная проверка через 5-10 минут решает проблему. Однако оставшиеся 20% могут быть реальными подделками, отменёнными транзакциями или ошибками считывания QR-кода. Пошаговый алгоритм диагностики из этой статьи поможет быстро определить причину и принять правильное решение.