Flutterwave website screenshot

Flutterwave

Flutterwave is a pan-African payment infrastructure company providing the rails for businesses to accept, send, and manage money across Africa and globally. The Flutterwave for Business (F4B) v4 API exposes a unified surface for collections (cards, mobile money, bank transfer, USSD, OPay, virtual NUBANs), payouts (bank, mobile money, wallet-to-wallet across 30+ countries), real-time FX conversion, settlements, refunds, chargebacks, multi-currency wallets, KYC, card issuing, and bill payments. Flutterwave is one of the most valuable African fintech companies (unicorn status) and processes 20M+ API calls and 500k+ payments per day.

6 APIs 21 Features
PaymentsPayoutsMobile MoneyCardsAfricaFintechRemittanceVirtual AccountsChargebacksMulti-Currency

APIs

Flutterwave Payments API

Collect payments across cards, mobile money (M-Pesa, MTN, Airtel, Tigo), bank transfers, USSD, OPay, and virtual NUBANs. Includes customers, charges, payment methods, orchestrat...

Flutterwave Transfers API

Disburse funds globally across bank account transfers, mobile money transfers, and wallet-to-wallet transfers spanning 30+ African countries plus US/UK/EU/Asia corridors. Manage...

Flutterwave Settlements API

Reconcile transaction volume with merchant payouts. Manage settlements, refunds, chargebacks (dispute handling), and fee computation for cards, mobile money, and other rails. Th...

Flutterwave Wallets API

Inspect multi-currency wallet balances, retrieve wallet statements, and resolve mobile money wallet account details. Backs the FAAS (Finance as a Service) and capital flows for ...

Flutterwave Banks API

Reference data for banks, bank branches, and mobile networks supported by country, plus bank account name-enquiry endpoints. Used to populate checkout dropdowns and validate des...

Flutterwave Webhooks API

Outbound webhook callbacks delivered by Flutterwave for charges, transfers, refunds, chargebacks, and virtual account funding. Receivers validate the `verif-hash` header against...

Collections

Arazzo Workflows

Flutterwave Bank Directory Then Payout

Look up supported banks for a country, resolve the destination account, then create a recipient and send a payout.

ARAZZO

Flutterwave Charge And Verify Status

Initiate a charge then poll the charge object to confirm its final settled status.

ARAZZO

Flutterwave Charge Then Dispute Chargeback

Confirm a charge succeeded, raise a chargeback against it, and submit evidence to contest it.

ARAZZO

Flutterwave Charge Then Refund

Verify a charge succeeded, then create a refund against it and confirm the refund status.

ARAZZO

Flutterwave Create Recipient Transfer And Verify

Create a transfer recipient, send a payout to it, then verify the transfer reached a final status.

ARAZZO

Flutterwave Cross-Border Rate-Locked Transfer

Lock an FX rate, create a sender and recipient, then send a transfer at the locked rate and verify it.

ARAZZO

Flutterwave Direct Orchestrator Transfer And Verify

Initiate a one-call Orchestrator transfer with inline sender and recipient, then verify the payout status.

ARAZZO

Flutterwave Mobile Money Payout

Resolve a mobile money wallet, create a mobile money recipient, then send and verify the payout.

ARAZZO

Flutterwave Orchestrator Charge And Verify

Initiate a one-call Orchestrator charge then verify the resulting charge status.

ARAZZO

Flutterwave Orchestrator Order And Verify

Initiate an order in one call with the Orchestrator helper, then retrieve it to confirm its status.

ARAZZO

Flutterwave Order Checkout And Verify

Create a customer, place a server-side order for them, then retrieve the order to confirm its status.

ARAZZO

Flutterwave Quote Fee Then Charge

Retrieve the processing fee for an amount, create the customer, then charge and verify it.

ARAZZO

Flutterwave Resolve Account Then Payout

Resolve a destination bank account name, create a recipient for it, then send and verify a transfer.

ARAZZO

Flutterwave Reuse Recipient Payout

Retrieve a saved recipient to confirm it exists, then send a transfer to it and verify the payout.

ARAZZO

Flutterwave Settlement Reconciliation Refund

Retrieve a settlement, confirm a charge within it succeeded, then refund the charge and verify the refund.

ARAZZO

Flutterwave Tokenized Recurring Charge

Tokenize a payment method, charge it for a customer, then verify the recurring charge status.

ARAZZO

Flutterwave Transfer Verify And Retry

Send a transfer, verify its status, and retry it automatically when it failed.

ARAZZO

Flutterwave Upsert Customer And Charge

Search for a customer by email, create one only if missing, then charge that customer and verify it.

ARAZZO

Flutterwave Virtual Account Collection

Create a customer, issue a dedicated virtual account for them, then verify the account is active.

ARAZZO

Flutterwave Wallet Balance Guarded Payout

Check a currency wallet balance, then only send a transfer to an existing recipient when funds are sufficient.

ARAZZO

GraphQL

Flutterwave GraphQL Schema

This document describes a GraphQL schema representation of the Flutterwave Payments API. Flutterwave's native interface is REST-based; this schema is a conceptual mapping of cor...

GRAPHQL

Pricing Plans

Rate Limits

Flutterwave Rate Limits

0 limits

RATE LIMITS

FinOps

Features

Accept payments via cards (local + international), mobile money (M-Pesa, MTN, Airtel, Tigo, Vodafone, OPay), bank transfers, USSD, and QR
Real-time payouts to bank accounts and mobile wallets across 30+ African countries plus US/UK/EU/Asia corridors
Virtual NUBANs (Nigerian Uniform Bank Account Numbers) for pay-with-bank-transfer collections
Cross-border remittance with built-in KYC for senders and recipients
Real-time FX conversion via the Transfer Rates endpoints
Multi-currency wallets (30+ currencies) with statements and balance APIs
Orchestrator helpers that combine customer creation, payment method tokenisation, and charge in one call
{"Idempotency via `X-Idempotency-Key` (UUID) returned on retry with `X-Idempotency-Cache-Hit" => "true`"}
AES-256 client-side encryption for sensitive card fields with a per-request 12-character nonce
OAuth 2.0 Client Credentials with 10-minute bearer tokens issued by Keycloak IDP
Webhooks for `charge.completed`, transfer completion, refunds, chargebacks, and virtual account funding
Card Issuing (virtual cards) and Card Acquiring services
Bill Payments and KYC services
Settlements, refunds, chargebacks, and fee computation endpoints for finance and operations
Industry solutions for Fintechs, Banks/OFIs, Travel/Hospitality, E-commerce, Remittance, Telecommunications, Loan Disbursements
Hosted checkout via Payment Links and Standard payment flow
Free ecommerce tooling (Store, Invoices, Disha) for SMEs
Send App (consumer remittance), Swap (FX), Afritickets (event ticketing), Market (online marketplace), Tuition (school fees)
Test card and test mobile money number library for sandbox validation
Sandbox and production environments at `api.flutterwave.cloud/f4b/sandbox` and `.../production`
Official SDKs for Node.js, PHP, Python, Ruby, Java, .NET plus frontend SDKs for React, Angular, Vue, Flutter, React Native, Android, iOS, and a WordPress plugin

Semantic Vocabularies

Flutterwave Context

0 classes · 10 properties

JSON-LD

API Governance Rules

Flutterwave API Rules

12 rules · 3 errors 7 warnings 2 info

SPECTRAL

JSON Structure

Flutterwave Charge Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
💻
ErrorCodes
ErrorCodes
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📝
Signup
Signup
🟢
StatusPage
StatusPage
💬
Support
Support
💰
Pricing
Pricing
📰
Blog
Blog
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
Contact
Contact
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
Plugin
Plugin
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Flutterwave Webhooks API
  version: 4.0.0
items:
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Receive Flutterwave Webhook
      type: http
    http:
      method: POST
      url: https://your-webhook-endpoint.example.com/webhooks/flutterwave
      headers:
      - name: verif-hash
        value: ''
      body:
        type: json
        data: '{}'
    docs: 'Endpoint hosted by the merchant. Flutterwave POSTs a JSON payload and

      sets the `verif-hash` header to the secret hash configured in the

      dashboard. Validate `verif-hash` before trusting the payload.

      '
bundled: true