Ozow Hub
On this page9 sections
Build with AI 6 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.

Filter
  • 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
  • Embed checkout in your own pageEverything needed to keep the customer on your site while they pay, as an iframe, a modal, or the Wallet SDK for Apple Pay and Google Pay, with the notification that actually confirms the payment.
    View package
  • Take a recurring paymentEverything needed to collect from a customer on a schedule with One API, from the consent the customer gives once through to each collection and the webhook that reports it.
    View package

Ozow is a payment infrastructure layer that connects merchants to multiple payment methods and banking rails. Instead of building separate integrations for each bank or payment method, you integrate with Ozow to gain access to the full suite of Ozow payment products.

The two directions of money movement

Every Ozow integration moves money in one of two directions.

Money in: a customer pays you. Also referred to as pay-insPayin A payment made by a consumer to a merchant. The direction most of this site is about: money coming in. Its counterpart is a payout, which sends money out and is not tied to any payment anyone made you. in Ozow hub. The customer initiates the payment, Ozow processes it, and you receive the funds.

Money out: you send funds to a recipient. Also referred to as payoutsPayout Money sent from a merchant to a bank account. Unlike a refund, a payout is not tied to a payment anyone made you, so you can pay anyone with a bank account. Payouts draw on your float rather than on your incoming payments, and they are not self-service: they need approval from Ozow and testing in staging first. in Ozow hub. Your system initiates the transfer, Ozow processes it, and the recipient receives the funds in their bank account.

The distinction runs through everything: different APIs, different credentials, different approval processes, and a different structure in these docs. Choose which direction you need before you start. The Integration methods section is organised around it.

One integration, every way to pay

Payment methods are enabled on your Ozow account, not in your code.

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 enabled by default. Other methods you opt into (card, 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, voucher, buy now pay later, crypto) are enabled upon request by Ozow on your account, and they then appear on the Ozow payment page automatically. You don't build a new integration or call a different endpoint for each one.

This means you can go live with Pay by Bank and add methods later as a commercial decision rather than a development project.

Need a payment method enabled?

Contact support@ozow.com or speak to your account manager to get the process started.

The core payment flows

Money in

The payment request is created by your system, never by the customer's browser. The outcome arrives on your webhookWebhook A URL of yours that Ozow calls when something happens, rather than you polling to find out. The call carries no credential of yours and arrives at a public URL, so authenticate it before acting on it: a hash field on the Payments API, a Svix signature on One API., not in the customer's 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. back to your site; the customer landing on your success page is not proof of payment. See Building a secure integration.

Money out

There is no customer-facing step. The whole flow happens between your backend and Ozow.

Before Ozow moves any money, it calls back to your system to confirm the payout is genuine. If that call fails or can't be reached, the payout does not proceed. That's deliberate, and it's why money out integrations require testing and sign-off before they go live.

Transactions and settlements

A completed transaction is not money in your bank account. These are two separate stages with two separate status vocabularies.

The transaction status tells you whether the customer's payment succeeded. The 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. status tells you whether the money has actually reached you. Settlement happens on a delay that depends on the payment method.

Use transaction status to fulfil orders. Use settlement status to reconcile your bank account. See Transaction and settlement statuses.

Money out and your float

Money leaving Ozow doesn't come out of your incoming payments. It comes from a floatFloat The balance held with Ozow that payouts and refunds are paid out of. Both draw on it, and neither will process while it is empty. Payins do not need one, so if you only take payments you never meet it.: a balance you pre-fund by transferring money to Ozow.

Both payouts and refunds draw on it. If the float is empty, neither will process.

Payments from your customers are settled into your bank account. Your float is funded separately, by you, from your account. A payout that's returned comes back to the float.

Need a different arrangement? If you'd like your incoming payments to flow into your float rather than being settled to your bank account, contact support@ozow.com or reach out to your account manager. Ozow approves these at its discretion based on your use case, and approval isn't guaranteed.

If you only collect payments and never pay anyone out, the float still matters the moment you issue a refund. Top it up before you need it, because clearingClearing Moving funds between two banks so the recipient can rely on them. It is a separate step from a payment being approved: a payment can succeed and the money still be in transit. Real-Time Clearing is the immediate version. takes time. See Float top-up.

Environments

Ozow provides separate staging and production environments. They're completely isolated, and staging credentials are different from your production credentials.

Testing requirements differ by direction. Money in integrations can go straight to production. We recommend working through the Money in test cases, but you don't need to submit anything. Money out integrations require mandatory staging testing and formal sign-off from Ozow before they're enabled in production. Work through the Money out test cases.

Getting your credentials:

  • Production credentials are available to you directly in the Ozow Dashboard. Ozow will never send them to you.
  • Staging credentials are issued on request. Ask your account manager or contact support@ozow.com.

Staging moves real money unless you use Demo Bank.

Your Ozow staging account is separate from production, but the banks behind it are not simulated. Testing with any bank other than Ozow Demo Bank transfers real funds out of the account you sign in with. If real funds have been transferred by mistake, contact support@ozow.com and they will be refunded to you.

Ozow will never share your production credentials with you, and will never ask you for them. If anyone contacts you offering to send production credentials, or asking you to share yours, treat it as fraudulent and report it to support@ozow.com.

Where to go next

How you integrate depends on how much control you want over the payment experience and how much you want to build, from no-code payment requests through to a full API integration.

Head to how to integrate with Ozow to choose the right path.

Last updated