- 首页
- Apps
- SaaS Tools
- M-Pesa Gateway for Magento 2
示意预览A custom-built Magento 2 payment method that lets Kenyan and East-African shoppers pay by Safaricom M-Pesa STK push at checkout.
ECOSIRE builds, installs and supports it on your store — sandbox-tested on the Daraja API, with C2B confirmation, callback-driven order auto-confirmation and KES settlement.
什么是 M-Pesa Gateway for Magento 2?
A custom-built Magento 2 payment method that lets Kenyan and East-African shoppers pay by Safaricom M-Pesa STK push at checkout. ECOSIRE builds, installs and supports it on your store — sandbox-tested on the Daraja API, with C2B confirmation, callback-driven order auto-confirmation and KES settlement. Built to order by ECOSIRE for Magento 2 / Adobe Commerce (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 Magento 2 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
关于此产品
M-Pesa is how East Africa pays — but Magento Open Source and Adobe Commerce ship no native M-Pesa method, and generic Marketplace extensions rarely match a store's real checkout, multi-store or fulfilment flow. ECOSIRE builds this gateway to order: a proper Magento 2 payment module under app/code/Ecosire/MpesaGateway, wired the way Magento expects.
At checkout the shopper enters their Safaricom number and we trigger an STK push through the Safaricom Daraja API — the M-Pesa PIN prompt appears on their phone, they confirm, and money moves. Your store holds the order in pending_payment until M-Pesa calls back. Our C2B / STK callback controller (CSRF-exempt, signature- and amount-validated) receives the confirmation, matches it to the quote, and an observer / service-contract flow moves the order to processing and emails the customer — no manual reconciliation.
The build follows Magento conventions end to end: a Magento\Payment\Model\MethodInterface implementation, payment.xml + config.xml defaults, di.xml virtual types, admin system.xml configuration with ACL (consumer key/secret, passkey, shortcode, sandbox vs production), a cron job to reconcile timed-out STK requests, and encrypted credential storage. We expose payment status to your storefront and can extend the GraphQL and REST APIs for headless / PWA Studio builds.
Because it is built to order, it fits your store: your Magento version (2.4.x), your theme's checkout, your multi-website KES setup, your tax and invoicing rules. ECOSIRE installs it on staging, tests the full sandbox-to-live Daraja cutover with you, then deploys to production. You get the source, a short runbook and ongoing support. Honest delivery: this is not an instant download — typical lead time is 5–10 business days depending on customisation.
你得到什么
- A Magento 2 module (`Ecosire_MpesaGateway`) delivered as source under `app/code` plus a Composer-installable package
- Full Daraja integration: STK push, STK query, C2B confirmation and validation callbacks
- Admin configuration section with ACL, encrypted credentials and sandbox/production switch
- Installation on your staging environment plus guided sandbox-to-production Daraja cutover
- A short admin + operations runbook (credential setup, going live, reading logs, reconciliation)
- Two weeks of go-live support and bug fixes, with optional ongoing support thereafter
- Compatibility validation against your specific Magento/Adobe Commerce version and checkout theme
- Source code ownership so your team or any developer can maintain or extend it later
这是给谁的
Kenyan eCommerce merchant on Magento 2
Runs a Magento Open Source store selling to Kenyan customers and needs M-Pesa at checkout because cards have low penetration. Wants STK push and automatic order confirmation without manual reconciliation.
East-African retailer scaling regionally
Operates multi-website Magento across Kenya, Tanzania and Uganda. Needs KES settlement, a clean sandbox-to-live path and a gateway that respects per-store-view configuration and existing fulfilment rules.
Adobe Commerce / agency dev team
A solution integrator or in-house team that wants a properly architected M-Pesa module (di.xml, service contracts, ACL, cron, GraphQL-ready) they can own and extend, rather than a black-box Marketplace extension that fights their headless or PWA build.
M-Pesa Gateway for Magento 2 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | Magento 2 原生 |
|---|---|---|---|---|
| Native M-Pesa STK push payment method at checkout | 包含 | 部分支持 | 包含 | 不包括在内 |
| Built and tested for YOUR Magento version, theme and multi-store setup | 包含 | 包含 | 不包括在内 | 不包括在内 |
| Callback-validated automatic order confirmation (receipt + amount + idempotency) | 包含 | 部分支持 | 部分支持 | 不包括在内 |
| Cron reconciliation for timed-out / missing STK callbacks | 包含 | 部分支持 | 部分支持 | 不包括在内 |
| Proper Magento architecture (di.xml, service contracts, ACL, encrypted credentials) | 包含 | 部分支持 | 部分支持 | 不包括在内 |
| GraphQL / REST extension for headless / PWA Studio | 包含 | 部分支持 | 不包括在内 | 不包括在内 |
| Installed, sandbox-to-production cutover and supported by the vendor | 包含 | 不包括在内 | 不包括在内 | 不包括在内 |
| Source code ownership so any developer can maintain it | 包含 | 包含 | 部分支持 | 不包括在内 |
关于M-Pesa Gateway的常见问题
How long until the M-Pesa gateway is live on my store?
Typical lead time is 5–10 business days from when we receive your Magento version, theme details and Daraja sandbox credentials. We build and test on staging first, run the sandbox-to-production cutover with you, then deploy to live. This is a build-to-order service, not an instant download — if your checkout is heavily customised or you need GraphQL/headless support, we'll confirm the timeline up front.
Do I get ongoing support and updates after launch?
Yes. Every build includes two weeks of go-live support and bug fixes. After that, you can take an optional ongoing support plan covering Magento 2.4.x upgrades, Daraja API changes from Safaricom, and enhancements. Because you receive the full source and own it, your own team or any Magento developer can also maintain it independently.
What do I need from Safaricom to use this?
You need a Safaricom Daraja developer account and a Lipa Na M-Pesa Online / Paybill or Till (shortcode) with its consumer key, consumer secret and passkey. We start on the Daraja sandbox for end-to-end testing, then switch to your production credentials. We'll guide you through requesting and configuring everything.
Will it work with Adobe Commerce and a headless / PWA Studio storefront?
Yes. The module targets both Magento Open Source and Adobe Commerce 2.4.x. The default build works with the standard Luma/native checkout; for headless, PWA Studio or a custom frontend we extend the GraphQL and REST APIs so STK push and payment status are available to your storefront. Tell us your stack and we'll scope it.
How does the order get confirmed after the customer pays?
When the shopper approves the STK push, M-Pesa sends an asynchronous callback to a dedicated, CSRF-exempt controller in the module. We validate the receipt number, amount and shortcode, match it to the Magento quote, and — only on a verified callback — move the order to `processing` and create the invoice. Callbacks are handled idempotently, and a cron job reconciles any STK request that timed out without a callback, so orders never get stuck or double-confirmed.
相关模块

Mollie Payments for Magento 2
A custom-built Mollie payment gateway for Magento 2 and Adobe Commerce, giving EU and Benelux merchants 20+ local methods (iDEAL, Bancontact, Apple Pay, PayPal, BNPL) with admin-side refunds. Built, installed and supported by ECOSIRE on your store.
M-Pesa Gateway
A custom-built Magento 2 payment method that lets Kenyan and East-African shoppers pay by Safaricom M-Pesa STK push at checkout. ECOSIRE builds, installs and supports it on your store — sandbox-tested on the Daraja API, with C2B confirmation, callback-driven order auto-confirmation and KES settlement.
- STK push checkout — shopper enters their Safaricom number and approves the M-Pesa PIN prompt on their phone via the Daraja `STK Push (Lipa Na M-Pesa Online)` API
- C2B payment confirmation through a dedicated callback controller that validates the M-Pesa receipt, amount and shortcode before trusting it
- Callback-driven order auto-confirmation: order stays in `pending_payment`, then moves to `processing` and invoices on a verified M-Pesa callback via an observer/service-contract flow
- Sandbox + production Daraja support with a one-toggle environment switch in admin (consumer key/secret, passkey, shortcode, initiator)


