Flutterwave
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.
- Ready to connect: doneEvery listed action is built in.
- 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.
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 link
payment_links.createApproval by rule - Create payment plan
payment_plans.createApproval by rule - Get wallet balance
balances.getRead
Example flow
- Flutterwave · Get wallet balance
balances.getDone - Flutterwave · Create payment link
payment_links.createMaker-checker - 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
- Create the Flutterwave credentials described above with the narrowest permissions your flows need.
- 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
- 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.
