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

Жеткізу қызметіне

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

Қысқаша

Курьер есік алдында тұрғанда счётты сол жерде шығарады: Telegram бот арқылы немесе өзіңіздің курьер қосымшаңыздан. Клиент телефонын алып QR сканерлейді немесе Kaspi қосымшасына келген счётты растайды. Ақша тіке компанияның Kaspi шотына түседі, курьер қолма-қол ақша тасымайды. Тапсырыс нөмірін externalOrderId өрісіне, курьер мен маршрутты metadata ішіне жазасыз — сонда есеп өздігінен жиналады.

Сценарий

Тапсырыс сайтта немесе қоңырау арқылы қабылданды, төлемі — жеткізу кезінде. Бұрын бұл қалай жүретін: курьер қолма-қол ақша алады, майдасы жетпейді, күн соңында кассаға тапсырады, біреуі жоғалады, есеп ай соңында ғана шығады.

Керегі: курьер есік алдында бір батырма бассын, клиент телефонынан төлесін, ақша бірден компанияның шотына түссін, диспетчер тапсырыстың төленгенін нақты уақытта көрсін.

Жұмыс схемасы қадамдап

  1. Курьер келді. Тапсырысты тапсырады, сомасын растайды (тауар алмастырылса сома өзгеруі мүмкін).
  2. Счёт шығарылады. Курьер Telegram ботта /invoice командасын береді немесе өз қосымшасындағы «Төлем» батырмасын басады. Артында POST /api/v1/invoices шақырылады.
  3. Клиент төлейді. Екі нұсқа: курьер экраннан QR көрсетеді, немесе kind: "phone" арқылы счёт клиенттің Kaspi қосымшасына push болып барады.
  4. Растау келеді. Webhook invoice.paid жіберіледі, курьер қосымшасында тапсырыс «төленді» болады. Іс жүзінде бұл бірнеше секунд алады.
  5. Курьер тауарды береді де, келесі мекенжайға кетеді.
  6. Диспетчер көреді. Кабинетте немесе өз жүйеңізде маршрут бойынша қай тапсырыс төленгені көрінеді.

Қандай API әдісі керек

Не істейдіӘдіс
Жеткізу сәтінде счётPOST /api/v1/invoices
Маршрутқа алдын ала счёттарPOST /api/v1/invoices/bulk, 1-100
Күйін тексеруGET /api/v1/invoices/{id}
Клиент қабылдамасаPOST /api/v1/invoices/{id}/cancel
Тауарды қайтарсаPOST /api/v1/invoices/{id}/refund
Төлем туралы хабарWebhook invoice.paid

QR ма, телефонға счёт па

ЖағдайНе таңдау керек
Клиент есік алдында тұр, курьердің экраны барQR
Тапсырысты басқа адам қабылдайды, төлейтіні — тапсырыс бергенТелефонға счёт
Есік алдында ыңғайсыз, ауа райы қолайсызТелефонға счёт
Клиентте Kaspi қосымшасы жоқQR немесе payUrl сілтемесі
Сомада тиын барQR (телефонға счётта бүтін теңге)

Телефонға счёт жібергенде нөмір 7XXXXXXXXXX пішімінде болуы керек. Айырмашылығы толық: QR счёт пен телефонға счёт.

QR-дың сканерлеу терезесі шектеулі. Клиент бірден сканерлемесе, терезе бітуі мүмкін — ондайда ескі счётты cancel арқылы жауып, жаңасын жасайсыз. Терезенің нақты уақытын expiresAt өрісінен алыңыз, кодқа тұрақты сан жазып қоймаңыз.

Тапсырыс нөмірі мен метадеректер

Счёт жасаған сәтте белгілерді дұрыс қойсаңыз, есеп кейін өздігінен жиналады:

Курьер бойынша есеп жинағыңыз келсе, metadata ішіндегі курьер идентификаторы жеткілікті — CSV экспорттағанда сол өріс бойынша топтайсыз. Толығы: Metadata және тапсырыс нөмірі.

Кодсыз нұсқасы: Telegram бот

Курьерге бөлек қосымша жазудың қажеті жоқ — Telegram бот жеткілікті. Командалары:

КомандаНе істейді
/invoiceСчёт жасайды
/lastСоңғы счёттарды көрсетеді
/todayБүгінгі қорытынды
/statusБір счёттың күйі
/cancelСчётты болдырмайды
/supportҚолдауға жазу

Курьер телефонында Telegram болса жеткілікті. Ботты кабинеттен байланыстырасыз. Толығы: Telegram бот командалары.

Аз көлемді жеткізуде диспетчердің кабинеттен қолмен счёт жасап, сілтемені курьерге жіберуі де жарайды.

Қайтару

Клиент тауарды ашып көріп, қайтарып берсе, ақшаны POST /invoices/{id}/refund арқылы қайтарасыз: { amount?, reason? }. amount бермесеңіз толық, берсеңіз ішінара қайтарылады (мысалы бір позицияны ғана).

Екі рет қайтарып жібермеу үшін: сұраудың жауабы белгісіз болса (желі үзілді, таймаут), бірден қайталамаңыз. Алдымен GET /invoices/{id} арқылы қайтарулар тізімін оқыңыз. Толығы: Қайтару API.

Курьерге қайтару құқығын бермей, диспетчерге қалдырған дұрыс: refunds:write scope-ын курьер қолданатын кілттен алып тастаңыз.

Жеткізілмеген тапсырыс

Клиент үйде жоқ, телефон алмайды немесе қабылдаудан бас тартты. Реті:

  1. Счёт жасалмаған болса — ештеңе істеудің қажеті жоқ, тапсырысты өз жүйеңізде «жеткізілмеді» деп белгілейсіз.
  2. Счёт жасалып қойса, төленбесеPOST /invoices/{id}/cancel арқылы жабасыз. Ашық счёттар жиналып қалмағаны дұрыс.
  3. Клиент төлеп қойып, содан кейін бас тартса — қайтару жасайсыз.
  4. Кеш төлем келсе — бұл болатын жағдай. cancelled немесе expired счётқа ақша кейін келсе, invoice.paid оқиғасы late: true белгісімен келеді. Ондайда не тауарды қайта жеткізесіз, не ақшаны қайтарасыз. Жүйеңізде осы тармақ болсын: Кеш келген төлем.

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

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

Курьерге бөлек құрылғы керек пе? Жоқ. Telegram бот кез келген телефонда жұмыс істейді. Өз қосымшаңыз болса, оған «Төлем» батырмасын қосасыз.

Курьер бөтен счётты көре ала ма? API кілтті нақты кассирге байласаңыз, ол тек сол кассир арқылы жүрген счёттарды көреді, басқаларына 404 қайтады.

Ақша курьердің шотына түсе ме? Жоқ. Ақша компанияның Kaspi шотына тікелей түседі.

Клиент есік алдында ойын өзгертсе не істеу керек? Счёт төленбеген болса cancel арқылы жабасыз. Төленіп қойса, қайтару жасайсыз.

Бір маршрутқа счёттарды алдын ала жасап қоюға бола ма? Болады, bulk арқылы. Бірақ QR-дың сканерлеу терезесі шектеулі, сондықтан счётты жеткізу сәтінде жасаған дұрыс.

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

Интернет-дүкенге Kaspi төлемін қосуСебеттен «төленді» күйіне дейінгі толық схема: счёт, төлем беті, webhook. Tilda, WooCommerce, OpenCart және өзі жазылған сайт үшін кодсыз жол мен API жолы.Telegram бот командалары: толық тізім@QutPayBot-тың барлық командасы — счёт жасау, бүгінгі түсім, соңғы счёттар, күйі, болдырмау, қолдау. Қазақша-орысша баламалары, топта жұмыс істеуі және қандай хабарламалар келеді.Metadata және тапсырыс нөміріexternalOrderId мен metadata өрістерінің айырмашылығы, олардың webhook-та қалай қайта келетіні, metadata ішіне нені жазуға болады және нені ешқашан жазбау керек — нақты мысалдармен.Қайтару API — толық және ішінара қайтаруPOST /invoices/{id}/refund әдісінің толық анықтамасы: сұрау өрістері, толық және ішінара қайтару, сома шектеуі, барлық қате коды, refund_unknown келгенде не істеу керек және қандай оқиғалар жіберіледі.QR счёт пен телефонға счёт — қайсысын таңдау керекЕкі счёт түрінің толық салыстыруы: kind мәні, клиент не істейді, нөмір керек пе, сипаттама мен сома шектеулері, мерзімі және қай сценарийге қайсысы келеді.

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

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