# Payout to bank

> Paying money out from your Ozow float to a bank account.

Source: https://hub.ozow.com/payment-products/payout/payout-to-bank/

Payout to bank sends money from your Ozow float account into someone else's South African bank account.

Unlike a refund, a payout isn't tied to a payment anyone made you. You can pay anyone with a supported
bank account.

Payouts run entirely from your backend or from the Ozow Dashboard. There's no customer-facing step
and nothing for the recipient to do.

> ⚠️ Payouts are not self-service. They need explicit approval from Ozow, mandatory testing in
> staging, and formal sign-off before they're enabled in production. See [Enabling
> payouts](#enabling-payouts).

## How a payout works

1. You submit a payout with the recipient's bank account details and the amount.
2. Ozow confirms the payout is genuinely intended before any money moves, through your verification
   webhook if you're using the API, or an approval if you're uploading from the Dashboard.
3. Ozow submits the payout to the recipient's bank.
4. The funds arrive, immediately if the payout is sent in real time, otherwise within 1-2 business days.
5. Ozow notifies your system of the final status.

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

```mermaid
sequenceDiagram
    participant M as Your system
    participant O as Ozow
    participant R as Recipient bank

    M->>O: Checks payout availability
    M->>O: Sends payout request
    O->>M: Calls your verification webhook
    M-->>O: Confirms the payout
    O->>R: Submits the payout to the bank
    R-->>O: Confirms the outcome
    O-->>M: Notifies your webhook of the final status
```

## Enabling payouts

Payouts move money out of your account, so the process to switch them on is deliberately strict.
There are no exceptions to any of the three steps.

**1. Approval.** Speak to your account manager. Ozow reviews your use case before payouts are enabled.

**2. Staging testing.** You must complete the [payout test
cases](https://hub.ozow.com/integration-methods/testing/payout-test-cases.md) in staging. This is mandatory and
evidence is required.

**3. Sign-off.** Ozow signs off on your staging results before payouts are enabled in production.

You'll also need a **funded float** before any payout will process. See [Float top-up](https://hub.ozow.com/payment-products/settlements-and-float/float-top-up.md).

> ⚠️ **Payments from your customers don't fund your float.** When a customer pays you, that money is
> settled to your bank account. Your float is separate, and you fund it yourself by transferring
> money to Ozow. A busy sales day doesn't give you more capacity to refund or pay out; only a top-up
> does.

> ℹ️ Need a different arrangement? Speak to your account manager if you'd like your incoming
> payments to flow into your float rather than being settled to your bank account. Ozow approves
> these at its discretion based on your use case; approval isn't guaranteed.

## Things to know

**Payouts come from your float, not from your incoming payments.** Money customers pay you gets
settled to your bank account; it doesn't top up your payout balance. If your float is empty, payouts
won't process. Keep it funded ahead of when you need it; topping up takes time to clear.

**Timing depends on how the payout is sent.** Real-time payouts arrive immediately. Standard payouts
take 1-2 business days. You choose per payout.

**Every payout is checked before money moves.** How depends on how you send it. On the API, Ozow
calls back to your system to confirm the payout is legitimate; if your webhook rejects it, or Ozow
can't reach it, the payout fails and nothing moves. From the Dashboard, a second person has to
approve the batch before it's released. Either way the check is deliberate: it's what stops a single
compromised credential or one person's mistake from draining your float. If you're on the API, that
means keeping your webhook reachable and making sure Ozow has the current URL if you ever change it.

**Recipient account details are your responsibility.** Ozow validates what it can, but an account
number that's valid and belongs to the wrong person will still be paid. Verify recipient details
before you submit.

**Payouts can be returned.** If the destination account has closed or can't accept the payment, the
payout comes back and the funds return to your float. You'll see this as a returned status rather
than a failure at submission.

**Never blindly resubmit a failed payout.** Most failures are safe to retry once you've fixed the
cause. An insufficient-balance failure is not: top up your float instead, and the payout processes
automatically. Resubmitting that one risks paying the recipient twice. See [Transaction and
settlement statuses](https://hub.ozow.com/integration-methods/statuses.md) for what each status means and what to
do about it.

**Recipient has no bank account?** See [Payout to voucher](https://hub.ozow.com/payment-products/payout/payout-to-voucher.md).

## Integrating payouts

**Bulk payouts from the Dashboard**: upload a CSV, no development required. Uses a two-role approval
model; Ozow recommends that the person who uploads a batch is different from the person who approves
it. Same approval and staging process as the API. → [Bulk
payouts](https://hub.ozow.com/integration-methods/no-code/bulk-payouts.md)

**Payouts API**: submit payouts from your own system, individually or in volume. Covers the
verification webhook, account number encryption, status notifications and the status check API. →
[Send a payout](https://hub.ozow.com/integration-methods/apis/payout/send-a-payout.md)

**Before you go live**: [Payout test cases](https://hub.ozow.com/integration-methods/testing/payout-test-cases.md)