M-Pesa Infrastructure

The payment layer
your product deserves

Swifta gives your product a complete M-Pesa stack — STK push, C2B, B2C, webhooks, and real-time notifications — wired up in an afternoon.

99.9%
Uptime SLA
< 4s
Push delivery
50 tx
Free / month
KES 0
Setup fees
swifta — live event stream
09:41:02STK push initiated → 2547XXXXXXXX
09:41:04Prompt delivered — awaiting PIN
Payment Received
COMPLETED
KES 3,500
Invoice #INV-0047 · Ref: ACME-ORD-291
MPESA REF
RGK4E2XQ
APP
Acme-Prod
LATENCY
1.8s
09:41:06Webhook payment.success dispatched
09:41:06WhatsApp notification → delivered
09:41:07200 OK from your endpoint
STK Push
C2B Callbacks
B2C Payouts
Payment Links
Invoice Engine
HMAC Webhooks
WhatsApp Alerts
Live Dashboard
Multi-App
Sandbox Mode
STK Push
C2B Callbacks
B2C Payouts
Payment Links
Invoice Engine
HMAC Webhooks
WhatsApp Alerts
Live Dashboard
Multi-App
Sandbox Mode
Integration

From zero to
collecting in one
afternoon

No Daraja headaches. No obscure documentation rabbit holes. Just a clean API and working code.

View full docs →
01
Create an account and connect your app
Register, create a new app, and link your Till or Paybill number. Swifta provisions your Daraja credentials and routes callbacks automatically.
Sandbox available from day one
02
Trigger payments with a single API call
Hit one endpoint. Swifta handles Daraja auth, formats the request, and fires the STK prompt to your customer's phone.
// Initiate an STK push POST https://api.swifta.co.ke/v1/stk/push Authorization: Bearer sk_live_•••••••• { "phone": "254712345678", "amount": 3500, "ref": "INV-0047", "metadata": { "order_id": "ORD-291" } }
03
Receive a signed webhook when it clears
Every completed payment fires a payment.success webhook to your URL — HMAC-SHA256 signed, with the full metadata you passed in.
WhatsApp and SMS notifications fire automatically
Features

Everything wired.
Nothing missing.

Every piece of the M-Pesa stack assembled and production-ready. You ship the product — Swifta handles the plumbing.

STK Push
Prompt your customer's phone in under 4 seconds. No manual entry, no copy-paste references.
C2B Ready
Transaction Volume
Real-time revenue monitoring across all your apps.
Payment Links
Shareable links for invoices and orders — with metadata and webhook support built in.
Stripe-style
Smart Notifications
WhatsApp and SMS on every payment, routed via BullMQ queues. Zero blocking, zero dropped messages.
BullMQ Powered
Webhook Event System
Every payment fires a signed webhook. Verify authenticity with HMAC-SHA256. Build integrations you can trust.
payment.success
invoice.paid
link.paid
stk.timeout
b2c.result
payment.failed
Multi-App Support
Manage multiple Till and Paybill numbers from one account. Isolated Sandbox and Live environments per app.
Isolated Envs
Invoice Engine
Create, send, and track invoices. Customer gets a WhatsApp message and STK prompt — you get a webhook when it clears.
Fully Automated
Pricing

Pay only for what
you process

Postpaid, per-transaction. No wallet top-ups. Auto-invoiced on the 1st of the month via STK push to your registered number.

Free
KES0/mo
For developers and early-stage products getting started.

  • 50 transactions / month
  • STK Push + C2B callbacks
  • 1 app — Sandbox only
  • Email notifications
  • Community support
Scale
KES1/tx
For high-volume products. Kicks in automatically after 500 transactions per month.

  • Everything in Growth
  • KES 1/tx after 500 tx/month
  • Dedicated account manager
  • Custom webhook domains
  • Uptime SLA + direct line
How billing works: We count your transactions monthly. At month end, an invoice is generated and collected via STK push to your registered number on the 1st. D+7 reminder · D+14 soft limit · D+21 suspension. No wallet architecture, no CBK PSP licensing requirements.

Ready to ship
M-Pesa into
your product?

Join builders across Kenya using Swifta to collect, route, and monitor payments — without fighting Daraja every step of the way.