Accept M-Pesa payments and auto-settle to your own bank account, paybill, till, or phone instantly. One powerful API. Zero merchant accounts needed.
2%
Transaction fee
<1s
Processing
99.9%
Uptime
24/7
Support
POST a request. Your customer gets a prompt on their phone. You get paid and notified via webhook. That's the whole flow.
$ curl -X POST https://obedgateway.com/api/v1/stk-push \ -H "Authorization: Bearer mpg_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: order-5521-attempt-1" \ -d '{ "amount": 1000, "phone": "254712345678", "reference": "ORDER-5521", "description": "T-shirt purchase"}'# ✓ Response{ "success": true,"transaction_id": "txn_8f3a2b9cde","status": "pending","net_amount": 985,"poll_url": "/api/v1/transactions/txn_8f3a2b9cde"}}
Integrated admin approval, API key management, and real-time transaction tracking. Everything you need to run a payment platform.
Trigger the M-Pesa payment prompt on any Safaricom number with a single REST call.
Funds settle to Paybill, Till, or Bank automatically — no manual transfers ever.
HMAC-signed events for payment.success, payment.failed, and payout events.
API keys hashed at rest. Webhook payloads HMAC-SHA256 signed. RLS on every table.
Full sandbox with test keys, isolated data. Flip to live in one click.
Plain REST. JSON in, JSON out. No SDK lock-in. Works with any backend stack.
Shareable hosted checkout pages. No code needed — share a URL, collect money.
Real-time transaction dashboard, API key management, and payout account tracking.
Safe retries via Idempotency-Key header — duplicate requests are deduplicated automatically.
No monthly fees. No setup costs. Pay only when you process.