Ozow Hub
Build with AI 2 packages

A build package is every page for one task, with the API operations they use. Copy the prompt into a coding assistant, or hand it the package itself: slim links to each page, full inlines all of them in one document.

  • Take a paymentEverything needed to take a payment end to end with One API, from credentials through the hosted page to the webhook that confirms it, and the test cases that prove each outcome before you go live.
    View package
  • Migrate a payin from the Payments API to One APIEverything needed to move an existing redirect payin onto One API, with the legacy guide and its One API counterpart side by side.
    View package

Ozow identifies each payment method by a UUIDUUID A 128-bit identifier written as 36 characters, such as 497f6eca-6276-4993-bfeb-53cbbbba6f08. Generated rather than assigned in sequence, so two systems can create identifiers without coordinating.Wikipedia. The same identifier works across the APIs, under different field names: institutionId on One API, SelectedBankId on the Payments API.

Send one to take a customer straight to that method, skipping the screen where they choose. Leave the field out and the customer chooses on the Ozow payment page, which is what most integrations do.

Standalone button marks the ones you can put your own button behind, as Choose a checkout experience describes. The rest identify a bank within 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. rather than a method a customer would recognise as its own button.

Payment method Identifier Standalone button
Absa 3284A0AD-BA78-4838-8C2B-102981286A2B Deprecated
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 8F0B5AD2-2A44-4FF2-B052-D4E1E426587D Yes
African Bank 33A0840B-0CF4-4B8C-86E0-EC6C4BE8C60E Yes
Bidvest Bank Grow E022DFC8-FF4A-4425-A074-C65D07E8F09C Yes
Buy Now Pay Later 643C3DCF-9FC3-47BB-A11A-A390B5680E2F Yes
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 913999FA-3A32-4E3D-82F0-A1DF7E9E4F7B Yes
Card 3B1ED354-46E8-465D-9213-8C7A8E5663CE Yes
Crypto 43FDB792-3B88-4D36-A13D-42B7661E9F76 Yes
FNB 4816019C-3314-4C80-8B6B-B2CD16DCC4EC Yes
FNB Pay 23D34554-5727-4BE9-9276-9DDD20431E2B Yes
GoTyme Bank 28FCC8FA-985B-480B-82FD-7D09BC19C9D0 Deprecated
Investec 4B45BE85-B616-4BD1-9027-F8FCF8F9AF7B Yes
Nedbank D3889DF6-CDAC-4861-9D64-2B100FB7ED07 Yes
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 8FD134F9-4D3F-4F54-9B1F-0AE2E356CF24 Yes
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 EEC08676-46EB-4F80-AF56-CAA5A6623880 Yes
Standard Bank AD7D8DA4-1723-4066-94BB-6662D845E483 Yes
Voucher 42F71BF8-0E09-43D5-A6EB-4F7370CB5B20 Yes

Note

Not every identifier is enabled on every account. Pay by Bank is available by default; Capitec Pay, Buy Now Pay Later, card, crypto and PayShap Request are enabled by Ozow on request. Sending an identifier your account is not enabled for will result in an error.

Where these are used

API Field Where
One API institutionId POST /payments, at the top level of the request
One API details.institutionId POST /payments/{id}/transactions, when paymentType is ozowredirect
One API institutionId Inside a bank account object: a refund's paidTo, a settlementSettlement Ozow paying the money you have collected into your bank account. Payins arrive at Ozow first and are settled to you on a schedule, so what a customer paid you today and what has been settled to you today are different amounts.'s bank, and a redirectRedirect Sending the payer to the Ozow payment page to complete the payment, and returning them to your site afterwards. The alternative is embedding the checkout in your own page, where the payer never leaves it.'s beneficiary and verifiedBankAccount
Payments API SelectedBankId Redirect to Ozow, on the payment request

Important

Field names are case sensitive, and a name that differs by a character is a name the API does not recognise. The rejection does not say which field was wrong, so copy the names from the reference page for the operation you are calling rather than retyping them.

Bank availability changes. Banks go down for infrastructure work and updates, and Ozow notifies you where it can, so treat a bank being reachable as something to handle rather than assume.

Last updated