The EliteTeQ Ledger · · 10 min read

M-Pesa POS Integration for Kenyan Retailers: STK Push, Till Number, and Paybill Setup

E
EliteTeQ Team
• 10 min read

Quick Summary

In Kenya, you have three ways to take M-Pesa at the counter: STK Push, a Till Number (Buy Goods), and a Paybill. STK Push is the fastest because the request lands on the customer's phone and they just enter their PIN. For most shops and restaurants, the right setup is STK Push as your main method, with a Till Number as the offline backup. EliteTeQ POS connects all three and matches every payment to the sale automatically.

Why M-Pesa Has to Be at Your Counter

If you run a shop in Nairobi, Mombasa, Nakuru, or anywhere in Kenya, customers already expect to pay by M-Pesa. It's not a nice-to-have. Tell someone you only take cash and you'll watch them put the items back.

M-Pesa is the dominant way money moves in this country, and the vast majority of mobile-money payments run through it. The real question is how you accept it without creating a reconciliation headache every night.

That's the cost most owners miss. When M-Pesa lives on a separate phone and sales live in the POS, someone matches them by hand after close. Numbers get typed wrong, payments get missed, and "the till is short again" turns into a weekly argument. Integrating M-Pesa with your POS removes that whole step.

The Three M-Pesa Methods, Plainly

STK Push (Lipa Na M-Pesa Online)

Your POS sends the payment request straight to the customer's phone. A prompt pops up with your shop name and the exact amount. They enter their PIN, and you get confirmation back in seconds.

No one types a Till number or keys in the amount. That's why it's the fastest, least error-prone option, and why it suits supermarkets, busy shops, and restaurants.

  • Quickest checkout: the customer only confirms
  • The amount is fixed by the POS, so no wrong-amount payments
  • Payment is matched to the sale automatically
  • You get a real-time pass or fail at the till

Till Number (Buy Goods)

The customer opens M-Pesa, picks Lipa Na M-Pesa, enters your Till Number and the amount, then confirms. It's the classic "what's your till" flow everyone in Kenya knows.

It's simple to start and it works even when your internet is down, since the customer's phone does the work. The trade-off is that without integration you're back to manual matching, and customers sometimes key the wrong amount.

This is a solid backup method, and fine on its own for a small kiosk or market stall that isn't ready for API setup yet.

Paybill

The customer chooses Pay Bill, enters your Paybill Number, an account reference (usually an invoice or receipt number), then the amount. The account field is the point here. It tags each payment so you know exactly which invoice it settles.

That makes Paybill the right fit for wholesalers, service businesses, and B2B work where references matter more than counter speed. It's the most steps for the customer, so it's not ideal for a fast retail queue.

Which One Should You Use?

FeatureSTK PushTill NumberPaybill
Checkout speedFastestMediumSlowest
Customer effortConfirm onlyTill plus amountPaybill plus account plus amount
Auto-reconciliationYesWith APIWith API
Works offlineNo (needs internet on POS)YesNo
Best forRetail, restaurantsKiosks, small shopsWholesalers, services

The setup that works for most retailers: run STK Push as your default, and keep a Till Number ready for the moments your connection drops. You stay fast on a normal day and you never turn a customer away when the line goes down.

A note on cost so there are no surprises: Buy Goods payments are free for your customer, and as the merchant you pay Safaricom a small commission per transaction. Build that into your margins the same way you would card fees, and you're fine.

Setting It Up With EliteTeQ POS

For STK Push you need credentials from Safaricom's Daraja developer portal, plus a Lipa Na M-Pesa shortcode. Once you have them, the POS side is short:

1. Register on the Safaricom Daraja portal and apply for your Lipa Na M-Pesa shortcode 2. In EliteTeQ POS, open Settings, then Payment Methods, then M-Pesa 3. Enter your Consumer Key, Consumer Secret, Shortcode, and Passkey 4. Turn on STK Push as the default M-Pesa method 5. Run one test sale of 1 shilling to confirm the prompt and the confirmation both land

For a Till Number, take your business registration documents to a Safaricom shop and apply. Add the number under the same Payment Methods screen. To get automatic matching instead of manual reconciliation, connect the Daraja confirmation callbacks so each payment reports back to the POS.

For Paybill, apply through Safaricom, set your validation and confirmation URLs, then map the account-reference field to your POS invoice or receipt numbers so payments tag themselves.

Reconciliation and the Day-to-Day

Once M-Pesa runs through the POS, the end-of-day routine changes completely:

  • Every M-Pesa payment is linked to its sale, so there's nothing to match by hand
  • Daily reports show M-Pesa, cash, and card totals side by side
  • Failed or timed-out payments flag at the till the moment they happen
  • Each branch reconciles on its own, so Nairobi and Mombasa never get mixed up

A few questions come up constantly:

  • Split payments? Yes. A customer can pay part by M-Pesa and the rest in cash on the same sale.
  • STK Push times out? The customer has about a minute to enter their PIN. If it lapses, nothing is deducted, the sale stays open, and you can resend or fall back to the Till Number.
  • Settlement speed? Buy Goods funds typically reach your settlement account within a business day.
  • One Till per branch? Yes, give each location its own Till Number for clean reconciliation. EliteTeQ POS handles multiple Till Numbers under one account.

EliteTeQ runs in the cloud, works offline when your connection drops, and doesn't lock you into specific hardware. Pricing starts from $499/year, and it fits shops, supermarkets, restaurants, pharmacies, and service businesses.

Bottom Line

Take M-Pesa the way your customers already pay, and stop reconciling by hand. For most Kenyan retailers that means STK Push for speed, a Till Number for offline days, and automatic matching so the till always balances.

Want to see it on your own products and prices first? Book a free demo and we'll walk through your exact setup.

Let's discuss how EliteTeQ POS can help you achieve the results you just read about.

All articles · About · FAQ · Contact

Global Support & Remote Onboarding

We support businesses across the world with fully remote onboarding, real-time assistance, and dedicated technical support — no matter your location.

Remote support worldwide
WhatsApp-first global communication
⏱
Fast response times across time zones
Dedicated POS
WhatsApp — replies in under 10 minutes
+1 214 423 5355
No international calling required
Response time: under 10 Minutes
WhatsAppIndustries