- ホーム
- Apps
- SaaS Tools
- M-Pesa Payment Gateway for Odoo (Daraja)
イメージプレビューAccept M-Pesa STK Push and C2B mobile money on Odoo 17/18/19 with auto reconciliation
— built, installed and supported by ECOSIRE.
M-Pesa Payment Gateway for Odoo (Daraja)とは?
Accept M-Pesa STK Push and C2B mobile money on Odoo 17/18/19 with auto reconciliation — built, installed and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
主な機能
受注生産、すべておまかせ
自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。
- 1
ご注文
一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。
- 2
構築とインストール
ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。
- 3
本番稼働 + サポート
約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。
技術仕様
- Odoo互換性
- Odoo 17, Odoo 18, Odoo 19
- エディション
- Enterprise&Community
- ライセンス
- ライセンスの確認が必要です
- Python要件
- Python 3.10+
- データベース
- PostgreSQL 12+
この製品について
Give your Kenyan and East African customers the payment method they actually reach for — M-Pesa — right inside Odoo. This is a build-to-order module that ECOSIRE designs, develops, installs and supports for your specific Odoo deployment. It is not an instant apps.odoo.com download: after purchase we scope your Paybill/Till setup, build against the live Safaricom Daraja API, deploy to your environment, and hand over a maintained, documented payment provider. Typical delivery is one working week.
Once live, the module registers M-Pesa as a first-class Odoo payment provider (payment.provider / payment.transaction), so it works natively in eCommerce checkout, the Customer Portal, Sales Orders and Invoicing. Buyers trigger an STK Push to their phone, approve with their M-Pesa PIN, and the transaction is confirmed back to Odoo automatically via secure Daraja callbacks — no manual "have you paid yet?" follow-ups. For counter and offline sales, C2B Paybill/Till payments are captured and matched too.
The engineering is real Odoo, not a bolt-on. We add proper models extending payment.transaction with fields for the CheckoutRequestID, MerchantRequestID, M-Pesa receipt number and phone MSISDN; compute helpers with @api.depends keep reconciliation state in sync; access is locked down with ir.model.access.csv plus record rules so raw callback logs and credentials stay admin-only. Daraja OAuth token handling, STK Push, C2B validation/confirmation and B2C result/timeout endpoints are exposed as controllers with signature and shortcode validation. Automated actions and scheduled crons handle token refresh, callback retries and stale-transaction cleanup. Everything ships as a versioned addon with a clean __manifest__.py, QWeb-templated receipts, and KES currency/localization wired in.
Because it lives in Odoo's native payment layer, reconciliation is automatic: confirmed M-Pesa receipts are matched to the originating order or invoice and posted to the configured bank/suspense journal, so your finance team stops hand-keying Safaricom statements. Refunds and reversals are handled through the Daraja Reversal API from within Odoo, keeping the audit trail in one system. The same transactions are reachable over Odoo's XML-RPC / JSON-RPC API for any downstream automation you run.
We deliver it for Odoo 17, 18 and 19, Community or Enterprise, on Odoo.sh, on-premise or ECOSIRE-managed hosting. You get the source, the configuration, documentation, a training session and a support window — and a team that already understands both Odoo internals and Safaricom's Daraja quirks (sandbox vs production shortcodes, callback URL whitelisting, tokenised OAuth, and the difference between C2B and STK confirmation flows).
得られるもの
- Complete, versioned Odoo addon source (models, controllers, views, security, data) built for your Odoo 17, 18 or 19 — Community or Enterprise
- Live Daraja integration configured end-to-end: OAuth credentials, STK Push, C2B and B2C callback URLs whitelisted and tested in sandbox then production
- Payment provider, journal and reconciliation configuration wired into your existing chart of accounts and KES currency setup
- Deployment to your environment (Odoo.sh, on-premise or ECOSIRE-managed hosting) with a documented rollback path
- Admin and finance-user documentation covering configuration, day-to-day operation, reconciliation and refund/reversal procedures
- A live training/handover session for your team plus a recording
- Post-launch support window for bug fixes, callback issues and Daraja/Odoo-version compatibility, with an SLA agreed at scoping
- Test evidence: sandbox and production transaction walkthroughs (STK approve, C2B match, refund/reversal) demonstrating the flows
これは誰のためのものですか
Kenyan eCommerce merchant on Odoo
Runs an Odoo Website/eCommerce store and needs shoppers to pay by M-Pesa STK Push at checkout instead of abandoning carts over card friction. Wants confirmed payments to auto-update the sales order and invoice.
East African finance / accounts team
Tired of manually reconciling Safaricom Paybill and Till statements against Odoo invoices. Wants every M-Pesa receipt matched, posted to the right journal, and refundable via the Daraja Reversal API without leaving Odoo.
Odoo implementer / IT lead
Responsible for an Odoo 17/18/19 rollout (Community or Enterprise) who needs M-Pesa added as a proper native payment provider — clean models, secured callbacks, cron-managed OAuth — rather than a fragile script, and wants ECOSIRE to build and support it.
Multi-entity retailer with several Paybills/Tills
Operates multiple stores or companies in Odoo and needs each routed to its own M-Pesa shortcode with correct per-company reconciliation and reporting.
M-Pesa Payment Gateway for Odoo (Daraja) の比較方法
| 基準 | エコシエール | カスタムビルド | 競合他社 | Odoo 標準機能 |
|---|---|---|---|---|
| M-Pesa STK Push + C2B + B2C in one integration | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Native Odoo payment provider (works in checkout, portal, invoicing) | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Automatic reconciliation of Paybill/Till to invoices | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Refund/reversal via Daraja Reversal API from Odoo | 付属 | 部分的なサポート | 含まれていない | 含まれていない |
| Secured, validated callbacks + cron-managed OAuth tokens | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
| Built and tested for your exact Odoo 17/18/19 edition | 付属 | 付属 | 含まれていない | 含まれていない |
| Deployment, training and handover included | 付属 | 含まれていない | 含まれていない | 含まれていない |
| Ongoing support and version-compatibility updates | 付属 | 含まれていない | 部分的なサポート | 部分的なサポート |
| KES localization + MSISDN normalization out of the box | 付属 | 部分的なサポート | 部分的なサポート | 含まれていない |
M-Pesa Payment Gateway に関するよくある質問
How long does delivery take, and is this an instant download?
This is a build-to-order module, not an instant apps.odoo.com download. After purchase we scope your Paybill/Till setup and Odoo environment, build and test against the Safaricom Daraja API in sandbox, then deploy to production. Typical lead time is one working week depending on complexity, the number of shortcodes, and access to your Daraja and Odoo credentials.
What support and updates are included after go-live?
You get a post-launch support window (agreed at scoping) covering bug fixes, callback/Daraja issues, and compatibility with your Odoo version. We support Odoo 17, 18 and 19; if you upgrade Odoo or Safaricom changes the Daraja API, we handle the compatibility work under the support agreement, and offer ongoing maintenance beyond the initial window.
Which Odoo versions and editions does it work with?
Odoo 17, 18 and 19 — both Community and Enterprise. We build it as a standard addon with a proper __manifest__.py and deploy to Odoo.sh, on-premise, or ECOSIRE-managed hosting. The build is tailored to the exact version and edition you run.
Do I need my own Safaricom Daraja / M-Pesa account?
Yes. You need a Safaricom Daraja developer account and a live Paybill or Till (Lipa na M-Pesa) shortcode with API access. We use your credentials to configure OAuth, STK Push and the C2B/B2C callback URLs — stored securely per-company in Odoo and restricted by record rules. We can guide you through obtaining or activating Daraja access if you don't have it yet.
How does reconciliation and refunding work?
Confirmed M-Pesa receipts arrive via Daraja callbacks and are automatically matched to the originating Odoo order or invoice and posted to your configured journal, so finance stops keying Safaricom statements by hand. Refunds and reversals are initiated from the Odoo transaction using the Daraja Reversal API, keeping the full audit trail — receipt number, MSISDN and request IDs — inside Odoo.
Is it secure, and are the callbacks protected?
Inbound STK, C2B and B2C callbacks are validated (shortcode/signature checks) so only authentic Safaricom requests change transaction state. Daraja OAuth tokens are minted and refreshed via a scheduled cron, credentials and raw callback logs are locked down with ir.model.access.csv plus record rules, and all endpoints run over HTTPS with whitelisted callback URLs.
関連モジュール

Moyasar Payment Gateway for Odoo
A build-to-order Odoo payment provider that connects your Saudi checkout to Moyasar — accepting mada, Apple Pay, STC Pay, and cards in SAR with webhook-based reconciliation. ECOSIRE builds, installs, and supports it after a scoping call.
M-Pesa Payment Gateway
Accept M-Pesa STK Push and C2B mobile money on Odoo 17/18/19 with auto reconciliation — built, installed and supported by ECOSIRE.
- Safaricom Daraja STK Push (Lipa na M-Pesa Online) — customer approves payment with their M-Pesa PIN, no card details required
- M-Pesa registered as a native Odoo payment provider (payment.provider / payment.transaction) so it works in eCommerce checkout, Customer Portal, Sales and Invoicing
- C2B Paybill and Till Number support with Daraja validation and confirmation callbacks for counter and offline payments
- B2C payout support with result and timeout callback endpoints for refunds, disbursements and supplier payments


