Learn how to use Flutterwave account to send money across other accounts.
You can make transfers (also called payouts) individually or in bulk from your Flutterwave available balance. You can transfer to a bank account, a mobile money account, or another Flutterwave account.This document explains a few things you need to know about transfers in general. You should read this first, and then you can view examples for specific types of transfers on their respective pages:
You can transfer money to the following countries with Flutterwave:Nigeria, United States, The United Kingdom, Canada, Ghana, Kenya, Uganda, Tanzania, South Africa, Zambia, Cameroon, Ivory Coast, Sierra Leone, Burkina Faso, Guinea-Bissau, Mali, Senegal, Rwanda, Tunisia, Guinea Conakry and over 30 other Countries.See our support docs for details.
You can make a transfer directly from your dashboard or by using the transfer APIs.Making a transfer via API looks like this. You make a POST request to our create transfer endpoint. The details will vary depending on the type of transfer, but you’ll typically need to specify an amount, currency, account_bank, and account_number.You can also specify:
A narration describing the transfer,
A unique reference code to identify the transfer (if you don’t supply one, we’ll generate one for you).
A meta, for any extra information you want to record about the transfer, for example: "meta": {"quantity": "24", "goods_received_at": "24/02/21"}.
Cross-currency TransfersBy default, we’ll debit your balance matching the transfer currency e.g. for
a 200 GHS transfer, we’ll debit your GHS balance. You can override this by using
the debit_currency field.
Sample Request
Copy
await flw.Transfer.initiate({ account_bank: "044", account_number: "1234567840", amount: 200, currency: "GHS", // destination currency debit_currency: "NGN" // source or wallet to debit for the transfer.});
You can use the transfer rates endpoint to get the current rate we’ll use when converting between currencies.
After making a transfer, the fee you were charged is indicated in the fee field of the response. You can check how much you’ll be charged before making the transfer by using the get transfer fee endpoint. You’ll need to specify the amount, currency, and type of transfer (mobilemoney, barter, or account).
Transfers to other Flutterwave merchants are free.
For example, if you wish to transfer 2700 EUR to a bank account, you’d make this request:
After making a transfer, the destination account details are saved as a new beneficiary. You can then use the beneficiary ID as a shortcut to make a transfer to the same account in the future, allowing you to skip specifying the account details.
You can fetch a destination account’s details before making a transfer. While this isn’t required, it can be helpful to confirm that the details were entered correctly and that the transfer is going to the intended recipient.Verification is supported for Nigerian bank accounts, and Flutterwave merchant IDs. See our guide to bank account verification for details.
IP WhitelistingIn order to conduct a successful integration test, it’s important to ensure that you whitelist the IP addresses of the servers making the transfer API calls
You can find test credentials and mock data for your Integration tests in the testing helpers section.
Before you go live with your integration, be sure to check out our Integration Guide for extra guidelines. If you ever find yourself stuck, don’t hesitate to reach out to our dedicated support team for assistance.