Коротко
В момент оплаты Qut Pay создаёт для счёта страницу чека: https://api.qut.kz/receipt/<идентификатор счёта>. Это подтверждение платежа, пригодное и покупателю, и вам. Ссылка одинаково приходит в ответе API, в вебхуке, в списке счетов кабинета и в сообщении Telegram-бота.
Эта страница — не фискальный чек. Чек ККМ для покупателя выбивает сам Kaspi и присылает его в приложение покупателя: Фискальный чек.
Если известен email покупателя, после подтверждения оплаты ему уходит письмо — для этого в кабинете должен быть настроен SMTP.
Что показывает страница чека
| Строка | Откуда берётся |
|---|---|
| Название магазина | Кабинет → Настройки → название магазина (иначе название организации) |
| Юридическое название и БИН/ИИН | Данные организации, если заполнены |
| Номер чека | Автоматически, в виде ГОД-000001, своя нумерация у каждой организации на каждый год |
| Состояние | «Оплачено», «Полный возврат» или «Частичный возврат» |
| Дата | Время подтверждения платежа |
| Услуга | Описание счёта (если пусто — «Оплата») |
| Номер заказа | Ваш externalOrderId, если он был передан |
| Клиент | Имя, указанное в счёте |
| Способ оплаты | «Kaspi QR» или «Kaspi счёт» |
| Возвращено | Сумма возврата, если он был |
| Сумма | Сумма счёта |
На странице есть кнопка печати — открывается диалог браузера, откуда можно сохранить и в PDF. У счетов песочницы стоит пометка SANDBOX.
Нумерация внутри организации сквозная: с начала года она стартует с 2026-000001 и растёт на единицу с каждым оплаченным счётом. Номер присваивается один раз и больше не меняется.
Страница закрыта от индексации поисковиками, но тот, кто знает ссылку, её откроет — поэтому передавайте ссылку только покупателю и в свои системы.
Когда чек появляется
Чек создаётся только при подтверждении оплаты. У открытого (new, pending), отменённого или истёкшего счёта чека нет — по такому адресу вернётся «чек не найден».
Возврат чек не удаляет: страница открывается та же, но состояние меняется на «Полный возврат» или «Частичный возврат», а сумма возврата показывается отдельной строкой. О возвратах: API возвратов.
Как доставить чек покупателю
Со страницы оплаты. Сразу после оплаты на странице появляется кнопка «Открыть чек». Делать ничего не нужно.
Письмом. Если при создании счёта передан customer.email и в кабинете настроен SMTP, после подтверждения оплаты покупателю уходит письмо: сумма, название услуги и ссылка на чек. Это письмо можно отключить в настройках. Без SMTP письмо не отправляется — попытка помечается в журнале как пропущенная.
Из своей системы. В вебхуке invoice.paid приходят и номер чека, и ссылка — вставьте их в своё письмо, SMS или в страницу заказа.
Через Telegram. В уведомлении об оплате, которое приходит в привязанный чат, есть кнопка 🧾 Чек.
Поля в API и вебхуке
В объекте счёта есть три поля:
| Поле | Значение |
|---|---|
receiptNumber | Номер чека, например 2026-000123. У неоплаченного счёта null |
receiptUrl | Полный адрес нашей страницы чека. У неоплаченного счёта null |
providerReceiptUrl | Ссылка на чек, которую вернул Kaspi, если она есть |
В учёте удобно хранить номер чека рядом со своим externalOrderId: тогда и заказ, и чек находятся в одной строке.
Почему ссылка на чек Kaspi не открывается
По некоторым платежам Kaspi возвращает ссылку на свой чек. Но один из её видов — это ссылка для просмотра кассиром: она открывается только внутри активной кассирской сессии Kaspi. Если покупатель откроет её со своего телефона, он увидит лишь сообщение о том, что чек получить не удалось.
Поэтому такую ссылку мы убрали со страницы, которую видит покупатель. Она остаётся только на вашей стороне: в ответе API, в вебхуке и в уведомлении мерчанту.
Свой фискальный чек покупатель получает в другом месте — в разделе «Уведомления» собственного приложения Kaspi. Если подключена Kaspi Касса, чек приходит туда автоматически. Просить его у нас бессмысленно: чеки ККМ мы не выбиваем.
Если возвращённая Kaspi ссылка не относится к кассирскому типу, на странице чека она показывается кнопкой «Чек Kaspi».
Если чек выглядит не так
| Что происходит | Причина |
|---|---|
| Вместо названия магазина — название организации | Не заполнено название магазина в настройках |
| Нет юридического названия и БИН | Не заполнены данные организации: Заполнить данные организации |
| Вместо услуги — «Оплата» | При создании счёта не передано описание |
| Нет номера заказа | Не передан externalOrderId |
| «Чек не найден» | Счёт ещё не оплачен либо неверный идентификатор |
| Покупателю не пришло письмо | Не настроен SMTP, не передан customer.email, либо письмо попало в спам |
Вопросы и ответы
Можно ли отправить чек повторно? Сама ссылка постоянная — скопируйте её в кабинете и отправьте любым каналом заново.
Почему в нумерации чеков бывают пропуски? Номер получает только оплаченный счёт. Неоплаченные счета номера не получают, поэтому разрывы возникают в списке счетов, а не в последовательности чеков — она не прерывается.
Годится ли чек из песочницы для отчётности? Нет. Это тестовая запись, на ней стоит пометка SANDBOX.
Покупатель требует фискальный чек. Мы его выдать не можем. Если подключена Kaspi Касса, чек уже пришёл в приложение Kaspi покупателя: Фискальный чек.
Виден ли на чеке телефон покупателя? Нет, показывается только имя. О том, что покупатель видит в целом: Что видит покупатель.