Shops.
All posts

How to accept M-PESA payments on your online shop in Kenya

2 November 2026 · 6 min read

M-PESA is how Kenya pays — but 'accepting M-PESA online' can mean three very different things, and the difference decides your workload, your fees and how much customers trust your checkout. Here's how each option works and how to pick the right one for your shop.

The three ways to take M-PESA

MethodHow it worksVerificationEffort
Manual Till/PayBill instructionsYour checkout shows customers your Till or PayBill number; they pay in their M-PESA app and forward the confirmationYou check the SMS/message yourselfFree — but manual per order
Automated STK pushCustomer enters their phone number; a payment prompt pops up on their phone; they approve with their PINThe platform confirms the payment automatically and marks the order paidBuilt into your shop platform
Custom Daraja integrationYou (or a developer) register a Safaricom Daraja app and wire STK push + callbacks into your own codebaseYou build and maintain itHighest control, highest cost

For most small businesses the progression is natural: start with manual instructions (costs nothing, works today), upgrade to automated STK push once order volume makes manual verification a chore. Custom Daraja only makes sense if you're building your own platform.

Manual payments — the free starting point

On Shops.co.ke the Free plan (KSh 0, up to 30 products) already gives customers a working checkout: they pick items, see your M-PESA Till/PayBill/Pochi instructions, pay in their M-PESA app, and the order lands in your dashboard. You confirm payment from the M-PESA message and mark it paid. It's not automated — but it's a real shop, live in an afternoon, costing nothing.

  • Works with any Safaricom business line — Till, PayBill or Pochi la Biashara.
  • No gateway fees — just the standard Safaricom transaction charges.
  • The trade-off: you verify each payment by hand, and a customer's screenshot isn't proof — check the actual M-PESA message.

Automated STK push — where paid plans earn their keep

From the Starter plan (KSh 299/month) Shops.co.ke connects to M-PESA directly: the customer enters their phone number at checkout, gets an STK prompt, approves with their PIN, and the order marks itself paid — with the confirmation coming from Safaricom, not the customer's browser. No screenshots, no midnight message-checking, and no fake 'payment sent' claims.

  • Money settles to your own M-PESA — the platform never holds your funds.
  • Card payments (Visa/Mastercard via Paystack) come with the same plan.
  • Failed or cancelled payments never create false paid orders — the system only marks paid on a confirmed callback.

Before you pick a platform, test this checklist

  • Does 'M-PESA support' mean STK push, or just a Till number displayed? Ask precisely.
  • Where does money settle — your own Till/PayBill, or a platform wallet you withdraw from? Direct settlement is safer.
  • What happens on failed, cancelled or duplicate payments? A good system handles all three automatically.
  • Who pays the gateway fee — and what's the rate? Safaricom charges on every transaction.
  • Can you do a real KSh 1 test transaction before going live? Always should.

What you need on the Safaricom side

  • A Safaricom line receiving your business payments — Till or PayBill is ideal, though Pochi la Biashara works for smaller operations.
  • For automated checkout on Shops.co.ke: nothing extra — the platform's Paystack-powered M-PESA rails handle the STK push to your configured number.
  • For a custom Daraja build: a registered PayBill/Till, a Daraja app (consumer key + secret), a passkey for Lipa Na M-PESA Online, and a server that receives callbacks.

Common mistakes

  • Marking orders paid from customer screenshots — wait for the M-PESA message or the platform callback.
  • Quoting a personal number for business payments — get a Till/PayBill; it's free to apply and looks professional.
  • Assuming 'supports M-PESA' means automatic — many international platforms only offer it via paid third-party apps.

The short version: start free with manual instructions, move to automated STK push when you're doing more than a handful of orders a day — at KSh 299/month the hours saved on verification pay for the plan in the first week.

Ready to start selling?

Create your shop free — M-PESA, WhatsApp ordering and delivery zones included.

Create your shop