Qut Pay Сайт Кабинет Білім базасы Нұсқаулықтар API құжаттамасы ҚАЗРУС
Басты бетБілім базасы → Бизнесіңізге

Вендинг автоматына терминалсыз төлем

Жаңартылды: 2026-09-14 · Markdown нұсқасы

Қысқаша

Вендинг автоматында схема қарапайым: клиент тауарды таңдайды → автоматтың контроллері бұлттағы сіздің серверге айтады → сервер Qut Pay-де счёт жасайды → QR автоматтың экранында шығады → клиент Kaspi-мен сканерлейді → бізден серверге invoice.paid webhook келеді → сервер автоматқа «бер» деген команда жібереді. Су, кофе, снек автоматтарының бәріне бірдей келеді. QR әр сатылымға жаңадан жасалады, экранда тұрақты тұрған сурет жарамайды.

Жұмыс схемасы

ҚадамКімНе істейді
1КлиентАвтоматта тауарды таңдайды (мысалы, 5 литр су)
2КонтроллерБұлттағы серверге сұрау: автомат №, ұяшық, сома
3Сіздің серверPOST /api/v1/invoices, metadata ішіне автомат нөмірі мен ұяшық
4Сіздің серверКонтроллерге qrImageUrl немесе qrUrl мен expiresAt береді
5АвтоматЭкранда QR мен таймер көрсетеді
6КлиентKaspi қосымшасымен сканерлеп растайды
7Qut PayСерверге invoice.paid жібереді
8Сіздің серверАвтоматқа команда: ұяшықты аш / насосты қос
9АвтоматТауарды береді, экранды бастапқы күйге қайтарады

Клиент растағаннан кейін webhook әдетте бес секунд ішінде келеді, сондықтан адам автоматтың жанында тұрып күте алады.

Қандай API әдісі қолданылады

Негізгісі — POST /api/v1/invoices, kind: "qr":

POST https://api.qut.kz/api/v1/invoices
X-API-Key: qp_live_…
Idempotency-Key: vm-014-1726300000

{
  "amount": 250,
  "kind": "qr",
  "description": "Автомат №14, су 5 л",
  "externalOrderId": "vm-014-88231",
  "metadata": { "machine": "VM-014", "slot": "A2", "address": "Абай 10" }
}

Жауаптан керегі: id, qrImageUrl (экранға шығаратын сурет), qrUrl, expiresAt (таймер үшін).

Қосымша:

Автомат нөмірін metadata-ға жазыңыз

Бұл — бүкіл сценарийдің негізі. metadata ішіне кемінде үшеуін салыңыз: автомат нөмірі, ұяшық немесе тауар коды, мекенжай. Webhook келгенде қай автоматқа команда жіберу керегін сол өрістен бірден білесіз, өз базаңыздан іздемей-ақ.

externalOrderId ретінде автомат нөмірі мен ішкі сатылым нөмірін біріктірген ыңғайлы: vm-014-88231. Кейін есеп бергенде де, дауды шешкенде де осы нөмір бойынша табасыз.

Нүктелер бойынша бөлек есеп керек болса, әр нүктеге бөлек API кілт жасаңыз — счёттарды көзі бойынша сүзу жеңілдейді.

Жабдық жағы

Автоматтың ішінде не керек:

API кілтті контроллерге салмаңыз. Автоматтың ішіндегі құрылғыны ашып алуға болады, ал бір кілт бүкіл желіге жарайды. Контроллер тек өз серверіңізге, өзінің құрылғы токенімен жүгінсін.

QR терезесі — ең маңызды шектеу

Сканерлеу терезесі шамамен үш минут, оны Kaspi белгілейді. Вендингте бұл бірден екі салдар береді.

Экранда тұрақты QR ілініп тұра алмайды. Әр сатылымға жаңа счёт жасалады. Автоматтың экранында алдын ала басып қойылған QR суреті болса, ол бір күннен кейін жұмысын тоқтатады.

Таймер көрсетіңіз. expiresAt өрісін алып, экранда «QR 2:40 ішінде жарамды» деп жазыңыз. Уақыт біткенде «Қайта көрсету» батырмасын беріңіз — контроллер жаңа счёт сұрайды, ескісі expired болып қалады.

Тұрақты QR басып қою керек болса (мысалы, «сұрақ болса осында төлеңіз» деген қосымша жол), ол QR емес, төлем сілтемесі болуы керек: qut.kz/p/<slug>. Оның мерзімі бітпейді, сомасы ашық түрі де бар.

Ерекше ескертулер

Жиі қойылатын сұрақтар

Автоматтың өзінде интернет жоқ, бола ма? Болмайды. Счёт бұлтта жасалады, ал төлем расталғанын автомат білуі керек. Ең арзаны — GSM модемі бар контроллер.

Бір QR-ды бірнеше адам сканерлесе не болады? Бір QR — бір счёт. Сондықтан ол бір ғана сатылымға жарайды, әрі әр сатылымнан кейін экранды бастапқы күйге қайтару керек.

Автоматта экран жоқ, тек түймелер. Қалай? Онда шағын дисплей қосу керек. QR-ды көрсететін жер болмаса, бұл схема жұмыс істемейді.

Сканерлеп қойды да, интернет үзіліп қалды. Ақша қайда? Ақша сіздің Kaspi шотыңызға түседі, ол автоматқа тәуелді емес. Автомат тауарды бере алмаса, refund жасаңыз. Сондықтан контроллердің әр командасын журналға жазып отырыңыз.

Он автоматқа бір кілт бола ма? Болады, бірақ әр нүктеге бөлек кілт берген дұрыс: есеп бөлек шығады, әрі бір кілт шығып кетсе, тек соны жойып, қалғандарын тимей қаласыз.

Байланысты мақалалар

Тұрақ пен шлагбаумғаШығу тұсындағы экранда QR немесе билет нөмірі бойынша счёт, төлем расталғанда webhook IP-реле арқылы шлагбаумды ашады. Динамикалық және басылған QR, көлік нөмірі, кідіріс.Интернет-дүкенге Kaspi төлемін қосуСебеттен «төленді» күйіне дейінгі толық схема: счёт, төлем беті, webhook. Tilda, WooCommerce, OpenCart және өзі жазылған сайт үшін кодсыз жол мен API жолы.Мобильді қосымшаға қосуДұрыс реті: қосымша → өз серверіңіз → Qut Pay → Kaspi. API кілт APK немесе IPA ішінде болмауы керек. payUrl ашылғанда не болады және App Store мен Play Market ережесі.Webhook келмей жатыр — себебін қалай табу керекСчёт төленді, бірақ сіздің серверіңізге хабарлама жетпеді. Диагностиканы қай жерден бастау керек, ең жиі кездесетін себеп қайсы және оны бір сынаумен қалай анықтауға болады.Төлем баяу расталады — неге және не істеу керекКлиент төледі, бірақ счёт бірден paid болмайды. Мұнда тексеру жиілігі жасына қарай қалай өзгеретіні, іс жүзіндегі уақыт және кідіріске сезімтал сценарийде не істеу керегі жазылған.

Сұрағыңыз қалды ма? WhatsApp +77788813333 · kazprose@gmail.com
Кабинеттен де жазуға болады: Қолдау.

Qut Pay — тәуелсіз сервис, «Kaspi Bank» АҚ-мен аффилирленбеген. Kaspi және Kaspi Pay — құқық иесінің тауар белгілері.