Everything you need to accept M-Pesa
SunPay handles the Safaricom plumbing so you can ship payment features without the Daraja paperwork.
STK Push
Trigger M-Pesa payment prompts directly to your customer's phone. No USSD, no manual PayBill entry — they just type their PIN and the money is in your wallet.
Simple API
One API key, one endpoint, one JSON body. Skip the OAuth dance, the Daraja sandbox quirks, and the certificate uploads. Integrate in minutes, not weeks.
Signed Webhooks
Real-time payment notifications signed with HMAC-SHA256. Subscribe to payment.completed, payment.failed, withdrawal events, and more — with full delivery logs.
Merchant Dashboard
Track every transaction in real time. View your balance, request withdrawals, manage API keys, and inspect webhook delivery logs all in one place.
Bank-Grade Security
API keys are hashed at rest, webhooks are HMAC-signed, and all traffic is TLS. Your Safaricom credentials never touch your servers.
Paybill + STK + B2C
Accept Paybill payments, push STK prompts, and send money out via B2C — all from the same account. Route net amounts straight to a destination till.
Inline Settlement
Override the destination on a per-transaction basis. Perfect for marketplaces and multi-shop operators who need to split funds at the moment of payment.
POS Integration
Drop-in modules for Node.js, Python and PHP cover STK push, Paybill, polling, and signed webhook receivers — copy, paste, done.