Cash Pick Up
Learn how to send money for your customers to pick up at an authorized location.
Getting Started
We recommend checking out the introductory section to understand the basics of making transfers first.
You can initiate a transfer for a customer to walk into a bank and collect it. We call these cash pick-up transfers.
USD cash pickup is a method where users physically receive cash from a bank branch or a convenient pickup location.
You can read here for a detailed explanation of how to initiate these transfers from your dashboard.
Prerequisites
Before starting your integration, you should
- Ensure that your Flutterwave account is live.
- Check that your users are in Nigeria. This method supports payouts to FCMB, Fidelity, Polaris, UBA, and Zenith bank.
- Ensure you instruct your users about how to collect cash. Cash collection is subject to Central Bank of Nigeria (CBN) directives.
Approval Required
You need approval to use this feature. Contact us at [email protected] to request permission on your account.
Making Transfers
Cash pick-up transfers work similarly to regular transfers. It makes use of the create transfer endpoint with some differences:
Transfer Type Flag
When initiating a cash pickup transfer, You'll need to set is_cash_pickup
as true in your request
{
"account_bank": "214",
...
"meta": [
{
"is_cash_pickup": true,
...
}
]
}
Transfer Recipient's Details
To make the transfer, You'll need to include the customer's information in your transfer request. These details include mobile_number
, email
, beneficiary_country
, beneficiary_occupation
and recipient_address
.
{
"account_bank": "214",
...
"meta": [
{
"mobile_number": "2348000000000",
"email": "[email protected]",
"beneficiary_country": "NG",
"recipient_address": "19, Olubunmi Rotimi street, Lekki",
...
}
]
}
Sender's Details
Additional Requirements
For transfers to UBA, Zenith or Polaris banks, only
sender_address
is required. We requiresender_city
for transfers to Fidelity bank. All other information described in this section are required for transfers to FCMB users.
The sender's details required for cash pick-up transfers include sender
, sender_country
, sender_id_number
, sender_id_type
, sender_id_expiry
, sender_mobile_number
,
sender_address
, sender_occupation
and sender_beneficiary_relationship
.
{
"account_bank": "214",
...
"meta": [
{
...
"sender": "Flutterwave Developers",
"sender_country": "NG",
"sender_id_number": "00000000000",
"sender_id_type": "drivers license",
"sender_id_expiry": "05-2023",
"sender_mobile_number": "2348000000000",
"sender_address": "35a, Ladi Alakija Avenue, Lekki",
"sender_beneficiary_relationship": "Customer"
}
]
}
Putting it All Together
The final request should look like this
{
"account_bank": "214",
"amount": 200,
"currency": "USD",
"narration": "Sample money transfer",
"reference": "TRF-1505927099809",
"beneficiary_name": "Tobi Jones",
"meta": [
{
"is_cash_pickup": true,
"mobile_number": "2348000000000",
"email": "[email protected]",
"beneficiary_country": "NG",
"recipient_address": "19, Olubunmi Rotimi street, Lekki",
"sender": "Flutterwave Developers",
"sender_country": "NG",
"sender_id_number": "00000000000",
"sender_id_type": "drivers license",
"sender_id_expiry": "05-2023",
"sender_mobile_number": "2348000000000",
"sender_address": "35a, Ladi Alakija Avenue, Lekki",
"sender_beneficiary_relationship": "Customer"
}
]
}
{
"account_bank": "057",
"amount": 200,
"currency": "USD",
"narration": "Sample money transfer",
"reference": "TRF-1532099j865",
"beneficiary_name": "Tobi Jones",
"meta": [
{
"email": "[email protected]",
"mobile_number": "08009384921",
"recipient_address": "19, Olubunmi Rotimi street, Lekki",
"sender_address": "35a Ladi Alakija Avenue lekki",
"beneficiary_country": "NG",
"is_cash_pickup": true
}
]
}
{
"account_bank": "070",
"amount": 200,
"currency": "USD",
"narration": "Sample money transfer",
"reference": "TRF-1532099j865",
"beneficiary_name": "Tobi Jones",
"meta": [
{
"email": "[email protected]",
"mobile_number": "08009384921",
"recipient_address": "19, Olubunmi Rotimi street, Lekki",
"sender_address": "35a Ladi Alakija Avenue lekki",
"sender_city": "Lagos",
"beneficiary_country": "NG",
"is_cash_pickup": true
}
]
}
The response should look like this:
{
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 363110,
"account_number": "0000000000",
"bank_code": "057",
"full_name": "Tobi Jones",
"created_at": "2022-09-07T19:08:49.000Z",
"currency": "USD",
"amount": 200,
"fee": 2,
"status": "NEW",
"reference": "TRF-153902198_PMCKDU_1",
"meta": [
{
"EmailAddress": "[email protected]",
"MobileNumber": "08009384921",
"Address": "8, mumbai street",
"SenderAddress": "35a Ladi Alakija Avenue lekki1",
"BeneficiaryCountry": "NG",
"IsCashPickup": true,
"MerchantName": "Flutterwave Developers",
"SenderCountry": "NG",
"SenderMobileNumber": "0800000000",
"AccountNumber": "0000000000",
"RoutingNumber": "057",
"Sender": "Flutterwave Developers"
}
],
"narration": "money transfer",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "FA-BANK"
}
}
{
"status": "error",
"message": "Provided pickup bank not valid for cash pickup at the moment.",
"data": null
}
Integration Tip
We cover the required parameters in more detail here . If you need any support understanding or using this feature, please send us an email.
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.
Updated about 1 month ago