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 paramenters

Payment methods

Find all the information about payment methods capabilities.

Bank transfers

Bank information

Find all the bank account validations details you need to make a payout.

Bank codes

Market 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 codecurrency codeamount decimalsdocument_type namedocument_id format
ZAZAR2South African Identity Card13 digits with full validation

Mandatory parameters

Bank transfers

Bank transfer parametersB2CB2BP2P
loginYesYesYes
passYesYesYes
external_idYesYesYes
beneficiary_nameYesYesYes
beneficiary_lastnameYesYesYes
countryYesYesYes
currencyYesYesYes
amountYesYesYes
bank_codeYesYesYes
account_typeYesYesYes
bank_accountYesYesYes
purpose--Yes
phone--Yes
remitter_full_name--Yes
remitter_birth_date--Yes
remitter_nationality--Yes
remitter_document--Yes
remitter_document_type--Yes
remitter_address--Yes
remitter_city--Yes
remitter_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 account validations and 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 parameterDescription
loginAPI authentication credentials. Maximum 32 characters.
passAPI authentication credentials. Maximum 32 characters.
external_idUnique transaction identifier. Maximum 100 characters.
beneficiary_nameFirst name of the beneficiary. Maximum 50 characters.
beneficiary_lastnameLast name of the beneficiary. Maximum 50 characters.
countryCountry code. For South Africa, use ZA.
currencyPayout currency. For South Africa, use ZAR or USD.
amountPayout amount. Use up to 2 decimal places.
bank_codeBank code of the beneficiary's bank. See bank codes below.
account_typeAccount type: C for Checking accounts, S for Savings accounts.
bank_accountBank account number. Maximum 13 digits.
purposeReason for the payout. EPREMT for Remittance (C2C).
phonePhone number. Should be sent with country code +27 and 9 digits. Ex: +27792769943. Mandatory only for remittance (C2C).
remitter_full_nameFull name of the sender. Maximum 50 characters. Mandatory only for remittance (C2C).
remitter_birth_dateRemitter's birthdate. Format: YYYYMMDD. Mandatory only for remittance (C2C).
remitter_nationalityISO 3166-1 alpha-2 code of the sender's nationality. Mandatory only for remittance (C2C).
remitter_documentRemitter's document. Maximum 45 characters. Mandatory only for remittance (C2C).
remitter_document_typeType of identification document: ID for a national identification number, PASS for a passport. Mandatory only for remittance (C2C).
remitter_addressFull address of the sender. Maximum 200 characters. Mandatory only for remittance (C2C).
remitter_cityCity of the sender. Maximum 40 characters. Mandatory only for remittance (C2C).
remitter_countryISO 3166-1 alpha-2 code of the sender. Mandatory only for remittance (C2C).

Example request

{
  "login": "1n234n56",
  "pass": "HolAc123o",
  "external_id": "external123",
  "beneficiary_name": "p00",
  "beneficiary_lastname": "p00",
  "country": "ZA",
  "bank_account": "1234567890123",
  "bank_code": "20",
  "account_type": "C",
  "currency": "ZAR",
  "amount": 1,
  "type": "json",
  "purpose": "EPREMT",
  "remitter_birth_date": "20000311",
  "remitter_address": "Street",
  "remitter_nationality": "CO",
  "remitter_document": "123456789",
  "remitter_document_type": "PASS",
  "remitter_document_issue_date": "20100519",
  "remitter_document_expiry_date": "20180130",
  "remitter_full_name": "David Al",
  "remitter_city": "Zar city",
  "remitter_country": "ZAR"
}

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 NameBank Code
Absa1
Access Bank (South Africa) Ltd13
African Bank2
Al Baraka Bank33
Bank Windhoek19
Bank Zero35
Bidvest Bank Limited / Old Mutual12
BNP Paribas SA27
Capitec Bank Limited3
Capitec Business Bank100
Citibank14
Discovery Bank Ltd4
Finbond Mutual Bank25
Finbond Net126
FirstRand Bank / First National Bank (FNB) / Rand Mutual Bank (RMB)5
Grindrod Bank Limited6
Habib Overseas Bank Ltd28
HBZ Bank Limited21
HSBC Bank23
Investec Bank Limited7
Ithala Bank31
JP Morgan Chase Bank16
Mercantile Bank17
Nedbank Limited8
Nedbank Namibia20
Olympus Mobile22
People’s Bank Ltd29
Sasfin Bank Limited9
South African Postbank SOC Ltd18
Standard Bank Ltd10
Standard Chartered Bank SA30
State Bank of India34
Tyme Bank Limited11
Ubank Ltd15
Unibank Limited32
VBS Mutual Bank24