Вы получили PDF-чек от клиента, отправили его на проверку — и система сообщает, что QR-код не удалось считать. Это одна из самых частых проблем при автоматической верификации чеков Kaspi. В большинстве случаев проблема не в чеке, а в формате файла, который прислал клиент. Давайте разберём все причины и 5 конкретных способов решения.
Почему QR-код может не считываться
QR-код на фискальном чеке Kaspi содержит ссылку на receipt.kaspi.kz — страницу верификации транзакции. Чтобы автоматическая система могла считать этот QR-код, файл должен соответствовать определённым требованиям к формату и качеству. Вот основные причины, по которым считывание может не работать.
Причина 1: Скриншот вместо PDF
Самая распространённая причина. Клиент делает скриншот экрана с чеком в приложении Kaspi и отправляет его как изображение (JPG или PNG). Проблема в том, что скриншот — это растровое изображение, и QR-код на нём может быть недостаточно чётким для автоматического считывания. Особенно если скриншот сделан на устройстве с низким разрешением экрана или сжат мессенджером при отправке.
Причина 2: Сжатие файла мессенджером
Telegram, WhatsApp и другие мессенджеры автоматически сжимают отправляемые файлы, если они отправлены как фото, а не как документ. При сжатии качество QR-кода падает, и мелкие точки, составляющие его паттерн, сливаются. Даже оригинальный PDF-чек, отправленный «как фото», превращается в размытое изображение.
Причина 3: Обрезанный QR-код
Иногда клиент обрезает чек, пытаясь отправить «только важную часть». QR-код обычно расположен в нижней части чека, и при обрезке может быть удалён частично или полностью. Даже потеря нескольких пикселей по краю QR-кода делает его нечитаемым.
Причина 4: Фото чека с экрана
Ещё один распространённый сценарий: клиент фотографирует экран компьютера или другого телефона, на котором открыт чек. На таком фото появляются муар (полосы от пикселей экрана), блики, искажения перспективы — всё это делает QR-код нечитаемым для автоматических сканеров.
Причина 5: Повреждённый PDF-файл
В редких случаях PDF-файл может быть повреждён: при скачивании произошёл сбой, файл был неполностью сохранён, или его структура нарушена сторонним программным обеспечением. Такой файл может открываться в просмотрщике, но QR-код из него извлечь невозможно.
Статистика: по данным ProverkaCheka, около 12% всех загруженных файлов приходят в формате, непригодном для автоматического считывания QR-кода. Из них 70% — это скриншоты вместо PDF, 20% — сжатые мессенджером изображения, 10% — прочие проблемы.
5 способов решить проблему
Способ 1: Попросите PDF-файл, а не скриншот
Это самое эффективное решение, которое устраняет 70% всех проблем с QR-кодами. В приложении Kaspi есть функция «Поделиться чеком» или «Скачать PDF» — именно этот файл нужно запрашивать у клиента.
- Откройте историю платежей в приложении Kaspi
- Найдите нужную транзакцию и нажмите на неё
- Нажмите «Поделиться» или «Сохранить PDF» — появится стандартный PDF-файл фискального чека
- Отправьте файл как документ (не как фото!) через мессенджер
PDF-файл, сгенерированный приложением Kaspi, содержит QR-код в векторном формате, который считывается со 100% точностью независимо от устройства получателя.
Добавьте в шаблон сообщения клиенту инструкцию: «Пожалуйста, отправьте чек в формате PDF (кнопка "Поделиться" в Kaspi), а не скриншот экрана. Это необходимо для автоматической проверки оплаты».
Способ 2: Отправляйте файл как документ, не как фото
Даже если клиент скачал правильный PDF, он может отправить его неправильно. В Telegram, WhatsApp и других мессенджерах есть два способа отправки файла:
| Способ отправки | Что происходит | QR считается? |
|---|---|---|
| Как фото (галерея) | Мессенджер сжимает, конвертирует в JPG | Часто нет |
| Как документ/файл | Файл передаётся без изменений | Да |
В Telegram: нажмите скрепку, затем выберите «Файл» (а не «Галерея»). В WhatsApp: нажмите скрепку, затем «Документ». Это сохранит оригинальное качество файла.
Способ 3: Увеличьте разрешение при повторной отправке
Если клиент категорически не может отправить PDF (например, у него нет доступа к приложению Kaspi), можно попытаться получить качественный скриншот:
- Попросите сделать скриншот на устройстве с максимальным разрешением экрана
- QR-код должен занимать не менее четверти экрана — попросите увеличить масштаб перед скриншотом
- Убедитесь, что весь QR-код целиком попал на скриншот, включая белые поля вокруг него
- Отправить скриншот как файл, а не как фото, чтобы избежать сжатия
Белые поля (quiet zone) вокруг QR-кода критически важны: без них сканер не может определить границы кода и правильно его декодировать. Минимальная ширина белого поля — 4 модуля (маленьких квадрата) QR-кода.
Способ 4: Используйте Telegram-бот ProverkaCheka
Telegram-бот @ProverkaChekakzbot использует продвинутые алгоритмы обработки изображений, которые повышают вероятность успешного считывания QR-кода даже с некачественных файлов.
Процесс обработки включает несколько этапов:
- Извлечение из PDF — система использует библиотеку pdfplumber для извлечения встроенных изображений из PDF, сохраняя оригинальное качество
- Множественное сканирование — QR-код ищется с помощью нескольких алгоритмов распознавания (pyzbar, OpenCV), что увеличивает вероятность успеха
- Предобработка изображения — при первой неудаче система применяет фильтры: увеличение контраста, бинаризацию, удаление шума, что помогает считать даже размытые QR-коды
- Извлечение текста — если QR-код полностью нечитаем, система пытается извлечь данные чека из текстового слоя PDF (номер чека, сумму, дату)
Способ 5: Ручная отправка ссылки из QR-кода
Если ни один автоматический метод не работает, остаётся последний вариант — ручное извлечение ссылки из QR-кода.
- Откройте QR-код на чеке камерой телефона (стандартное приложение камеры на iOS и Android умеет считывать QR-коды)
- Скопируйте ссылку, которая начинается с
receipt.kaspi.kz/... - Перейдите по ссылке в браузере — откроется страница верификации с данными транзакции
- Сверьте данные вручную: сумму, имя продавца, дату, ИИН/БИН
Этот способ требует времени, но позволяет проверить подлинность чека даже при полной невозможности автоматического считывания QR-кода.
Как предотвратить проблемы заранее
Лучший способ справиться с нечитаемыми QR-кодами — не допустить их появления. Вот несколько рекомендаций для бизнеса.
Инструктируйте клиентов
Добавьте в ваш бот, сайт или шаблон сообщения чёткую инструкцию по отправке чека. Укажите, что нужен именно PDF из приложения Kaspi, отправленный как документ. Большинство клиентов следуют инструкциям, если они сформулированы ясно и коротко.
Настройте автоматические подсказки
Если ваша система получила файл в формате JPG/PNG (скриншот), автоматически отправьте клиенту сообщение: «Вы отправили скриншот. Для проверки оплаты нужен PDF-чек из приложения Kaspi. Откройте платёж в Kaspi, нажмите "Поделиться" и отправьте файл как документ».
Примите оба формата
Если ваша система принимает только PDF — подумайте о поддержке изображений. ProverkaCheka обрабатывает как PDF, так и изображения (JPG, PNG), применяя к каждому формату оптимальные алгоритмы распознавания.
Сравнение форматов файлов
| Формат | Качество QR | Вероятность считывания | Рекомендация |
|---|---|---|---|
| PDF из Kaspi | Векторный, идеальный | 99%+ | Идеальный вариант |
| PNG-скриншот (без сжатия) | Растровый, хороший | 85-90% | Приемлемо |
| JPG из мессенджера | Сжатый, средний | 50-70% | Не рекомендуется |
| Фото экрана | Муар, блики, искажения | 20-40% | Избегайте |
Итоги
Нечитаемый QR-код — это решаемая проблема. В 90% случаев достаточно попросить клиента отправить PDF из приложения Kaspi как документ (а не как фото). Для остальных случаев существуют продвинутые алгоритмы обработки и ручные методы проверки.
Главное правило: PDF из Kaspi, отправленный как документ = гарантированное считывание. Включите это требование в ваши бизнес-процессы, и проблема с нечитаемыми QR-кодами практически исчезнет.