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.
How Transfers Work
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 anamount, currency, account_bank, and account_number.
You can also specify:
- A
narrationdescribing the transfer, - A unique
referencecode 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
Handling the Response
After creating a transfer, you’ll get a response like this:-
data.idis the ID of the transfer. You can use this ID to fetch details about this transfer later. -
data.statusis the status of the transfer.data.complete_messageis a friendly explanation of the status.- For a new transfer, the status is
"NEW". Thecomplete_messageis typically empty. - A status of
"PENDING"means that the transfer is being processed. Thecomplete_messagemight be"Transaction is currently being processed". - When the transfer is completed, the status changes to
SUCCESSFUL. Thecomplete_messagemight be"Transaction was successful". - If the transfer fails, the status changes to
FAILED. Thecomplete_messagewould contain the failure reason, such as"Account resolve failed".
- For a new transfer, the status is
Checking the Status of the Transfer
There are three ways to find out the status of a transfer:- If you have webhooks enabled, we’ll call your webhook URL with the transfer details when the transfer is completed or fails.
-
If you specified a
callback_urlwhen creating the transfer, we’ll call that URL with the transfer details when the transfer is completed or fails.
Sample Request
- You can manually check the current status of the transfer by calling the get transfer endpoint with the transfer ID
Checking the Transfer Fee
After making a transfer, thefee 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.