Skip to Content

Kenya M-Pesa Daraja

112.35 112.35

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Kenya M-Pesa Daraja for Odoo

STK Push checkout, C2B PayBill reconciliation and B2C payouts - Safaricom Daraja, bring-your-own-key

Collect and disburse money over Safaricom M-Pesa directly from Odoo. This connector speaks the published Daraja API end to end: it pushes an STK Push prompt to the customer's phone at checkout, ingests C2B PayBill confirmations and reconciles them against your open invoices, and sends B2C payouts to suppliers, staff or refunds.

Every credential is bring-your-own-key: you enter your own Safaricom consumer key/secret, business short code and Lipa-na-M-Pesa passkey. The module is the integration layer - it is not a payment service provider and bundles no merchant account.

What it does

STK Push checkout

Trigger a Lipa-na-M-Pesa Online prompt on the customer's handset. The connector builds the documented password base64(ShortCode + Passkey + Timestamp), submits the processrequest, and tracks the CheckoutRequestID.

C2B PayBill reconciliation

Register your validation and confirmation URLs, ingest each PayBill payment, and auto-match it to the right open customer invoice by bill reference or payer phone - then reconcile in one click.

B2C payouts

Send Business, Salary or Promotion payments to any Safaricom number. The B2C SecurityCredential is RSA-encrypted from your initiator password and Safaricom's public certificate, or supplied pre-encrypted.

Key features

  • OAuth2 client-credentials authentication against Daraja
  • STK Push (M-Pesa Express) submit and status query
  • Asynchronous STK callback handling with receipt capture
  • C2B registerurl for validation/confirmation endpoints
  • Inbound C2B confirmation ingestion with receipt de-duplication
  • Automatic invoice matching by bill reference and payer phone
  • One-click reconciliation through Odoo's standard payment flow
  • B2C disbursements (Business / Salary / Promotion)
  • Kenyan MSISDN normalisation and whole-shilling KES validation
  • Full, secret-redacted API call audit log per transaction

Daraja surface covered

CapabilityDaraja endpointDirection
Authentication/oauth/v1/generateOutbound
STK Push/mpesa/stkpush/v1/processrequestOutbound
STK status query/mpesa/stkpushquery/v1/queryOutbound
C2B URL registration/mpesa/c2b/v1/registerurlOutbound
C2B confirmationYour confirmation URLInbound
B2C payment/mpesa/b2c/v1/paymentrequestOutbound
B2C resultYour result URLInbound

Bring your own keys

The connector stores nothing on our side. You configure your own Safaricom Daraja app credentials in Odoo (consumer key, consumer secret, business short code, passkey and B2C initiator). All calls go directly from your Odoo instance to Safaricom. We are not a certified aggregator or payment service provider; this is software that talks to your own M-Pesa account.

Built for Kenya

Amounts are validated as whole Kenyan Shillings (KES), and phone numbers are normalised to the canonical 2547xxxxxxxx / 2541xxxxxxxx form M-Pesa expects, whatever shape your customers type.

Screenshots

Api Call Log

Api Call Log

Paybill Payments

Paybill Payments

Acquirers

Acquirers

New Transaction

New Transaction

Update date: 2026-07-02