← qut.kz

Kaspi payments for self-service machines

Any unstaffed point of sale in Kazakhstan can accept payment through Kaspi and start by itself the moment the money arrives. Examples: a self-service car wash bay, a water vending machine, a flower vending machine whose door opens, an unstaffed book shelf. Nobody has to look at a phone and check whether the money came in.

Qut Pay creates the invoice, watches the payment and tells your system "paid". The money goes straight to your Kaspi Pay account. Qut Pay never holds it.

Qut Pay is a software service. We do not sell or install machines, controllers or MDB modules. You or your integrator build the hardware side that drives the machine. This page is the guide for that work.

In short: which machine, which method

How the machine is drivenExamplesMethod with Qut Pay
Has a screen, you control the softwarekiosk, touch terminal, photo booth, charging stationA. API and a QR on the screen
Coin or bill acceptor pulsesself-service car wash, vacuum, water vending, massage chair, arcade machineB. Permanent QR sticker and a pulse module
Electric lock or relayflower vending, smart fridge, storage locker, turnstile, barrierC. A QR per door and a relay
MDB bus (the vending standard)snack, drink and coffee machinesD. MDB cashless module and the API
No hardware, honesty-basedunstaffed book shelf, roadside stall, take-and-payE. Just a QR sticker

Self-service machines on the market

The list covers types common in Kazakhstan. Within one type the control method depends on the manufacturer, so check the board or the documentation of your machine.

AreaMachineUsually driven byMethod
CarSelf-service car wash baycoin or bill acceptor pulse, sometimes a card terminalB
CarVacuum, tyre shine, tyre inflationpulse or timerB
CarAutomatic (gantry) car washcontroller, sometimes a screenA or B
CarPaid parking with a barrierrelayC
CarEV charging stationscreen or management serverA
Water and drinksWater vending machinepulseB
Water and drinksMilk, drink or kvass dispenserpulse or MDBB or D
Water and drinksCoffee machineMDB, newer ones a screenD or A
Water and drinksFresh juice machineMDB or screenD or A
Food and goodsSnack and drink machineMDBD
Food and goodsSmart fridge, micro marketelectric lockC
Food and goodsFlower vending machinea lock per cellC
Food and goodsHot food or pizza machinescreenA
Food and goodsUnstaffed shop, book shelfnoneE
ServicesLaundromat (washers, dryers)pulse or controllerB
ServicesMassage chairpulseB
ServicesPhoto booth, photo printing, copierscreenA
ServicesPhone charging, power bank rentalscreenA
ServicesLuggage wrappingpulse or relayB or C
EntertainmentArcade machine, claw machinepulseB
EntertainmentKiddie ridepulseB
EntertainmentTrampoline, VR roomtimer or relayB or C
Access and storageStorage lockerslockC
Access and storagePaid toilet, showerturnstile or relayC
Access and storageGym or coworking doorrelayC

A. A machine with a screen: API and a QR on the screen

The machine or its server creates an invoice with POST /api/v1/invoices and shows the qrImageUrl image on screen. The customer scans it in Kaspi.kz and pays. The machine learns about the payment by webhook, or by polling GET /api/v1/invoices/{id} every 2–3 seconds. Every invoice is new, and the QR is valid for about 3 minutes.

Full guide with request examples and key-handling rules: Add Kaspi payments to your own device via API.

B. A pulse-driven machine: a permanent QR and a pulse module

A car wash, water vending machine, massage chair and similar machines usually start on a "coin accepted" pulse. No screen is needed, a sticker takes its place.

  1. In the cabinet, under Links, create a separate permanent payment link for each bay or machine, for example qut.kz/p/wash-bay-3. Either fix the amount (500 ₸) or leave it to the customer. In the second case you can set a minimum and a maximum, for example 200 to 5,000 ₸.
  2. Print the link's QR and stick it on the bay.
  3. The customer scans the QR with the phone camera, picks the amount and confirms in Kaspi.
  4. Qut Pay sends the invoice.paid event to your server. It carries metadata.slug, which tells you which bay it is.
  5. Your server tells that bay's module to fire. The module sends pulses for the amount: if 1 pulse is 10 ₸, then 500 ₸ is 50 pulses.

The webhook body, shortened:

{
  "event": "invoice.paid",
  "invoice": {
    "id": "inv_…",
    "status": "paid",
    "amount": 500,
    "metadata": { "paymentLinkId": "pl_…", "slug": "wash-bay-3" }
  }
}

The module. Usually an ESP32 or a Raspberry Pi with an optocoupler or a relay. It is wired in parallel to the coin acceptor's signal line, and the machine takes its pulses as inserted coins. The module connects out to your server (MQTT or HTTP polling), so a GSM modem at the bay is enough. The wiring is best done by someone who knows the machine's circuit.

C. A machine with a door that opens: a QR per door and a relay

Flower vending machines, smart fridges, storage lockers and paid toilets open with an electric lock.

When a cell is empty, pause its link in the cabinet. A customer who opens it sees that the link is temporarily paused.

D. An MDB vending machine

Snack, drink and coffee machines mostly take cards and QR through a cashless device on the MDB bus. You need a module acting as the MDB cashless device, and ready MDB boards exist on the market. When the customer picks an item, the module's software creates the invoice through the Qut Pay API and shows the QR on a small screen. Once the payment is confirmed, it approves the vend.

This is integrator work, and Qut Pay only creates and confirms the payment here. If your machine's supplier has its own QR module, compare price and terms.

E. An unstaffed shop or book shelf

The simplest case, no hardware at all.

If you have a few item types with fixed prices, make a separate link for each. Then the customer cannot get the amount wrong.

Know this up front

Pricing

7 days free, counted from the first live invoice. After that, the tariff is chosen by the number of invoices per month:

TariffPriceInvoices per month
Start4,990 ₸800
Business14,900 ₸4,000
Pro39,900 ₸15,000

For example, a car wash with 6 bays and about 40 payments per bay per day makes about 7,000 invoices a month, which is the Pro tariff. The platform takes no percentage of payments. Kaspi keeps its own fee separately (0.95 % for QR), the same as without us. Details: tariffs.

How to start

  1. Sign up at qut.kz and connect a Kaspi cashier: getting started.
  2. In the cabinet, under Integrations, add the webhook URL and store the secret on your server.
  3. If you use the API, test everything in sandbox first with a qp_test_… key: POST /invoices/{id}/simulate fakes the payment and the webhook arrives for real.
  4. Start with one bay or one cell: make a real 100 ₸ payment and check that the pulse or the door works.
  5. Then roll out to the rest of the machines.

You can hand the module and server code to an AI agent. Give Claude, Cursor or ChatGPT the link api.qut.kz/for-ai, and it will read the Qut Pay API from there.

Frequently asked questions

Does Qut Pay install the machine or the module?

No. Qut Pay is a software service only: it creates the invoice, watches the payment and sends the webhook. You or your integrator build the module, the wiring and the machine's software.

How is the QR shown on a machine without a screen?

With a permanent QR sticker. In the cabinet's Links section, create a separate link per machine, print its QR and stick it on. When the customer scans it, the payment page opens on their phone.

How fast does the machine start after payment?

The webhook usually arrives within 5 seconds of the payment. Add the response time of your server and the module.

Can a car wash customer choose the amount?

Yes. If the link has no fixed amount, the customer enters it. You can set a minimum and a maximum. Your server counts the pulses from the amount received.

What happens if the Kaspi connection drops?

New Kaspi payments do not go through until the cashier is reconnected. A Telegram alert is sent, and reconnecting in the cabinet takes a few minutes. That is why it is better to keep a backup payment method on the machine (coins, notes, card).

Updated: 2026-11-11