- Home
- Apps
- SaaS Tools
- M-Pesa Checkout for Shopify (East Africa)
Illustrative previewA custom-built Shopify payment integration that lets your Kenyan and East-African shoppers pay by Safaricom
M-Pesa STK-push (Lipa na M-Pesa), with real-time confirmation and automatic order capture.
What is M-Pesa Checkout for Shopify (East Africa)?
A custom-built Shopify payment integration that lets your Kenyan and East-African shoppers pay by Safaricom M-Pesa STK-push (Lipa na M-Pesa), with real-time confirmation and automatic order capture. Built to order by ECOSIRE for Shopify (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Shopify.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
About this Product
M-Pesa Checkout for Shopify brings Safaricom's Lipa na M-Pesa STK-push flow directly into your store so East-African shoppers pay the way they already trust — by entering their M-Pesa PIN on a prompt pushed to their phone, with no card and no redirect to an unfamiliar gateway.
This is built to order by ECOSIRE, not an instant App Store install. After purchase we collect your Safaricom Daraja API credentials (Consumer Key/Secret, Business Short Code, and Lipa na M-Pesa passkey), provision a hosted callback service, register the validation/confirmation URLs, and wire the payment experience into your Shopify checkout. We then test against the Daraja sandbox before flipping to production.
How it works. At checkout the customer enters their M-Pesa number; we trigger an STK-push via the Daraja STKPush (Lipa na M-Pesa Online) endpoint. Safaricom sends the asynchronous result to our callback webhook, which verifies the ResultCode and CheckoutRequestID, then uses the Shopify Admin GraphQL API to mark the order paid and capture it. The M-Pesa receipt number is written to an order metafield so it appears in Shopify admin and on the confirmation page — giving your team and your customer one shared reference for reconciliation.
Settlement happens in KES to your registered Safaricom Pay Bill or Till, exactly as your existing M-Pesa account already works — we do not touch the funds. ECOSIRE builds, installs, documents, and supports the integration; you keep full ownership of your Shopify store and your Daraja credentials. Honest delivery: typical build and go-live is 5–10 business days depending on Safaricom credential readiness.
What you get
- A working M-Pesa STK-push payment integration installed and live on your Shopify store
- Hosted callback/confirmation service with the Daraja validation and confirmation URLs registered to your short code
- Configuration of your Daraja credentials (Consumer Key/Secret, Business Short Code, Lipa na M-Pesa passkey) in a secure environment
- Order metafield wiring so the M-Pesa receipt number is captured and displayed for every paid order
- Daraja sandbox test run plus a verified production go-live transaction
- An admin runbook covering reconciliation, credential rotation, and callback re-registration
- A handover walkthrough and two weeks of go-live support for fixes and Safaricom-side adjustments
Who this is for
Kenyan D2C store owner
Sells physical goods to Kenyan shoppers who overwhelmingly pay by M-Pesa and abandon card-only checkouts. Wants the familiar Lipa na M-Pesa PIN prompt at checkout so conversions stop leaking to WhatsApp orders and manual Pay Bill payments.
East-African Shopify merchant scaling regionally
Operates across Kenya and neighbouring markets where M-Pesa is the default rail. Needs settlement in KES to an existing Safaricom Pay Bill/Till and automatic order capture instead of staff manually matching SMS receipts to orders.
Operations / finance lead doing reconciliation
Responsible for matching paid orders to M-Pesa receipts each day. Wants the M-Pesa receipt number stored on the Shopify order and a documented runbook so reconciliation and credential rotation aren't tribal knowledge.
How M-Pesa Checkout for Shopify (East Africa) Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Shopify Native |
|---|---|---|---|---|
| Native Safaricom M-Pesa STK-push (Lipa na M-Pesa) at checkout | Included | Included | Partial support | Not included |
| Built, installed, and supported for you (no DIY assembly) | Included | Not included | Partial support | Not included |
| KES settlement direct to your own Pay Bill/Till (provider never holds funds) | Included | Included | Partial support | Not included |
| M-Pesa receipt stored on the Shopify order via metafield for reconciliation | Included | Partial support | Not included | Not included |
| Idempotent callback handling and status-query fallback for delayed confirmations | Included | Partial support | Partial support | Not included |
| Tailored to your exact store, theme, and Safaricom short code | Included | Included | Not included | Not included |
| Instant self-serve install with no engineer involvement | Not included | Not included | Included | Included |
| Documented admin runbook for credential rotation and reconciliation | Included | Partial support | Not included | Not included |
Frequently Asked Questions about M-Pesa Checkout
How long until M-Pesa checkout is live on my store?
Typical build and go-live is 5–10 business days. The main variable is Safaricom credential readiness: once your Daraja Consumer Key/Secret, Business Short Code, and Lipa na M-Pesa passkey are in hand, we test against the Daraja sandbox and then cut over to production. If your Daraja app or Pay Bill is still being approved by Safaricom, that approval time is outside our control and can extend the timeline.
Is this an instant Shopify App Store download?
No. This is built to order. ECOSIRE custom-builds, installs, and configures the integration for your specific store and Safaricom short code, then hands it over. You are not downloading a self-serve app — a real engineer provisions the callback service, registers your Daraja URLs, and verifies a live transaction before go-live.
Where does the money go — does ECOSIRE hold my funds?
Funds settle in KES directly to your own registered Safaricom Pay Bill or Till, exactly as your M-Pesa account already works. ECOSIRE never holds or touches your money; we only orchestrate the STK-push and confirm the result back to Shopify. You keep full ownership of your Daraja credentials and your Shopify store.
What happens after launch — do I get ongoing support and updates?
Every build includes a two-week go-live support window for fixes and Safaricom-side adjustments such as callback re-registration or credential rotation. If Safaricom changes the Daraja API or your business needs evolve, we offer ongoing support and maintenance as a separate retainer. Because we built it for you, the same team maintains it — you are not left reverse-engineering a third-party app.
What do you need from me to get started?
A Safaricom Daraja developer account with Lipa na M-Pesa Online enabled (Consumer Key/Secret, Business Short Code, passkey), your Pay Bill or Till number, and collaborator/staff access to your Shopify admin so we can install the integration and configure order capture. If you don't have Daraja credentials yet, we'll guide you through requesting them from Safaricom.
Related Modules

Midtrans Gateway for Shopify (Indonesia)
A custom-built Shopify payment integration that brings Gojek's Midtrans to your checkout: GoPay, ShopeePay, OVO, DANA e-wallets, QRIS, bank virtual accounts and cards, all settling in IDR. Built, installed and supported by ECOSIRE.

Multi-Currency & Auto Conversion Checkout
A custom-built Shopify app that detects a shopper's country, shows prices in their local currency with smart rounding, and carries that currency display through to checkout — built, installed, and supported by ECOSIRE.

Multi-Location Inventory Transfers
A custom-built Shopify app that moves stock between your stores and warehouses with barcode-verified sends and receives, in-transit tracking, and a complete transfer audit trail.
M-Pesa Checkout
A custom-built Shopify payment integration that lets your Kenyan and East-African shoppers pay by Safaricom M-Pesa STK-push (Lipa na M-Pesa), with real-time confirmation and automatic order capture.
- Safaricom M-Pesa STK-push (Lipa na M-Pesa Online) — customer approves payment with their PIN on a phone prompt, no card or redirect
- Daraja API integration: OAuth token handling, STKPush request, and STKPushQuery status fallback for missed callbacks
- Hosted callback/confirmation webhook that verifies ResultCode and CheckoutRequestID before marking an order paid
- Automatic order capture via the Shopify Admin GraphQL API once Safaricom confirms the transaction
