How M-Pesa Payments Work on Bettipster
Every Bettipster payment goes through Safaricom's M-Pesa system. We don't handle card payments, bank transfers, or PayPal — M-Pesa only. That's deliberate: it's the fastest, cheapest, and most universal payment method in Kenya, and it works on any phone that can receive an SMS.
This page explains exactly how the payment flow works, what can go wrong, and how we handle every edge case.
The STK Push — the main payment method
When you click "pay" on any Bettipster page, our system requests an M-Pesa STK Push for your number. An STK Push is the on-screen prompt that appears on your phone asking you to enter your M-Pesa PIN. If you've ever paid via M-Pesa for a service online, you've used STK Push.
What happens under the hood:
- You enter your Safaricom number and click pay.
- Our system calls Safaricom's API with your number and the amount (KSh 99).
- Safaricom pushes a prompt to your phone.
- You enter your M-Pesa PIN and confirm.
- Safaricom confirms the payment to our system.
- We send your slip via SMS within 30 seconds of confirmation.
The entire flow — from clicking pay to receiving your slip — usually takes less than a minute.
The Paybill fallback — when STK Push fails
STK Push is reliable but not perfect. Sometimes prompts are delayed, sometimes they never arrive. If that happens, you can always pay manually via Paybill:
- Paybill number: 553491
- Account number: Your M-Pesa phone number (the same one you want the slip sent to)
- Amount: KSh 99
Manual Paybill payments are processed through the same backend as STK Push. Your slip arrives within 5 minutes (slightly slower than STK because it requires a manual verification step).
Why we don't accept cards or other payment methods
We keep it to M-Pesa for three reasons:
- Universal access. Every Kenyan with a phone has M-Pesa. Card penetration is much lower, and PayPal is essentially unusable for local transactions.
- Instant confirmation. M-Pesa payments confirm in seconds. Card payments can take hours to settle and sometimes fail silently.
- No chargebacks. M-Pesa payments are final once confirmed. This protects both sides from the kind of fraud that plagues card-based services.
What "payment failed" actually means
When a payment fails, the reason is usually one of these:
- Insufficient M-Pesa balance. The most common cause. Check your balance and try again.
- Wrong PIN entered 3 times. M-Pesa locks your account after 3 incorrect PINs. You'll need to reset your PIN at an M-Pesa agent before retrying.
- Daily transaction limit. M-Pesa has a daily limit per account. If you've hit it, wait until the next day.
- Network issues. Rare, but Safaricom sometimes has temporary outages. Wait 5 minutes and retry.
- Wrong number entered. If you typed a non-Safaricom number (e.g. Airtel or Telkom), the prompt won't arrive. We can only accept Safaricom numbers.
What happens if you pay but we can't deliver
In the rare case where payment confirms but our system can't deliver the slip — for example, if there's a temporary SMS gateway outage — here's what happens:
- You message us on WhatsApp with your transaction code.
- We verify the payment directly against Safaricom's records.
- If we can deliver the slip, we resend it within 15 minutes.
- If we can't deliver it, we refund the full KSh 99 within 24 hours.
You never lose money to a service failure. That's the guarantee.
Refunds — how they actually work
When we issue a refund, we process an M-Pesa reversal back to the same number that made the payment. The reversal appears on your M-Pesa statement within 1–3 business days.
Refunds are:
- Full amount — KSh 99 back, no deductions.
- Same number — we can only refund to the number that paid.
- Within 24 hours — from when we confirm the issue.
- No forms required — WhatsApp us, we sort it.
See the Terms of Service for the full refund policy in legal language. The plain-English version is on this page.
Security — how we protect your payment
A few things worth knowing:
- We never see your PIN. Your M-Pesa PIN is entered on your phone, not on our site. We only receive confirmation that a payment succeeded.
- We don't store payment data. We keep only the transaction code and phone number for delivery purposes. Full policy in our Privacy Policy.
- We don't share your number. Your number is used only to send the slip. Never sold, never shared with third parties.
Still need help?
If none of the fixes on this page resolved your issue, WhatsApp us directly. Include your transaction code, phone number, and a description of the problem — the more detail you give, the faster we can fix it. We respond within 2 hours during support hours (8 AM – 10 PM EAT, 7 days a week).
WhatsApp +254 718 981 122 — or go back to the contact page for other support options.