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

Ресторан и кафе

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

Коротко

В ресторане есть две разные вещи: постоянная ссылка (QR, который печатают на стол, сумма открытая) и динамический счёт (выставляется на кассе на точную сумму чека). Повседневная работа строится на втором: официант закрывает чек, на экране кассы или планшета появляется QR, гость сканирует его приложением Kaspi, и примерно через 5 секунд ваша система получает webhook об оплате и закрывает чек. Деньги идут напрямую на ваш счёт в Kaspi.

Сценарий за столом

  1. Официант закрывает чек в POS, сумма — 14 300 ₸.
  2. Ваша система отправляет POST /api/v1/invoices: amount: 14300, description: "Чек №418, стол 6", externalOrderId: "418".
  3. В ответе приходят qrImageUrl и expiresAt. QR выводится на экран кассы, планшет или печатается на чековом принтере.
  4. Гость сканирует приложением Kaspi и платит.
  5. Приходит webhook invoice.paid. POS закрывает чек как оплаченный, стол освобождается.

Окно сканирования QR — около трёх минут, его задаёт Kaspi. Точное время берите из поля expiresAt, не зашивайте константу. Если гость не успел, выставляете новый счёт — это нормальная ситуация, а не сбой.

QR на столе и QR на кассе

Это две разные вещи, их легко перепутать.

Печатный QR на столеQR на кассе или планшете
Что этоСсылка на оплату qut.kz/p/<slug> в виде QRKaspi QR конкретного счёта
СуммаОткрытая, гость вводит самТочная сумма чека
СрокПостоянный, живёт месяцамиОколо трёх минут
Когда удобноЧайханы, фудкорт, быстрое обслуживание, чаевыеЗал с полным обслуживанием
РискГость введёт неверную суммуОкно истекло — нужен новый счёт

Многие заведения держат оба варианта: в зале — динамический QR с кассы, а на столах постоянная ссылка для чаевых и быстрой оплаты.

Счёт на сумму чека

POST /api/v1/invoices
{
  "amount": 14300,
  "kind": "qr",
  "description": "Чек №418, стол 6",
  "externalOrderId": "418",
  "metadata": { "table": "6", "waiter": "aigerim", "shift": "evening" }
}

description видит гость, для QR-счёта это максимум 100 символов. Пишите туда то, что понятно гостю: номера чека и стола достаточно. Перечислять блюда не нужно.

Отправляйте заголовок Idempotency-Key. Если официант дважды нажал «Показать QR» или запрос ушёл повторно из-за обрыва Wi-Fi, с тем же ключом новый счёт не создастся — вернётся прежний.

Раздельная оплата

Один счёт Kaspi не делится между несколькими плательщиками. Поэтому раздельная оплата — это несколько отдельных счетов.

Если одна часть оплачена, а вторая нет — незакрытую отменяете через POST /api/v1/invoices/{id}/cancel и выставляете остаток заново.

Учёт по официантам

Два рабочих способа.

Простой — metadata. В каждый счёт пишете metadata.waiter. Потом группируете по этому полю в выгрузке CSV или через GET /api/v1/invoices. Никакой отдельной настройки не нужно, смена одного человека считается за минуту.

Строгий — отдельный API-ключ. Для каждой кассы или точки заводите свой ключ и привязываете его к кассиру. Боевые счета такого ключа идут только через этого кассира, чужих счетов он не видит. Это удобно сети с несколькими залами: Раздельная отчётность по точкам.

Одному заведению обычно хватает metadata, отдельные ключи нужны филиалам.

Заказы на доставку

В доставке момент оплаты другой: при приёме заказа или у двери.

Подробнее: Служба доставки.

Если у гостя нет приложения Kaspi

Встречается редко, но встречается. Главное помнить: счёт по телефону (kind: "phone") до такого гостя не дойдёт — push приходит в приложение Kaspi, а его нет.

Что делать:

  1. Показать QR другому человеку за столом — спутник платит, между собой они рассчитываются сами.
  2. Отправить ссылку payUrl в WhatsApp: она открывается в браузере.
  3. Дальше — обычный порядок вашей кассы: наличные или карта. Qut Pay в этом случае не участвует.

Подробно: У покупателя нет приложения Kaspi.

Вариант без кода

Начать можно и без программиста:

Что учесть заранее

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

Можно напечатать отдельный QR на каждый стол? Можно, но это будет ссылка с открытой суммой — гость вводит её сам. Если нужна точная сумма чека, выставляйте динамический счёт с кассы.

Как принимать чаевые отдельно? Вторым счётом или ссылкой с открытой суммой. Сумму уже созданного счёта гость изменить не может.

Выставил счёт с неверной суммой — что делать? Если он не оплачен, отмените и выставьте правильный. Если оплачен — сделайте полный или частичный возврат.

Что будет, если пропадёт интернет? Для создания QR интернет нужен. Без связи работаете по обычному порядку кассы, после восстановления счёт выставляется заново.

У нас несколько филиалов, отчётность не перемешается? Заведите каждому филиалу свой ключ и привяжите к своему кассиру — счета и отчёты будут раздельными: Раздельная отчётность по точкам.

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

Приём по QR на офлайн-точкеКассир показывает динамический QR на экране, клиент сканирует. Окно сканирования ограничено — время берите из поля expiresAt. Когда удобнее QR, когда счёт на телефон и как разделить несколько точек.QR-счёт или счёт по телефону — что выбратьПолное сравнение двух типов счёта: значение kind, что делает покупатель, нужен ли номер, ограничения описания и суммы, срок жизни и таблица сценариев с рекомендацией по каждому.У покупателя нет приложения Kaspi — как принять оплатуСчёт по телефону (kind phone) приходит в приложение Kaspi покупателя, и без приложения он просто не дойдёт. Вместо него нужен QR или ссылка на оплату. Как проверить заранее.Ссылки на оплату — постоянный адрес для приёма платежейПостоянная ссылка вида qut.kz/p/<slug>: свой адрес, фиксированная и открытая сумма, остановка и возобновление, чем отличается от ссылки на счёт, отчётность по ссылкам и коды ошибок.Служба доставкиКурьер выставляет счёт в момент доставки, клиент платит со своего телефона. Через Telegram-бота или своё приложение, с номером заказа и метаданными, с возвратами и обработкой недоставленных заказов.

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

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