Wallet-to-Wallet Transfers
Learn how to transfer money from one Flutterwave account to another.
Getting Started
We recommend checking out the introductory section to understand the basics of making transfers first.
You can transfer money directly from your available balance to other Flutterwave merchants. We call these wallet-to-wallet transfers.
Making a Wallet-to-Wallet Transfer
Wallet-to-wallet transfers work the same as regular bank account transfers. They make use of the create transfer endpoint, with the key difference being that account_bank
is always "flutterwave"
, while account_number
is the merchant's ID.
Integration Tip
The merchant ID is displayed on the merchant dashboard below the business name at the top left.
const details = {
account_bank: 'flutterwave',
account_number: '99992069',
amount: 500,
currency: 'NGN',
debit_currency: 'NGN',
};
await flw.Transfer.initiate(details);
$details = [
"account_bank" => "flutterwave",
"account_number" => "99992069",
"amount" => 500,
"currency" => "NGN",
"debit_currency" => "NGN"
];
$response = $transferService->singleTransfer($details);
details = {
account_bank: "flutterwave",
account_number: "99992069",
amount: 500,
currency: "NGN",
debit_currency: "NGN"
}
response = transfer.initiate_transfer details
details = {
"account_bank": "flutterwave",
"account_number": "99992069",
"amount": 500,
"currency": "NGN",
"debit_currency": "NGN",
}
response = rave.Transfer.initate(details)
details := rave.SinglePaymentData {
AccountBank: "flutterwave",
AccountNumber: "99992069",
Amount: 500,
Currency: "NGN",
Debit_Currency: "NGN",
}
err, response := transfer.InitiateSingleTransfer(details)
curl --request POST 'https://api.flutterwave.com/v3/transfers' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"account_bank": "flutterwave",
"account_number": "99992069",
"amount": 500,
"currency": "NGN",
"debit_currency": "NGN"
}'
Here is an example response:
{
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 128286,
"account_number": 99992069,
"bank_code": "flutterwave",
"full_name": "FLUTTERWAVE V3 DOCS",
"created_at": "2020-06-29T21:35:15.000Z",
"currency": "NGN",
"debit_currency": "NGN",
"amount": 500,
"fee": 0,
"status": "NEW",
"reference": "wallet-transfer",
"meta": {
"wallet_email": "[email protected]",
"AccountId": 118468,
"merchant_id": "00118468"
},
"narration": "payment for x service provided",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "wallet"
}
}
As always, you'll notice that the data.status
of the transfer is "NEW"
. Remember to set up a webhook or call the get transfer endpoint to find out when the transfer is completed. Learn more about our webhooks here.
Intra-wallet Transfers
The wallet-to-wallet transfer is an excellent way to fund your main balance from a different currency balance and vice-versa. To make an intra-wallet transfer:
- Set your merchant ID to
account_number
. - Specify the
currency
(destination_wallet) and thedebit_currency
(source_wallet).
Tracking Wallet Transfers
Use your wallet history to track debits and corresponding credits across different balances for intra-wallet transfers.
Updated about 1 month ago