# Ozow Hub > Developer documentation for integrating Ozow payments, payment links, hosted and embedded checkout, the One API, Payouts API, ecommerce plugins and subscriptions. Every page on this site is also published as raw Markdown at the same URL with `.md` appended. `/llms-full.txt` is the whole site as one document. **Building an integration?** Start from a build package under `Build packages` below rather than from this index. Each is one task: the pages to implement against, the background they need, and the API operations they use. ## Build packages - [Take a payment](https://hub.ozow.com/bundles/take-a-payment.md): Everything 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. - [Embed checkout in your own page](https://hub.ozow.com/bundles/embed-checkout-in-your-page.md): Everything 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. - [Take a recurring payment](https://hub.ozow.com/bundles/take-a-recurring-payment.md): Everything 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. - [Refund a payment](https://hub.ozow.com/bundles/refund-a-payment.md): Everything needed to refund a completed payment through One API, in full or in part, and to handle the statuses a refund moves through. - [Send a payout](https://hub.ozow.com/bundles/send-a-payout.md): Everything needed to pay money out to a customer's bank account or voucher with the Payouts API, including how to exercise the failure paths before going live. - [Reconcile a settlement](https://hub.ozow.com/bundles/reconcile-a-settlement.md): Everything needed to match the money Ozow pays into your bank account against the payments you collected, line item by line item, including the fees that make the two differ. - [Migrate a payin from the Payments API to One API](https://hub.ozow.com/bundles/migrate-a-payin-to-one-api.md): Everything needed to move an existing Hosted Checkout payin onto One API, with the deprecated guide and its One API counterpart side by side. - [Migrate refunds from the Payments API to One API](https://hub.ozow.com/bundles/migrate-refunds-to-one-api.md): Everything needed to move an existing refunds integration onto One API, with the deprecated guide and its One API counterpart side by side. ## Overview - [Integrate Ozow payments](https://hub.ozow.com/index.md): Integration guides, API reference and working code for accepting payments, issuing refunds and sending payouts in South Africa. ## Get started - [How Ozow works](https://hub.ozow.com/getting-started.md): How Ozow connects you to South African banks and payment methods, and the two directions money moves: money in from customers, money out to recipients. - [Prerequisites and onboarding](https://hub.ozow.com/getting-started/prerequisites-and-onboarding.md): What to have in place before you write any code: a merchant account, Dashboard access, your credentials, and payout eligibility if you need it. - [How to integrate with Ozow](https://hub.ozow.com/getting-started/overview-how-to-choose.md): Choose how to integrate with Ozow: no code, a plugin, or building against our APIs. - [Quick start: accept your first payment](https://hub.ozow.com/getting-started/quick-start.md): Accept your first Ozow payment with One API. Get a token, create a payment request, redirect the customer, and read the webhook that confirms it. - [Building a secure integration](https://hub.ozow.com/getting-started/building-a-secure-integration.md): Where Ozow's security responsibility ends and yours begins: credentials, webhook endpoints, verifying notifications, and validating amounts. ## Payment methods - [What you can do with Ozow](https://hub.ozow.com/payment-methods.md): The payment methods Ozow offers and how each one works. - [Brand assets](https://hub.ozow.com/payment-methods/brand-assets.md): Logos and button artwork for the Ozow payment methods, and the rules for using them. - [Pay by Bank](https://hub.ozow.com/payment-methods/money-in/pay-by-bank.md): Your customer pays directly from their bank account, authorising the payment with their bank. - [Capitec Pay](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/capitec-pay.md): Capitec clients approve the payment in their Capitec banking app using only their mobile number. - [Absa Pay](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/absa-pay.md): Absa customers approve the payment in their Absa banking app using only their account number. - [Nedbank Direct EFT](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/nedbank-direct-eft.md): Nedbank customers authorise the payment directly with Nedbank using their SA ID number. - [FNB/RMB Payment Request](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/fnb-rmb-payment-request.md): FNB and RMB customers approve the payment in their banking app using their account number. - [Standard Bank](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/standard-bank.md): Standard Bank customers sign in on Ozow's secure payment page and approve the payment in their banking app. - [Investec](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/investec.md): Investec customers sign in on Ozow's secure payment page, choose an account and approve the payment in their banking app. - [Bidvest Bank](https://hub.ozow.com/payment-methods/money-in/pay-by-bank/bidvest-bank.md): Bidvest Bank customers sign in on Ozow's secure payment page, choose an account and approve the payment in their banking app. - [Card](https://hub.ozow.com/payment-methods/money-in/card.md): Your customer pays with a Visa or Mastercard debit or credit card. - [Apple Pay](https://hub.ozow.com/payment-methods/money-in/card/apple-pay.md): Your customer pays with a card saved in Apple Wallet, confirmed with Face ID, Touch ID or their device passcode. - [Google Pay](https://hub.ozow.com/payment-methods/money-in/card/google-pay.md): Your customer pays with a card saved in Google Wallet, confirmed with a fingerprint, screen lock or device passcode. - [PayShap Request](https://hub.ozow.com/payment-methods/money-in/payshap-request.md): Your customer approves a real-time payment request in their banking app using their mobile number or account number. - [Crypto](https://hub.ozow.com/payment-methods/money-in/crypto.md): Your customer pays from a supported crypto wallet, while you're paid in rand. - [Voucher](https://hub.ozow.com/payment-methods/money-in/voucher.md): Your customer pays with a 1Voucher bought for cash at a retailer, with no bank account or card needed. - [Buy Now, Pay Later](https://hub.ozow.com/payment-methods/money-in/buy-now-pay-later.md): Your customer splits their purchase into instalments with Happy Pay, while you're paid the full amount. - [Float top-up guide](https://hub.ozow.com/payment-methods/settlements-and-float/float-top-up.md): Payouts and refunds are funded from your float balance. Set up your static top-up reference once, then load funds whenever your float runs low. - [Payout to bank](https://hub.ozow.com/payment-methods/money-out/payout-to-bank.md): Paying money out from your Ozow float to a bank account. - [Payout to voucher](https://hub.ozow.com/payment-methods/money-out/payout-to-voucher.md): Paying money out from your Ozow float as a voucher. - [Recurring payments](https://hub.ozow.com/payment-methods/recurring-payments.md): Charge a customer repeatedly after a single authorisation. - [Capitec Pay Variable Recurring Payments](https://hub.ozow.com/payment-methods/recurring-payments/capitec-pay-vrp.md): Recurring payments on Capitec accounts, the one method available today. - [Settlements](https://hub.ozow.com/payment-methods/settlements-and-float/settlements.md): How Ozow pays what you have collected into your bank account: what a settlement contains, when it arrives, how to track it, and how it meets your float. - [Refunds](https://hub.ozow.com/payment-methods/refunds.md): Returning money to a customer through Ozow. ## No code and plugins - [Payment requests](https://hub.ozow.com/integration-methods/no-code/payment-requests.md): Create and send Ozow payment requests from the Dashboard, no code required. - [Refunds](https://hub.ozow.com/integration-methods/no-code/refunds.md): Issue full or partial refunds from the Ozow Dashboard, no code required. - [Bulk payouts](https://hub.ozow.com/integration-methods/no-code/bulk-payouts.md): Upload a batch of payouts from the Ozow Dashboard using a file upload. - [Plugins and platforms](https://hub.ozow.com/integration-methods/plugins-and-platforms.md): Install an Ozow plugin for your existing ecommerce or billing platform, no custom development required. - [Shopify](https://hub.ozow.com/integration-methods/plugins-and-platforms/shopify.md): Accept Ozow payments on Shopify. The integration is set up from your Ozow Dashboard, with no plugin to download. - [WooCommerce](https://hub.ozow.com/integration-methods/plugins-and-platforms/woocommerce.md): Accept Ozow payments on WooCommerce with the standard payment gateway plugin, plus plugins for Capitec Pay, Voucher and Buy Now Pay Later. - [Magento](https://hub.ozow.com/integration-methods/plugins-and-platforms/magento.md): Accept Ozow payments on Magento 2.4.x with the standard payment gateway module, plus modules for Capitec Pay, Voucher and Buy Now Pay Later. - [OpenCart](https://hub.ozow.com/integration-methods/plugins-and-platforms/opencart.md): Accept Ozow payments on OpenCart 4.x with the Ozow payment module. - [PrestaShop](https://hub.ozow.com/integration-methods/plugins-and-platforms/prestashop.md): Accept Ozow payments on PrestaShop with the Ozow module, for PrestaShop 1.7.x, 8.0.x and 8.1.x. - [nopCommerce](https://hub.ozow.com/integration-methods/plugins-and-platforms/nopcommerce.md): Accept Ozow payments on nopCommerce 4.x with the Ozow payment gateway plugin. - [Drupal](https://hub.ozow.com/integration-methods/plugins-and-platforms/drupal.md): Accept Ozow payments on Drupal Commerce with the Ozow module, for Drupal 10 and 11 running Commerce 2 or 3. - [VirtueMart](https://hub.ozow.com/integration-methods/plugins-and-platforms/virtuemart.md): Accept Ozow payments on VirtueMart 4 running under Joomla 4.x or 5.x, with the Ozow module for the Joomla shopping cart. - [WHMCS](https://hub.ozow.com/integration-methods/plugins-and-platforms/whmcs.md): Accept Ozow payments on WHMCS 8.0 and higher with the Ozow payment gateway module. - [Xero](https://hub.ozow.com/integration-methods/plugins-and-platforms/xero.md): Reconcile your Ozow payments against your Xero accounting records. Set the integration up from your Ozow Dashboard, with no plugin to download. ## Build with APIs - [Choosing a checkout experience](https://hub.ozow.com/integration-methods/apis/money-in.md): Where your customer pays decides how much you build and whether you take on PCI DSS scope. Compare redirect, embedded and server to server. - [Hosted Checkout](https://hub.ozow.com/integration-methods/apis/money-in/hosted-checkout.md): Take payments on Ozow's Hosted Checkout with One API. Create a payment request, redirect the customer to it, and confirm the result from the webhook. - [Embedded iframe](https://hub.ozow.com/integration-methods/apis/money-in/embedded-iframe.md): Load the Ozow payment page inside a container on your own checkout with the Ozow SDK, so your customer never leaves your site. - [Embedded modal](https://hub.ozow.com/integration-methods/apis/money-in/embedded-modal.md): Open the Ozow payment page as an overlay on your own checkout with the Ozow SDK, so your customer pays without leaving the page. - [Embedded wallet](https://hub.ozow.com/integration-methods/apis/money-in/embedded-wallet.md): Offer Apple Pay, Google Pay and cards on your own checkout through a secure Ozow iframe, so card data never touches your page. Approved merchants only. - [Server to server payments](https://hub.ozow.com/integration-methods/apis/money-in/server-to-server.md): Capture payment details on your own checkout, submit them to Ozow from your backend, and drive the rest of the transaction over a WebSocket. Not yet available for merchant integrations. - [Payment method identifiers](https://hub.ozow.com/integration-methods/apis/money-in/payment-method-ids.md): The UUID for each payment method Ozow supports, for the fields that take one. - [Customer Identity Verification](https://hub.ozow.com/integration-methods/apis/money-in/identity-verification.md): A mandatory compliance step on certain Ozow payment methods, which require a customer's identity to be verified before they can complete a payment. - [Bank API onboarding and compliance](https://hub.ozow.com/integration-methods/apis/money-in/bank-api-compliance.md): What you must have in place to use Capitec Pay, Absa Pay, Nedbank Direct EFT and PayShap Request, from eligibility through whitelisting to your ongoing obligations. - [Verify a webhook signature](https://hub.ozow.com/integration-methods/apis/money-in/verify-a-webhook.md): The signature on a One API webhook, the five steps that check it, and a working implementation in four languages. - [Transaction and settlement statuses](https://hub.ozow.com/integration-methods/statuses.md): Every payin, payout, refund and settlement status, which are final, and what to do about each. - [Send a payout](https://hub.ozow.com/integration-methods/apis/money-out/send-a-payout.md): Transfer funds to a recipient's bank account with the Payouts API. There is no customer-facing step, so the whole integration lives in your backend. - [Recurring payments](https://hub.ozow.com/integration-methods/apis/money-in/set-up-recurring-payments.md): Collect repeat payments with One API. One consent the customer approves, then merchant-initiated collections that need no further customer action. - [Refund a payment](https://hub.ozow.com/integration-methods/apis/payment-operations/refund-a-payment.md): Issue a refund with One API. Refunds are merchant-initiated backend operations with no customer-facing step, so the whole flow is in your backend. - [Reconcile settlements](https://hub.ozow.com/integration-methods/apis/payment-operations/reconcile-settlements.md): Pull settlement data from One API and tie it back to the deposits in your bank account and the records in your own system, line item by line item. - [Money in test cases](https://hub.ozow.com/integration-methods/apis/money-in/test-cases.md): The payments to run before you go live with Ozow, what each one delivers, and a handler that survives all of them. - [Money out test cases](https://hub.ozow.com/integration-methods/apis/money-out/test-cases.md): The mandatory tests for a payout integration, for bulk payouts from the Dashboard and for the Payouts API. You must pass these before going live. - [Migrating to One API](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/migrating-to-one-api.md): Map a redirect payin and refunds integration from the Payments API to One API: what changes, what does not, and the order to make the changes in. - [Hosted Checkout](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/hosted-checkout.md): Take payments on Ozow's Hosted Checkout with the Payments API, the deprecated path. Post the payment, redirect the customer, and handle the notification response. - [Hash calculator](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/hash-calculator.md): Work out the hashCheck a request carries, and see the exact string it is computed from. - [Refund a payment](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/refund-a-payment.md): Issue a refund on the Payments API, the deprecated path. Refunds are merchant-initiated backend operations, funded from your float balance. - [Reconcile settlements](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/reconcile-settlements.md): Pull settlement data from the Payments API, the deprecated path, and tie it back to the deposits in your bank account and the orders in your own system. - [Payin test cases](https://hub.ozow.com/integration-methods/apis/deprecated-integrations/payin-test-cases-payments-api.md): The payments to run before you go live on the Payments API, what each one delivers, and a notification handler that survives all of them. ## API reference - [Using the Ozow APIs](https://hub.ozow.com/api-reference.md): Endpoints, parameters and schemas for the Ozow APIs. - [One API](https://hub.ozow.com/api-reference/one-api.md): Every operation in One API, each linking to its own reference. - [Payments API](https://hub.ozow.com/api-reference/payments-api.md): Every operation in Payments API, each linking to its own reference. - [Payouts API](https://hub.ozow.com/api-reference/payouts-api.md): Every operation in Payouts API, each linking to its own reference. ## Specifications - [One API v1.0](https://hub.ozow.com/api-reference/specs/one-api.yaml): The OpenAPI document every One API reference page is generated from. - [Payments API v1.0](https://hub.ozow.com/api-reference/specs/payments-api.yaml): The OpenAPI document every Payments API reference page is generated from. - [Payouts API v1.0](https://hub.ozow.com/api-reference/specs/payouts-api.yaml): The OpenAPI document every Payouts API reference page is generated from. - [One API WebSocket v1.0.0](https://hub.ozow.com/api-reference/specs/one-api-websocket.yaml): The AsyncAPI document describing the One API WebSocket channels and messages. ## When something is rejected - [Payments API errors](https://hub.ozow.com/errors/payments-api.md): Every rejection Payments API returns, what was checked, and what to do about it. - [Payouts API errors](https://hub.ozow.com/errors/payouts-api.md): Every rejection Payouts API returns, what was checked, and what to do about it. - [One API errors](https://hub.ozow.com/errors/one-api.md): Every rejection One API returns, what was checked, and what to do about it.