メインコンテンツにスキップ
商品詳細は英語で表示されます。翻訳は近日公開予定です。
M-Pesa Payment Gateway for Odoo (Daraja) — Accept M-Pesa STK Push and C2B mobile money on Odoo 17/18/19 with auto reconciliat — 1/1イメージプレビュー

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.

主な機能

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
Automatic reconciliation — confirmed M-Pesa receipts matched to the originating order/invoice and posted to the configured journal, eliminating manual statement keying
Refund and reversal handling through the Daraja Reversal API directly from the Odoo transaction, preserving the audit trail
Secure Daraja OAuth token lifecycle: automatic token minting and refresh via scheduled cron, with credentials stored per-company and access-restricted
Signature/shortcode validation on all inbound callbacks (STK, C2B, B2C) so only authentic Safaricom requests mutate transaction state
KES localization: currency, decimal handling, phone/MSISDN normalization (2547XXXXXXXX) and East Africa timezone-aware timestamps
Full transaction ledger storing CheckoutRequestID, MerchantRequestID, M-Pesa receipt number, MSISDN and raw callback payload for traceability
Sandbox and production toggle with separate shortcodes/keys so you validate end-to-end before going live
Automated retry and stale-transaction cleanup via Odoo automated actions and cron for callbacks that arrive late or fail
QWeb payment/receipt templates and status notifications for buyers, plus branded confirmation on the portal
ir.model.access.csv + record rules locking raw logs, keys and callback data to authorized roles only
Transactions exposed over Odoo XML-RPC / JSON-RPC API for downstream automation and external reconciliation
Multi-shortcode / multi-company ready — route different stores or entities to their own Paybill/Till

受注生産、すべておまかせ

自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。

  1. 1

    ご注文

    一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。

  2. 2

    構築とインストール

    ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。

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

見積もりを依頼

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

見積もりを依頼

M-Pesa Payment Gateway のご要望をお知らせください。価格、ライセンスの選択肢、貴社に合わせたご提案を、通常1営業日以内にお送りします。

今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。