Till vs Paybill vs cards in 60 seconds
| Option | Best for | What the buyer sees |
|---|---|---|
| Till (Buy Goods) | Shops, food, fast checkout | STK prompt, enter PIN, done |
| Paybill | Invoices, fees, per-order refs | Business no. + account no. |
| Cards (Visa/Mastercard) | Diaspora, corporates | Card form at checkout |
Rule: launch Till first if you sell to walk-in-style Kenyan buyers. Add Paybill when you need references. Add cards when diaspora or company cards pay you. Full breakdown on our M-Pesa e-commerce page →
How STK Push actually works (Daraja flow)
- → Buyer hits Pay — your site sends amount + phone + Till/Paybill shortcode to Daraja.
- → Phone buzzes — Safaricom pushes the STK prompt; buyer enters M-Pesa PIN.
- → Callback confirms — Daraja calls your HTTPS callback; your site marks the order paid and sends the receipt.
- → Reconcile — query stuck orders by receipt ID so nobody pays twice or gets marked unpaid.
Quotable fee and limit facts
- → M-Pesa ceiling: KES 250,000 per transaction, KES 500,000 per day, KES 500,000 max balance.
- → Daraja API access and sandbox are free; you pay Safaricom's per-transaction tariffs, not an API licence.
- → Confirm exact fees on the payment screen — Safaricom updates bands often.
- → Price your margins first: M-Pesa fee calculator →
Setup steps and timeline
Days 1–2 — Shortcode + Daraja app
Confirm Till or Paybill ownership, register on the Daraja portal, create sandbox app, store consumer key/secret safely.
Days 3–7 — Build + sandbox test
Wire STK Push, HTTPS callbacks, receipts, failed-payment retry and admin order view. Test success, cancel, timeout and wrong-PIN paths.
Days 8–14 — Go Live + launch
Submit Go Live (approval typically 2–7 business days), swap to production keys, run a real KES 10 payment, then open checkout.
Never launch on sandbox keys, never expose consumer secrets in frontend code, and always keep callbacks on HTTPS that return 200 fast. Details that matter are in our Master 49,999 build →
Mistakes that kill checkout
- 1. One shortcode per brand at launch — Till and Paybill both live confuses buyers and splits your float.
- 2. Show the exact STK phone-number format (254...) before Pay — wrong prefixes are the top failed-payment cause.
- 3. Add a Paybill fallback for carts above STK limits instead of losing the sale.
- 4. Send receipt + WhatsApp confirmation instantly — silent success pages create double payments.
Want M-Pesa checkout that just works?
Master (49,999) ships Till + Paybill + cards wired, tested and reconciled — or WhatsApp +254 741 992 308 for a fit check.
Get M-Pesa checkout on WhatsAppQuick answers
How do I accept M-Pesa payments on my website with Daraja in Kenya?
Register on the Safaricom Daraja portal, create an app in sandbox, test STK Push with your Till or Paybill shortcode, then apply for Go Live (typically 2-7 business days). On Go Live you swap sandbox keys for production keys and point callbacks to your live HTTPS site. Our Master build (49,999) ships this wired and tested.
Should my website use Till, Paybill, or cards?
Use Till (Buy Goods) for instant retail checkout, Paybill when you need an account/reference number per order or invoice, and add cards for diaspora and corporate buyers. Most Kenyan stores run Till first, Paybill second, cards third. See the live math on our M-Pesa fee calculator before you pick.
What are the M-Pesa limits and fees I should quote customers?
M-Pesa caps are KES 250,000 per transaction, KES 500,000 per day, and KES 500,000 max balance. Confirm current tariffs on the payment screen and with our fee calculator — Safaricom updates bands often.
How much does it cost to add M-Pesa Daraja to a website?
Daraja API access itself is free — Safaricom earns on per-transaction tariffs, not the API. Build cost is the work: shortcode setup, STK wiring, callbacks, receipts and reconciliation. At Orbit, Till plus Paybill plus cards checkout ships inside Master at 49,999, live in about 2 weeks.