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 Hosted Checkout payin onto One API, with the deprecated 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.

You can put your own button behind any method in this table, as Choose a checkout experience describes.

Payment method Identifier
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
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
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
FNB Pay 23D34554-5727-4BE9-9276-9DDD20431E2B
African Bank 33A0840B-0CF4-4B8C-86E0-EC6C4BE8C60E
Bidvest Bank Grow E022DFC8-FF4A-4425-A074-C65D07E8F09C
FNB 4816019C-3314-4C80-8B6B-B2CD16DCC4EC
Investec 4B45BE85-B616-4BD1-9027-F8FCF8F9AF7B
Nedbank D3889DF6-CDAC-4861-9D64-2B100FB7ED07
Standard Bank AD7D8DA4-1723-4066-94BB-6662D845E483
Buy Now Pay Later 643C3DCF-9FC3-47BB-A11A-A390B5680E2F
Card 3B1ED354-46E8-465D-9213-8C7A8E5663CE
Crypto 43FDB792-3B88-4D36-A13D-42B7661E9F76
Voucher 42F71BF8-0E09-43D5-A6EB-4F7370CB5B20
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
PayShapPayShap South Africa's rapid payments service, run by the banks. Low-value payments clear in seconds, and the recipient can be identified by a ShapID instead of by an account number.payshap.co.za: FNB 54671146-0753-45b6-8e4c-942da3f4e71e
PayShap: GoTyme Bank 70954355-be11-4d73-8824-55bee95ed4ae
PayShap: ABSA 6d31dd57-9587-4a01-8b04-8b3c0d340f27
PayShap: Bidvest 928e570b-6d56-4096-a5a1-bf7a5ed616b5
PayShap: African Bank 015fb6da-66d8-42bd-bfbf-a4c27ae7fbc8
PayShap: Investec 64016323-ebf4-469b-b3f7-30e7685ac670
PayShap: Standard Bank 54bf408f-0534-4413-98b8-8d9a895c55c3
PayShap: Discovery Bank d23f62ad-6d68-489e-913d-5cd17577a269
PayShap: Nedbank 79463c0d-7c4b-4df6-8634-9c58bc0b3137

Note

Not every identifier is enabled on every account. 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. 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.

PayShap Request

PayShap Request as a standalone button is not available by default. By default, use the individual PayShap banks. If you want a grouped PayShap Request standalone button, contact support@ozow.com or your account manager to enable the grouped button.

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 Hosted Checkout, 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