Accept M-Pesa payments in your app.
One API key. One endpoint. SunPay sits between your app and Safaricom — handling auth, STK push, and webhooks so you don't have to.
// Request
{
"phoneNumber": "254712345678",
"amount": 1500,
"callbackUrl": "https://your-app.com/hook"
}
// Response
{
"status": "success",
"mpesaRef": "QKJ8HZLM2D",
"amount": 1500
}
Everything you need to accept payments
Focus on your business while we handle the payment infrastructure
STK Push
Trigger payment prompts directly to your customers' phones. No USSD codes, no manual entry.
Simple API
One API key, one endpoint. Integrate payments into your app in minutes, not weeks.
Webhooks
Get real-time, signed notifications when payments complete. Your callback URL, your business logic.
Dashboard
Track every transaction in real time. Export reports, analyze trends, grow your business.
Secure
Bank-grade encryption. API keys are hashed, webhooks signed, traffic TLS-encrypted.
Paybill + STK + B2C
Accept Paybill, push STK, and pay out via B2C — all from one account, one API key.
Up and running in minutes
No Safaricom developer account needed on your end.
Create an account
Sign up with your business email. No paperwork, your dashboard is ready immediately.
Generate an API key
From the dashboard, create a key and set your M-Pesa callback URL. That's your entire configuration.
Make your first call
Hit the STK push endpoint. Safaricom prompts the customer, you get a webhook when they pay.