M-Pesa on any website, straight to your own Till
KenZobe Checkout sends the STK prompt and confirms each payment with Safaricom, using your own Daraja keys, so every shilling lands in your Paybill or Till.
Free to sign up. The demo sends no real prompt and stores nothing.
Duka la Amina
Maths revision guide
KSh 1,500
Your M-Pesa phone number
Powered by KenZobe Checkout
Pay KSh 1,500 to Duka la Amina?
Enter M-PESA PIN
KSh 1,500 · 0712 ••• 678
Receipt TJ41XK2P9Q
Nobody stands between your customer and your Till
The payment gateways we compared collect your money into their own account and pay you out later. KenZobe Checkout is software that runs your checkout, not a middleman.
A typical gateway
KenZobe Checkout
KenZobe sends the prompt and checks the result with Safaricom. It never receives, holds or settles your customers' money, so there is nothing to wait for.
Settlement times as published by Flutterwave (next day) and PesaPal (up to 3 working days), October 2026.
Three ways to get paid, one checkout behind them
A pay button for your website
Paste two snippets into any page: plain HTML, WordPress, or an AI-built site. The button sends a price id, never an amount, so a visitor cannot change what they pay. Change a price later in your dashboard and the button keeps working.
How to add the pay button<script src="https://pay.kenzobe.com/widget.js"
data-key="kz_pk_live_…" defer></script>
<button data-kenzobe-price="price_…"
data-kenzobe-success-url="https://shop.co.ke/thanks">
Pay with M-Pesa
</button>Payment links, no website needed
Make a link for a fixed amount and share it on WhatsApp, Instagram, SMS or an invoice. Your customer taps it, types their number and enters their PIN. No typing your Till number, no wrong amounts.
How payment links workExample conversation.
An API and webhooks for developers
Start an STK push from your server, look a payment up, and receive signed payment.paid events. Repeating a request with the same idempotency key never makes a second payment.
curl https://api.kenzobe.com/v1/payments \
-H "Authorization: Bearer kz_sk_live_…" \
-H "Idempotency-Key: order-1042" \
-d amount=1500 -d phone=0712345678
{ "success": true,
"data": { "id": "pay_…", "status": "pending",
"amount": 1500, "currency": "KES" } }From sign-up to your first live payment
- 1
Sign up free
Your account starts in sandbox. Make a test payment straight away, before you have any Daraja keys.
- 2
Set up your checkout
Add a product and its price for the pay button, or make a payment link. Create a website key for your domain.
- 3
Add your live Daraja keys
Turn on two-step sign-in, then add your consumer key, secret and passkey with your Paybill, or your store and till numbers. They are encrypted and never shown again.
- 4
Choose a plan and go live
Pay a monthly plan by M-Pesa. Add live prices and a live website key, and payments land in your own Paybill or Till.
Getting live Daraja keys takes a step at Safaricom first. Our Daraja keys guide walks you through it.
What KenZobe Checkout promises
- Paid means Safaricom confirmed it
- A payment is marked paid only after a status query to Safaricom, never on a callback alone or on what a browser says.
- The server decides the amount
- The pay button and links name a price, never an amount, so nobody can edit the page to pay less.
- Your keys stay secret
- Daraja keys are encrypted, never shown again after saving, and changing live keys asks for your password.
- Your customers are never turned away
- Going over your plan’s payments never blocks a customer’s payment.
- Test and live never mix
- Every key, price, link and payment is either test or live, and sandbox payments move no money.
- A double tap is still one payment
- Pressing Pay twice, a retried request or a repeated callback still makes one payment and one receipt.
Flat monthly plans, no percentage
Paid monthly by M-Pesa. No VAT is added. Safaricom's normal M-Pesa charges on your Till or Paybill still apply.
Sandbox
Unlimited test payments
Safaricom’s test system, no real money moves
Free
Basic
Up to 300 live payments a month
KES 2,400/ month
Growth
Up to 1,500 live payments a month
KES 6,000/ month
Business
Up to 6,000 live payments a month
KES 14,000/ month
Custom
More than 6,000 live payments a month
Quoted
- Reminders 7, 3 and 1 days before your plan ends, then 5 days' grace.
- If a plan lapses your account goes back to sandbox. Nothing is deleted, and paying again reopens live payments.
Questions
Guides
- Add an M-Pesa pay button to any websiteThe two snippets, step by step, and the server check to make before you deliver.
- M-Pesa payment linksGet paid on WhatsApp and Instagram without a website.
- How to get Daraja API keysConsumer key, secret and passkey, from sandbox to going live.
- M-Pesa on AI-built websitesBase44, Lovable, Bolt: a prompt to paste and the check your thank-you page needs.
- Is the M-Pesa API free?Till charges, gateway rates and a flat plan, worked out for a real shop.
Comparing every option? How to accept M-Pesa payments on your website.
Try it on your own phone today
Sign up free and make a sandbox payment straight away. Add your Daraja keys when you are ready to go live.
Rather have us set it up? Contact KenZobe.