The M-Pesa checkout method that actually works well for online stores is STK Push: the customer enters their phone number, receives a payment prompt directly on their phone, and the payment confirms automatically. Manual confirmation methods (pay-then-screenshot) are slower, harder to reconcile, and vulnerable to fraud.
Why M-Pesa is not optional for a Kenyan online store
For most Kenyan shoppers, M-Pesa is the default way to pay online: more familiar and more trusted than entering card details on an unfamiliar website. An online store that makes M-Pesa hard to use, or doesn't offer it at all, is turning away a large share of potential customers at the exact moment they're ready to buy.
The two ways online stores handle M-Pesa
STK Push (the method that works)
The customer enters their phone number at checkout. The store's system sends an STK Push prompt directly to their phone. They enter their M-Pesa PIN, and the payment confirms automatically and links straight back to their order. No copying of numbers, no separate app, no waiting for a human to check anything.
Manual confirmation (the method that causes problems)
The customer pays to a Till or Paybill number manually, then has to tell the merchant they've paid: often by sending an M-Pesa screenshot over WhatsApp. The merchant then has to match that payment to the right order by hand. At any real volume, this becomes slow and error-prone, and screenshots can be faked. See How to Stop Fake M-Pesa Screenshot Fraud at Your Shop for why this manual method is risky.
What good M-Pesa checkout looks like in practice
| Checkout method | Customer experience | Merchant reconciliation |
|---|---|---|
| STK Push at checkout | Fast, one prompt, one PIN entry | Automatic, payment links to the order |
| Pay-then-screenshot | Slow, copy Till/Paybill number, pay separately, message merchant | Manual, merchant matches payment to order by hand |
| No M-Pesa offered | Customer likely abandons checkout | N/A: sale lost |
Platform-specific setup: Shopify and WooCommerce
The exact steps to enable M-Pesa checkout depend on which platform your online store runs on. We've written detailed, platform-specific guides for the two most common setups in Kenya:
- Accepting M-Pesa Payments on Your Shopify Store in Kenya: setup steps and what to expect for Shopify merchants
- Accepting M-Pesa Payments on Your WooCommerce Store in Kenya: the equivalent guide for WooCommerce/WordPress stores
Keeping online M-Pesa payments organised after checkout
Once a payment comes through, you still need to track its status against the order, paid, pending, or failed, without digging through a separate M-Pesa statement. If your store is connected to WebpinnPOS, orders synced in from Shopify or WooCommerce show their payment status right on the Online Orders page alongside the order details and fulfilment status, giving you one place to see what's been paid and what still needs following up.
Should you offer card payments as well?
M-Pesa should be the default, most prominent payment option for a Kenyan online store, but offering card payments alongside it can capture customers without an active M-Pesa balance, or those paying from outside Kenya. Treat card as a complement to M-Pesa, not a replacement for it.
Frequently asked questions
M-Pesa checkout that actually reconciles itself
Connect Shopify or WooCommerce and see order payment status in one dashboard: try WebpinnPOS free.
Start Free Trial