Ozow Hub
On this page4 sections

Only mandatory for high-risk merchants.

Ozow tells you during onboarding if your business is classified as high-risk. If it isn't, you don't need to implement this. For who must comply and when, see Customer identity verification requirements.

Customer identity verificationCustomer Identity Verification Checking that the payment instrument belongs to the natural person making the payment. Ozow requires it for merchants it has classified as high-risk, on Pay by Bank, Absa Pay, Capitec Pay, Nedbank Direct EFT, FNB Payment Requests and PayShap Request, and can disable those methods where it is not implemented correctly. confirms that the payment instrument belongs to the person making the payment. You verify your customer when they sign up on your platform, then pass their verified South African ID number or foreign passport number to Ozow with every payment request. Ozow uses it to decide which payment methods and banks to show that customer.

How it works

  • Verify the customer at signup: verify your customer's identity when they create an account on your platform, using any trusted third-party KYC provider.
  • Store the verified number: save the verified SA ID or foreign passport number against the customer's account. Customers must not be able to edit it without prompting re-KYC.
  • Pass it with every payment: send the number in the payer.identity object on every payment request.
  • Ozow filters the payment methods: Ozow shows only the payment methods and banks linked to that identity number.

What the customer sees

These payment methods use the identity number: Pay by BankPay by Bank The payer authorises the payment inside their own banking app or online banking, and the funds move from their bank account. No card is involved and no card details are entered. (all banks), Absa PayAbsa Pay Absa's own payment method, which the customer authorises in their Absa banking app. It gets its own button at checkout rather than sitting inside the bank list, and it requires Customer Identity Verification.Absa, Capitec PayCapitec Pay Capitec's own payment method. The payer gives a cellphone, account or ID number rather than card details, and approves the payment in the Capitec app, so no card number and no banking login is ever entered at checkout. It gets its own button rather than sitting inside the bank list, and it requires Customer Identity Verification.Capitec, Nedbank Direct EFTNedbank Direct EFT Nedbank's own payment method. Like the other bank APIs it gets its own button at checkout rather than sitting inside the bank list, and it requires Customer Identity Verification.Nedbank, FNB Payment Requests and PayShap RequestPayShap Request The request side of PayShap. Rather than the payer pushing money, the payee asks for it: the payer receives a request and approves it in their own banking app, and the funds move once they do. Enabled by Ozow on request rather than by default.payshap.co.za.

What you send What the customer sees
A verified ID linked to an account at the bank The bank or method is shown
A verified ID with no linked account at the bank That bank or method isn't shown
No ID Every payment method that needs an ID is hidden

For example, a customer with accounts at FNB and Standard Bank sees Pay by Bank for those two banks. Capitec Pay and Absa Pay aren't shown.

Important

If you leave out payer.identity, the customer can't select any of the methods above. Send it on every payment request, not only the first one.

Integration guide

Add a payer object to your Hosted Checkout payment request.

Create the payment with POST https://one.ozow.com/v1/payments (staging: https://stagingone.ozow.com/v1/payments).

{
  "siteCode": "YOUR_SITE_CODE",
  "amount": { "currency": "ZAR", "value": 100.00 },
  "merchantReference": "ORDER-001",
  "expireAt": "2026-12-31T23:59:59Z",
  "returnUrl": "https://yourstore.com/order-complete",
  "payer": {
    "id": "CUSTOMER-123",
    "name": "PAYER_NAME",
    "identity": {
      "type": "said",
      "country": "ZA",
      "identifier": "0000000000000"
    }
  }
}
Field Type Description
payer.identity.type string said for a South African ID number, or passport for a foreign passport
payer.identity.country string Issuing country as an ISO 3166-1 alpha-2ISO 3166-1 alpha-2 The two-letter country codes published by the International Organization for Standardization, such as ZA for South Africa and GB for the United Kingdom. Always uppercase.Wikipedia code in uppercase, for example ZA
payer.identity.identifier string The verified ID or passport number. A South African ID number has 13 digits.

Next steps

Last updated