STK Push is the M-Pesa payment where the customer never types your number: the cashier enters theirs, a prompt appears on their phone, they enter their PIN, and the sale is paid. It is the fastest way through a queue, and most of the time it feels like one step. It is actually five, and the moments where it stalls are always in the same two places.
The five steps
- The cashier sends the request. The sale is on screen, the total is fixed, the customer's number is typed or picked from their customer record.
- Safaricom checks it — that your business is set up for prompts and the number is valid — and pushes the prompt to the customer's handset.
- The customer enters their PIN. This is the first place things stall: a phone that is off, a locked screen, a mistyped PIN, or a customer who simply did not notice the prompt.
- Safaricom moves the money and sends the confirmation back with the M-Pesa receipt number.
- The till marks the sale paid, records the receipt number on it, and prints. This is the second place things stall: the confirmation is on its way but the shop's connection is not there to receive it.
What the cashier should do when it stalls
- No prompt arrived: resend once. If the phone is off or out of airtime, switch the sale to the manual code — the customer pays your Till or Paybill and reads you the code.
- Customer entered the PIN but the screen is still waiting: ask for the SMS. If M-Pesa confirmed it, enter that code on the sale; the money is already yours. Do not send a second prompt — that is how customers get charged twice.
- Wrong PIN or cancelled: the prompt simply fails; send it again.
The rule that keeps every shop out of trouble: goods leave when the screen says paid, not when the customer says so.
Why the receipt number matters
The M-Pesa receipt number on the sale is what settles any dispute and what makes the evening count a comparison, not a search. A sale without it is a sale you will be reading SMS to find.
Setting it up
STK Push needs your business to be enabled for it by Safaricom; your M-Pesa business account gives you the details, and they are entered once under payment settings. Until then, the manual code works everywhere, including when the internet is down — see the full guide to M-Pesa at the till.
NodePoint Retail POS handles both on the same sale, shows the receipt number on the printed receipt, and lists M-Pesa separately in the cashier's cash-up. The restaurant and hotel apps settle bills and folios the same way.
