Skip to content
All connectors
Flutterwave logo

Flutterwave

Accounting, billing & payments

Keep Flutterwave in step with your orders, invoices and payments without re-keying, with the right person approving what changes.

47 ways to read, 6 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

Live certification with Flutterwave: in progress. Built against Flutterwave’s published API and tested with example responses. Provider sandbox verification is not yet recorded for this connector.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Flutterwave with Nexra

Connected, approved, proven.

The things teams do most with Flutterwave, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Create payment linkpayment_links.createApproval by rule
  • Create payment planpayment_plans.createApproval by rule
  • Get wallet balancebalances.getRead

Example flow

  1. Flutterwave · Get wallet balancebalances.getDone
  2. Flutterwave · Create payment linkpayment_links.createMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Flutterwave.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Flutterwave
  • Flutterwave's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Flutterwave test account before you go live.

For developers

Technical detail

Flutterwave v3: transactions, settlements with their lines and fees, refunds, chargebacks, transfers, plans, balances and bills; checkout links, plans and virtual accounts; governed payouts and refunds.

Flutterwave API docs
Source actions
47
Destination actions
6
Data types
35

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

balances2
  • Get wallet balanceSource

    Available and ledger balance in one currency.

  • List wallet balancesSource

    Available and ledger balance in every currency.

bank branches1
  • List bank branchesSource

    Branch codes for one bank.

banks1
  • List banksSource

    Banks and mobile money providers supported in a country.

beneficiaries2
  • Get transfer beneficiarySource

    Read one transfer beneficiary by ID.

  • List transfer beneficiariesSource

    Saved transfer recipients (bank and last four digits only).

bill agencies1
  • List government and agency billersSource

    Agencies that accept bill payments through Flutterwave.

bill agency products1
  • List agency productsSource

    Products under one agency biller, with amount and fee.

bill categories1
  • List bill categoriesSource

    Bill payment categories (airtime, data, cable, utilities) for a country.

bill items1
  • List biller itemsSource

    Payable items (plans, bundles) of one biller with amount and fee.

bill payments2
  • Get bill payment statusSource

    Status of one bill payment by its reference.

  • List bill paymentsSourceIncremental

    Airtime, data, cable and utility bill payments made from your wallet. Read only.

billers1
  • List billersSource

    Billers in a bill category for a country.

bulk charge transactions1
  • List bulk tokenized charge transactionsSource

    Transactions created by one bulk tokenized charge batch. Read only.

bulk charges1
  • Get bulk tokenized chargeSource

    Status and amounts of the charges in one bulk tokenized charge batch. Read only.

bulk transfers1
  • Get bulk transfer itemsSource

    Transfers in one bulk-transfer batch, with status and fee. Read only.

bulk virtual accounts1
  • Get bulk virtual accountsSource

    Status of the virtual accounts created in one bulk batch.

chargebacks2
  • Get chargebackSource

    Read the chargeback raised on one transaction, by its Flutterwave reference.

  • List chargebacksSourceIncremental

    Chargebacks with stage, status and due date. Read only.

fx trades1
  • Get FX trade statusSource

    Status of one currency-exchange trade. Read only; trades are never created.

payment links1
  • Create payment linkDestinationNot retried automaticallyApproval before production

    Create a Flutterwave Standard checkout link. No money moves until the customer pays on the hosted page.

payment plans4
  • Create payment planDestinationNot retried automaticallyApproval before production

    Create a recurring payment plan. No customer is charged until they subscribe through checkout.

  • Get payment planSource

    Read one payment plan by ID.

  • List payment plansSource

    Recurring payment plans with amount, interval and status.

  • Update payment planDestinationProvider duplicate protectionApproval before production

    Rename a payment plan or set its status to active. Cancelling is not offered.

payout subaccount balances1
  • Get payout subaccount balanceSource

    Available and ledger balance of a payout subaccount wallet.

payout subaccounts2
  • Get payout subaccountSource

    Read one payout subaccount wallet by its account reference.

  • List payout subaccountsSource

    Payout subaccount wallets with reference, country, bank and status.

refunds3
  • Refund a paymentDestinationNot retried automaticallyApproval before production

    Refunds a successful Flutterwave payment, in full or in part, from your available balance. Moves money: it runs only when you enable it on your own connection, under any approval rules and limits you set.

  • Get refundSource

    Read one refund by ID. Read only.

  • List refundsSourceIncremental

    Refunds with status and amount. Read only.

settlement transactions1
  • List settlement transactionsSource

    The transactions paid out in one settlement, each with its charged amount, fees and settled amount, so the bank deposit can be matched line by line.

settlements2
  • Get settlementSource

    Read one settlement by ID.

  • List settlementsSourceIncremental

    Settlements with gross, fees, refunds, chargebacks and net amount.

subaccounts2
  • Get collection subaccountSource

    Read one collection subaccount by ID.

  • List collection subaccountsSource

    Split-payment subaccounts with their split configuration.

subscriptions1
  • List subscriptionsSource

    Subscriptions to payment plans, optionally by plan or status.

transaction events1
  • List transaction timelineSource

    Events from initiation to completion for one transaction.

transaction fees1
  • Get transaction feeSource

    Fee Flutterwave expects to charge for an amount and currency.

transactions3
  • Verify transactionSource

    Read verification for an existing Flutterwave transaction ID.

  • List transactionsSourceIncremental

    Read v3 transactions with provider status and currency, optionally by date, status or reference.

  • Verify transaction by referenceSource

    Read verification for a transaction by your tx_ref.

transfer fees1
  • List transfer feesSource

    Fee Flutterwave charges to transfer an amount, per currency.

transfer rates1
  • Get transfer rateSource

    FX rate and source amount needed to send an amount in another currency.

transfer retries1
  • List transfer retriesSource

    Retry attempts of a failed transfer, with status and message. Read only.

transfers4
  • Send a payoutDestinationProvider duplicate protectionApproval before production

    Pays a bank account or mobile money wallet from your Flutterwave balance. Moves money: it runs only when you enable it on your own connection, under any approval rules and limits you set.

  • Get transferSource

    Read one transfer by ID.

  • List transfersSource

    Payouts and transfers with status and fee. Read only.

  • Find transfer by referenceSource

    Find a payout by the reference it was sent with and read its current status and fee. Use it to settle a payout whose outcome is uncertain before doing anything else.

virtual accounts2
  • Create virtual account for a paymentDestinationNot retried automaticallyApproval before production

    Create a dynamic (temporary) virtual account number for one amount, for example an invoice. No money moves until the customer transfers into it.

  • Get virtual accountSource

    Read a virtual account number by its order reference.

wallet reversals1
  • List payout subaccount reversalsSource

    Refunds and reversals out of payout subaccount wallets. Read only.

wallet statement1
  • List wallet statementSource

    Credits and debits on your wallet for a currency and date range, with running balances.

Access and limits

Authentication
Flutterwave v3 secret key
Plans and access
A Flutterwave business account with v3 API keys. Transfers, subaccounts and virtual accounts depend on the products enabled for the business and its country.
Test environment
Use test-mode secret keys (FLWSECK_TEST-...) with the same API host.
Rate limits
Flutterwave does not publish fixed limits for these endpoints. HTTP 429 and Retry-After are honoured with bounded retries.
Pagination
Page numbers from 1; meta.page_info.total_pages ends paging.
Provider events
Flutterwave sends charge.completed, transfer.completed (for successful and failed payouts) and subscription events to the webhook URL set in the dashboard, with your secret hash in the verif-hash header. Flows can start the moment something happens: when a payment is completed; when a payout succeeds or fails.

Before you build a flow

  • Pinned to the documented v3 API; v4 OAuth contracts are separate.
  • Money movement is customer-governed: payouts (Send a payout) and refunds (Refund a payment) run once you enable them on your own connection, with any approval rules and limits you set. Payments asked for by an AI wait for a person to approve them.
  • Payouts are keyed by your payout reference, which Flutterwave also refuses to repeat. Nexra looks the reference up before sending and again after an uncertain outcome; a payout it still cannot see is held for a person and never resent. Refunds have no Flutterwave reference, so an uncertain refund is held the same way.
  • Bulk transfers are not sent as one batch: a batch would escape the per-payment, per-recipient and daily limits and the one-payment-per-reference check. A flow pays a list by sending one governed payout per record; batches made on the dashboard are read with Get bulk transfer items.
  • Intentional exclusions: every charge type and charge validation, tokenized and bulk charges, pre-auth capture, void and refund, bulk transfer creation and transfer retries (a retry is a new payout with a new reference), beneficiary create and delete, payment plan cancellation, subscription activation and cancellation, subaccount and payout-subaccount changes, static (BVN or NIN) virtual accounts, bulk virtual accounts and BVN updates, bill payments, FX trades, OTPs and BVN lookups.
  • Flutterwave documents no idempotency key for payment links, payment plans or virtual accounts, so uncertain creates are never repeated.
  • Customer names, emails, phone numbers, IP addresses, card BIN, expiry and tokens, and recipient account numbers are not mapped.
  • Read-only additions: chargeback by reference, bulk-transfer items, transfer retries, transfer rates and fees, payout subaccounts and their balances, wallet reversals, bill payment history and status, bill categories, billers, items, agencies and agency products, bulk tokenized charges, bulk virtual accounts and FX trade status. Creating bill payments, bulk bills, trades and quotes, payout subaccounts, transfer retries and wallet refunds, accepting or declining chargebacks, uploading proof, resending webhooks, validating bill customers (takes a phone or meter number) and resolving card BINs or account names are intentional exclusions.
  • Bill payments omit customer IDs (phone, meter or smartcard numbers) and prepaid tokens; bulk charges omit card BIN, expiry, token, IP and customer details; payout subaccounts omit account name, email, phone and NUBAN; trades omit recipient names.
  • Flutterwave v3 has no webhook-endpoint, customer, merchant, store or terminal API, and no API to list payment methods beyond banks and mobile networks per country.

Developer reference

  1. Create the Flutterwave credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Flutterwave, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/flutterwave and the Connections API.