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 decimalsbeneficiary.document.type namebeneficiary.document.id format
ZAZAR2South African Identity Card13 digits with full validation

Mandatory parameters

Bank transfers

Bank transfer parametersB2CB2BP2P
external_idYesYesYes
payment_method_idYesYesYes
flow_typeYesYesYes
purposeYesYesYes
countryYesYesYes
amountYesYesYes
currencyYesYesYes
beneficiary.first_nameYes-Yes
beneficiary.last_nameYes-Yes
beneficiary.business_name-Yes-
beneficiary.bank_account.codeYesYesYes
beneficiary.bank_account.accountYesYesYes
beneficiary.bank_account.typeYesYesYes
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 parameterDescription
external_idPayout identification at the merchant's end. Maximum 100 characters.
payment_method_idPayment method identifier. For bank transfers, use BANK_TRANSFER.
flow_typePayout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), or P2P (Person to Person).
purposePayout purpose code. See purpose codes reference.
countryCountry code. For South Africa, use ZA.
amountPayout amount. Use up to 2 decimal places.
currencySource currency of the FX operation. For South Africa, use ZAR or USD. Payouts are always paid in local currency to the beneficiary.
beneficiary.first_nameBeneficiary's first name. Maximum 10 characters.
beneficiary.last_nameBeneficiary's last name. Maximum 50 characters.
beneficiary.business_nameBeneficiary's business name. Mandatory only for B2B.
beneficiary.bank_account.codeBeneficiary's bank account code. See bank codes below.
beneficiary.bank_account.accountBeneficiary's bank account number. Maximum 13 digits.
beneficiary.bank_account.typeBeneficiary's bank account type. Account type:
CHECKING: Checking accounts
SAVINGS: Savings accounts
beneficiary.phonePhone number. Should be sent with country code +27 and 9 digits. Ex: +27792769943. Mandatory only for remittance (P2P).
remitter.first_nameRemitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P).
remitter.last_nameRemitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P).
remitter.document.idRemitter's identification number. Maximum 45 characters. Mandatory only for remittance (P2P).
remitter.birth_info.dateRemitter's date of birth in ISO 8601 format (YYYY-MM-DD). Mandatory only for remittance (P2P).
remitter.nationalityRemitter's nationality. ISO 3166-1 alpha-2 code. Mandatory only for remittance (P2P).
remitter.address.streetRemitter's street address. Maximum 200 characters. Mandatory only for remittance (P2P).
remitter.address.cityRemitter's city. Maximum 40 characters. Mandatory only for remittance (P2P).
remitter.address.countryRemitter'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 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
VBS Mutual Bank24