Skip to content
Odoo support plans from $425 a month · Installation and setup: Onboarding Pack, $350 one-offSee plans →Get a quote
PokutsoftPokutsoft
GlobalAccounting/Payment
Africa Flutterwave Pay icon

Africa Flutterwave Pay

BYOK Flutterwave multi-rail gateway: card, mobile money, bank collections and payouts with verified reconciliation

Odoo 20.0Odoo 19.0Odoo 18.0

Want Africa Flutterwave Pay installed and configured for you? Onboarding Pack: $350 one-off

Support plans from $425 a month

Flutterwave Payments for Odoo

BYOK multi-rail payment gateway connector — card, mobile money and bank collections plus payouts, with verified reconciliation

Supported markets: Nigeria, Ghana, Kenya, Uganda, Rwanda, Zambia, Cameroon, South Africa

One connector for collections and payouts

This module connects your Odoo back office directly to your own Flutterwave merchant account using your own API keys (Bring-Your-Own-Keys). Nothing is routed through a third party: your secret key, encryption key and webhook secret hash stay in your database and are sent only to the official Flutterwave v3 endpoint you configure. It is built on the Odoo Community account base — no Enterprise apps required.

Multi-rail collections

Raise a collection request against a customer and an optional invoice, then collect through the rail that fits the payer: hosted checkout link, direct encrypted card charge, mobile money, pay-with-bank transfer, USSD or bank-account debit.

Bank & mobile-money payouts

Disburse to bank accounts or mobile wallets (M-Pesa, MTN MoMo, Vodafone Cash and more), quote the transfer fee before sending, and refresh each payout's status straight from the API.

Verified reconciliation

A collection is only ever marked successful after the connector re-queries the Flutterwave verification endpoint and confirms the amount and currency match — exactly as Flutterwave's best-practice guidance requires. Charge responses are never trusted on their own.

Authenticated webhooks

A public endpoint at /flutterwave/webhook validates every incoming event against your secret hash (the verif-hash header, with HMAC-SHA256 also supported) before re-verifying the transaction through the API.

Features

CapabilityWhat it does
Hosted CheckoutGenerate a Flutterwave Standard Checkout link from a collection request and open it in one click.
Direct card chargeCard data is collected in a dialog that is not bound to any database field and is 3DES-encrypted on your own Odoo server before being submitted as the encrypted client field. Your encryption key never leaves your server. Full card data (PAN, CVV, expiry) is never written to the database; only the last 4 digits returned by Flutterwave are kept for reconciliation.
Mobile moneyCharge and pay out via published operator codes (e.g. MPS for M-Pesa, MTN, Vodafone).
Bank transfer & USSDCollect through pay-with-bank and USSD rails.
PayoutsCreate transfers to banks or mobile wallets with fee quoting and status refresh.
Transaction verificationRe-query /transactions/{id}/verify and match amount + currency before giving value.
Webhook authenticationConstant-time verif-hash check, then API re-verification.
Vendor-bill payoutsTurn selected posted vendor bills into draft payouts in one action.
Multi-currencyISO 4217 aware (EUR, USD, GBP, NGN, KES, GHS, ZAR, RWF, UGX, XAF and more), including zero-decimal currencies.
API call logEvery request is logged with operation, status, duration and an error flag.
Scheduled reconciliationOptional crons re-verify pending collections and refresh pending payouts.

How it works

  1. In Settings → Flutterwave, paste your Secret Key, Encryption Key and Webhook Secret Hash, then press Test Flutterwave.
  2. Create a Collection, choose a rail and initiate it. For cards, use the secure Charge Card dialog.
  3. When the payer completes, the webhook (or the Verify button, or the cron) re-queries Flutterwave and reconciles the state.
  4. Pay vendors from the Payouts screen or straight from selected vendor bills.

BYOK & disclosure

This is a connector to your own Flutterwave account. It builds and transmits requests using your credentials and does not act as a payment processor, aggregator or settlement provider. Flutterwave's own fees, settlement and regulatory terms apply to your account. Compatible with Odoo 18, Odoo 19 and Odoo 20.

Screenshots

Api Log

Api Log

Collections

Collections

Payouts

Payouts

Settings

Settings

Update date: 2026-10-17

User guides (PDF)

Related modules