South Africa
Learn everything you need to know to make payouts in South Africa with dLocal.
Market specifications
Take a look of all the information you need to make a payout.
Country reference Mandatory paramentersBank information
Find all the bank account validations details you need to make a payout.
Bank codesMarket specifications
Do you want to know more information about South Africa's market? Go to the South Africa’s economy and eCommerce market article.
Country reference
country code | currency code | amount decimals | beneficiary.document.type name | beneficiary.document.id format |
|---|---|---|---|---|
ZA | ZAR | 2 | South African Identity Card | 13 digits with full validation |
Mandatory parameters
Bank transfers
| Bank transfer parameters | B2C | B2B | P2P |
|---|---|---|---|
external_id | Yes | Yes | Yes |
payment_method_id | Yes | Yes | Yes |
flow_type | Yes | Yes | Yes |
purpose | Yes | Yes | Yes |
country | Yes | Yes | Yes |
amount | Yes | Yes | Yes |
currency | Yes | Yes | Yes |
beneficiary.first_name | Yes | - | Yes |
beneficiary.last_name | Yes | - | Yes |
beneficiary.business_name | - | Yes | - |
beneficiary.bank_account.code | Yes | Yes | Yes |
beneficiary.bank_account.account | Yes | Yes | Yes |
beneficiary.bank_account.type | Yes | Yes | Yes |
beneficiary.phone | - | - | Yes |
remitter.first_name | - | - | Yes |
remitter.last_name | - | - | Yes |
remitter.document.id | - | - | Yes |
remitter.birth_info.date | - | - | Yes |
remitter.nationality | - | - | Yes |
remitter.address.street | - | - | Yes |
remitter.address.city | - | - | Yes |
remitter.address.country | - | - | Yes |
Payment methods
South Africa supports payouts via Bank transfers. This method requires specific parameters and follows validation rules aligned with local compliance and banking standards.
Bank transfers
Bank transfers in South Africa require detailed account information, including bank code, account type, and bank account number. The format of these fields depends on the receiving bank, and strict validation rules apply.
Refer to the bank codes sections for format specifications.
Mandatory parameters
All fields listed below are required for bank transfer payouts. For successful processing, ensure correct formatting and value types.
| Mandatory parameter | Description |
|---|---|
external_id | Payout identification at the merchant's end. Maximum 100 characters. |
payment_method_id | Payment method identifier. For bank transfers, use BANK_TRANSFER. |
flow_type | Payout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), or P2P (Person to Person). |
purpose | Payout purpose code. See purpose codes reference. |
country | Country code. For South Africa, use ZA. |
amount | Payout amount. Use up to 2 decimal places. |
currency | Source currency of the FX operation. For South Africa, use ZAR or USD. Payouts are always paid in local currency to the beneficiary. |
beneficiary.first_name | Beneficiary's first name. Maximum 10 characters. |
beneficiary.last_name | Beneficiary's last name. Maximum 50 characters. |
beneficiary.business_name | Beneficiary's business name. Mandatory only for B2B. |
beneficiary.bank_account.code | Beneficiary's bank account code. See bank codes below. |
beneficiary.bank_account.account | Beneficiary's bank account number. Maximum 13 digits. |
beneficiary.bank_account.type | Beneficiary's bank account type. Account type:CHECKING: Checking accountsSAVINGS: Savings accounts |
beneficiary.phone | Phone number. Should be sent with country code +27 and 9 digits. Ex: +27792769943. Mandatory only for remittance (P2P). |
remitter.first_name | Remitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.last_name | Remitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P). |
remitter.document.id | Remitter's identification number. Maximum 45 characters. Mandatory only for remittance (P2P). |
remitter.birth_info.date | Remitter's date of birth in ISO 8601 format (YYYY-MM-DD). Mandatory only for remittance (P2P). |
remitter.nationality | Remitter's nationality. ISO 3166-1 alpha-2 code. Mandatory only for remittance (P2P). |
remitter.address.street | Remitter's street address. Maximum 200 characters. Mandatory only for remittance (P2P). |
remitter.address.city | Remitter's city. Maximum 40 characters. Mandatory only for remittance (P2P). |
remitter.address.country | Remitter's country code in ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P). |
Example request
{
"external_id": "external456",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "B2C",
"purpose": "OTHER_SERVICES",
"country": "ZA",
"amount": 100.55,
"currency": "ZAR",
"beneficiary": {
"first_name": "Jane",
"last_name": "Doe",
"bank_account": {
"code": "3",
"account": "1221947972",
"type": "SAVINGS"
}
}
}
{
"external_id": "external123",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "P2P",
"purpose": "REMITTANCES",
"country": "ZA",
"amount": 1,
"currency": "ZAR",
"beneficiary": {
"first_name": "p00",
"last_name": "p00",
"phone": "+27792769943",
"bank_account": {
"code": "3",
"account": "1234567890123",
"type": "CHECKING"
}
},
"remitter": {
"first_name": "David",
"last_name": "Al",
"document": {
"id": "123456789",
"type": "PASS"
},
"birth_info": {
"date": "2000-03-11"
},
"nationality": "CO",
"address": {
"street": "Street",
"city": "Zar city",
"country": "ZA"
}
}
}
Bank information
Access the reference formats and accepted values required for processing bank payouts in South Africa.
Bank codes
These are the values the bank_code parameter can take in South Africa.
| Bank Name | Bank Code |
|---|---|
| Absa | 1 |
| Access Bank (South Africa) Ltd | 13 |
| African Bank | 2 |
| Al Baraka Bank | 33 |
| Bank Windhoek | 19 |
| Bank Zero | 35 |
| Bidvest Bank Limited / Old Mutual | 12 |
| BNP Paribas SA | 27 |
| Capitec Bank Limited | 3 |
| Capitec Business Bank | 100 |
| Citibank | 14 |
| Discovery Bank Ltd | 4 |
| Finbond Mutual Bank | 25 |
| Finbond Net1 | 26 |
| FirstRand Bank / First National Bank (FNB) / Rand Mutual Bank (RMB) | 5 |
| Grindrod Bank Limited | 6 |
| Habib Overseas Bank Ltd | 28 |
| HBZ Bank Limited | 21 |
| HSBC Bank | 23 |
| Investec Bank Limited | 7 |
| Ithala Bank | 31 |
| JP Morgan Chase Bank | 16 |
| Mercantile Bank | 17 |
| Nedbank Limited | 8 |
| Nedbank Namibia | 20 |
| Olympus Mobile | 22 |
| People’s Bank Ltd | 29 |
| Sasfin Bank Limited | 9 |
| South African Postbank SOC Ltd | 18 |
| Standard Bank Ltd | 10 |
| Standard Chartered Bank SA | 30 |
| State Bank of India | 34 |
| Tyme Bank Limited | 11 |
| Ubank Ltd | 15 |
| VBS Mutual Bank | 24 |
Updated about 4 hours ago
