← qut.kz

Подключите оплату Kaspi к своему устройству через API

Если у вас своё устройство или вы сами пишете для него программу — киоск самообслуживания, терминал, касса на планшете, игровой автомат, зарядная станция, любая установка с кнопкой «купить», — оплата Kaspi подключается одним HTTP-запросом. Устройство запрашивает у Qut Pay счёт, выводит QR на экран, клиент сканирует его в Kaspi.kz и платит, устройство получает «оплачено» и выдаёт товар.

Деньги приходят сразу на ваш счёт Kaspi Pay. Qut Pay деньги не держит: он только создаёт счета, следит за статусом и сообщает вам.

Кому подходит

Для готовых вендинговых автоматов без экрана, которые управляются импульсом или по MDB (вода, кофе, мойка), удобнее поставщики специальных модулей: там задача не в API, а в «железе», которое подключается к плате автомата. Qut Pay не продаёт ни устройства, ни модули, только программный API.

Как это работает

Клиент нажимает «Оплатить»
  → устройство делает POST /invoices
  → на экране QR (действует ≈3 минуты)
  → клиент сканирует в Kaspi.kz
  → Qut Pay переводит счёт в «paid»
  → устройство получает ответ → выдаёт товар

Создание счёта:

POST https://api.qut.kz/api/v1/invoices
X-API-Key: qp_live_…
Idempotency-Key: kiosk7-000154
{ "amount": 500, "externalOrderId": "kiosk7-000154", "description": "Киоск №7, 500 ₸" }
→ { "id": "inv_…", "status": "pending", "qrImageUrl": "https://qut.kz/pay/inv_…/qr.svg", "deepLink": "https://kaspi.kz/pay/…", "expiresAt": "…" }

Устройство выводит картинку qrImageUrl (SVG). Если сканировать QR с экрана неудобно, можно ввести номер клиента и отправить счёт прямо в его приложение Kaspi.kz: "kind": "phone" и customer.phone (сумма — в целых тенге).

Как узнать об оплате

Есть два способа, их можно совмещать:

1. Webhook. Qut Pay отправляет на ваш сервер подписанное (HMAC-SHA256) событие invoice.paid. Если устройства подчиняются одному серверу, сервер даёт устройству команду «выдать». Это самый надёжный путь.

2. Опрос (polling). Если устройство за NAT, на GSM-модеме, без постоянного адреса, входящие запросы оно принять не может. Тогда оно само каждые 2–3 секунды запрашивает GET /invoices/{id} и выдаёт товар, когда status становится paid. После expiresAt экран очищается, при необходимости создаётся новый счёт.

Бывает поздняя оплата: если клиент отсканировал в последнюю секунду, счёт в статусе expired чуть позже становится paid. Программа должна это обработать — выдать товар или вернуть деньги.

Как хранить ключ

Несколько точек, несколько кассиров

В кабинете можно подключить несколько кассиров Kaspi и привязать API-ключ к конкретному кассиру. Оплата каждой точки идёт через её кассира, отчёт виден по точкам отдельно. Если записывать номер устройства в externalOrderId и metadata, по любой оплате видно, через какой аппарат она прошла.

Что готово

Сколько стоит

7 дней бесплатно, отсчёт с первого реального счёта. Дальше от 4 990 ₸ в месяц за 800 счетов. Платформа не берёт процент с платежей; Kaspi удерживает свою комиссию (0,95 % за QR) отдельно, как и без нас. Если устройств много, тариф выбирается по числу счетов: тарифы.

Ограничения, о которых лучше знать заранее

Если есть вопросы по схеме вашего устройства — напишите в раздел Поддержка в кабинете или по контактам, вместе решим, что выбрать: webhook или опрос.

Обновлено: 2026-11-02