Skip to main content
M-Pesa Checkout for Shopify (East Africa) — A custom-built Shopify payment integration that lets your Kenyan and East-African — 1/1Illustrative preview

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.

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

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
M-Pesa receipt number stored in an order metafield, visible in Shopify admin and on the order confirmation page for reconciliation
Real-time payment confirmation with a status-polling fallback so customers aren't stuck if Safaricom's async callback is delayed
KES settlement straight to your existing Safaricom Pay Bill or Till — ECOSIRE never holds your funds
Phone-number normalization and validation (254… / 07… / +254 formats) before the STK-push is sent
Idempotent callback handling to prevent double-capture on Safaricom callback retries
Daraja sandbox testing and a clean cutover to production credentials before go-live
Configurable timeout, retry, and failed-payment messaging surfaced to the shopper in plain language
Admin runbook documenting credential rotation, callback URL re-registration, and reconciliation steps

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Shopify.

  3. 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

CriterionECOSIRECustom BuildCompetitorShopify Native
Native Safaricom M-Pesa STK-push (Lipa na M-Pesa) at checkoutIncludedIncludedPartial supportNot included
Built, installed, and supported for you (no DIY assembly)IncludedNot includedPartial supportNot included
KES settlement direct to your own Pay Bill/Till (provider never holds funds)IncludedIncludedPartial supportNot included
M-Pesa receipt stored on the Shopify order via metafield for reconciliationIncludedPartial supportNot includedNot included
Idempotent callback handling and status-query fallback for delayed confirmationsIncludedPartial supportPartial supportNot included
Tailored to your exact store, theme, and Safaricom short codeIncludedIncludedNot includedNot included
Instant self-serve install with no engineer involvementNot includedNot includedIncludedIncluded
Documented admin runbook for credential rotation and reconciliationIncludedPartial supportNot includedNot 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.

Request a quote

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

Request a Quotation

Tell us about your M-Pesa Checkout requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.