South Africa 🇿🇦
Send funds to South African bank accounts.
Prerequisites
- Complete your KYC and ensure that your account is approved for transactions.
- Whitelist your server IP addresses to prevent security errors.
- Make sure your balance has enough funds. If needed, use an alternate balance; see the list of supported currencies for ZAR transfers.
Payout Flow
Here are the steps to send money to South African bank accounts.
- Collect the beneficiary's details such as the beneficiary's name, bank, and account number. See the expected data requirements below:
{
"account_bank": "", // merchant_input
"account_number": "", // merchant_input
"amount": 0.0, // merchant_input
"narration": "", // merchant_input
"currency": "", // merchant_input
"meta": {
"first_name": "", // beneficiary_information
"last_name": "", // beneficiary_information
"email": "", // beneficiary_information
"mobile_number": "", // beneficiary_information
"recipient_address": "" // beneficiary_information
}
}
-
Fetch the beneficiary's bank code using the bank and bank branches endpoints to get the
account_bank
. -
Use the transfer endpoint to initiate your transfer with the required data. You can include the
debit_currency
parameter in your request to debit from a different currency balance.
{
"account_bank": "FNB",
"account_number": "0031625807099",
"amount": 500,
"narration": "Withdraw Fiat",
"currency": "ZAR",
"meta": {
"first_name": "James",
"last_name": "Arthur",
"email": "[email protected]",
"mobile_number": "+23457558595",
"recipient_address": "Lavington Nairobi"
}
}
You'll get a response similar to this:
{
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 221064,
"account_number": "0031625807099",
"bank_code": "FNB",
"full_name": "James Arthur",
"created_at": "2023-11-08T14:01:31.000Z",
"currency": "ZAR",
"debit_currency": "ZAR",
"amount": 500,
"fee": 10,
"status": "NEW",
"reference": "e743ed584c954a91",
"meta": [
{
"FirstName": "James",
"LastName": "Arthur",
"EmailAddress": "[email protected]",
"MobileNumber": "+23457558595",
"Address": "Lavington Nairobi",
"MerchantName": "Glory Amuah",
"SenderCountry": "NG",
"SenderAddress": "Lagos",
"SenderMobileNumber": "+2348140244958",
"AccountNumber": "0031625807099",
"RoutingNumber": "FNB",
"Sender": "Glory Amuah"
}
],
"narration": "Withdraw Fiat",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "First National Bank"
}
}
-
Verify your transfer status; there are many ways to do this:
- You can get the transfer status using the transfer status endpoint.
- If
webhooks
are enabled on your dashboard, check them to confirm the transfer status. - For transfers with
callback_id
, we'll send the transfer details with their status using the specified URL.
{
"event": "transfer.completed",
"event.type": "Transfer",
"data": {
"id": 221064,
"account_number": "0031625807099",
"bank_code": "FNB",
"full_name": "James Arthur",
"created_at": "2023-11-08T14:01:31.000Z",
"currency": "ZAR",
"debit_currency": "ZAR",
"amount": 500,
"fee": 10,
"status": "NEW",
"reference": "e743ed584c954a91",
"meta": [
{
"FirstName": "James",
"LastName": "Arthur",
"EmailAddress": "[email protected]",
"MobileNumber": "+23457558595",
"Address": "Lavington Nairobi",
"MerchantName": "Glory Amuah",
"SenderCountry": "NG",
"SenderAddress": "Lagos",
"SenderMobileNumber": "+2348140244958",
"AccountNumber": "0031625807099",
"RoutingNumber": "FNB",
"Sender": "Glory Amuah"
}
],
"narration": "Withdraw Fiat",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "First National Bank"
}
}
{
"status": "success",
"message": "Transfer fetched",
"data": {
"id": 221064,
"account_number": "0031625807099",
"bank_code": "FNB",
"full_name": "James Arthur",
"created_at": "2023-11-08T14:01:31.000Z",
"currency": "ZAR",
"debit_currency": "ZAR",
"amount": 500,
"fee": 10,
"status": "NEW",
"reference": "e743ed584c954a91",
"meta": [
{
"FirstName": "James",
"LastName": "Arthur",
"EmailAddress": "[email protected]",
"MobileNumber": "+23457558595",
"Address": "Lavington Nairobi",
"MerchantName": "Glory Amuah",
"SenderCountry": "NG",
"SenderAddress": "Lagos",
"SenderMobileNumber": "+2348140244958",
"AccountNumber": "0031625807099",
"RoutingNumber": "FNB",
"Sender": "Glory Amuah"
}
],
"narration": "Withdraw Fiat",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "First National Bank"
}
}
Testing Transfers
Check our testing guide for details on testing transfers.
Updated 3 days ago