> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Payout Wallet & Coverage

> The fourth Waffo account: what the Payout Wallet holds, how funds enter and leave it, how failed and reversed payouts return to your settlement account, how to read its separate Account History, and where to check which payout corridors you are contracted for.

Three of the four Waffo balances relate to collecting money. Paying money out uses a fourth account
with its own ledger. This page covers that account and where to look up what you are contracted to
pay out. For creating and tracking a payout, see the Payout FAQ.

## What is the Payout Wallet, and how is it different from my settlement account?

It holds money that has left your settlement account but has not yet reached the payee. The Portal
labels that balance **In Transit**.

| Account | Portal menu | What it holds | Withdrawable? |
| - | - | - | - |
| Pending settlement | Settlement Account | Successful transactions not yet settled | No |
| Settlement account | Settlement Account | Settled funds, per settlement currency | Yes |
| Reserve | Reserve Account | Amounts withheld under your contract | No |
| **Payout Wallet** | **Payout Wallet** | Funds committed to payouts still in flight | **No** |

The wallet carries no withdraw action and is not a withdrawal source — withdrawals come from the
settlement account only. It exists so in-flight payout money stays visible instead of just vanishing
from your settlement balance.

## Where does the money in the wallet come from?

From your **settlement account** under the same signing entity, moved at the moment a payout is
**submitted** — not when it completes. Two consequences:

* **The currency is the agreement's payer currency**, not what the payee receives. A cross-currency
  payout is converted into the payer currency first, so the wallet and its history are denominated in
  the funding side of the **Currency Pair** shown on the Service → Payout page.
* **The amount includes the payout fee** — funding amount = converted payout amount + that order's
  fee. This is why a wallet row rarely equals the payout amount exactly.

If the settlement balance in the funding currency does not cover it, a single payout is rejected at
creation with a balance-not-sufficient business error rather than queued.

## What does the Payout Wallet page show?

Two tabs: **Payout Wallet**, one card per wallet currency with its **In Transit** balance, and
**Account History**, its ledger. A wallet account only exists once it is needed, so an empty page
means no payout funding has run yet. The page is available to accounts it is enabled for — if you can
see it in the menu, it is yours to use.

Account History here covers the **Payout Wallet only**, separately from the Account History under
Settlement Account: a payout produces rows in both, and neither shows the other's.

Each row carries **Account No**, **Business ID** (the `payoutOrderId` for a single payout, or the
batch id for a batch payout), **Business Type** — always *Payout* on this page — **Direction**
(*Credit* into the wallet, *Debit* out of it), **Amount** signed by direction at 2 decimals,
**Datetime** in UTC+8, and **Description**, which says which leg of the payout the row is.

The date filter defaults to the **last month**, with a free-text **Business ID** search. Export is
capped at a **31-day** range, enforced in the browser and again on the server. The file is
`payout_account_history_{merchant id}_{start}_{end}.csv`, timestamps `YYYYMMDDHHMMSS` in UTC+8, and
it adds two columns the on-screen table omits: **Account Type** and **Balance** (the balance right
after the movement).

## What do the Description values mean?

Rows come in pairs, and the pair tells you which stage the money is at.

| Description | Meaning |
| - | - |
| **Payout Funding In** | Funded from your settlement account into the wallet, at submission |
| **Payout Funding Out** | Released from the wallet towards the payout, at submission |
| **Payout Failed In** | The payout reached a failed final status; funds return to the wallet |
| **Payout Failed Out** | Those funds leave the wallet, back to your settlement account |
| **Payout Reverse In** / **Out** | The equivalent pair for a payout reversed after success |

Both funding rows post together at submission, so a wallet whose payouts have all reached a final
status can legitimately show a zero In Transit balance behind a long history.

## A payout failed. Do I get the fee back too?

The payout amount always comes back. The fee depends on where it failed: if the order never reached
the payout channel, the fee is returned in full; if it reached the channel and then failed, the fee
comes back only when the agreement is marked **Fee Refundable = Yes** — a column on the Service →
Payout page you can check per method before sending. Where it is not refundable, the amount returned
is the funding amount **minus the fee**, and the order's fee status reads as deducted.

## What happens when a successful payout is reversed?

A payout can be returned by the receiving side after it already reached `SUCCESS`. Waffo leaves
`status` as `SUCCESS` and adds a `subStatus` of `FULL_REVERSED` or `PARTIAL_REVERSED`; the reversed
amount is credited back to the account that funded the payout — your settlement account, in the
funding currency. A partial reversal returns only the reversed part, so reconcile against the
reversal amount rather than the original payout amount.

## Which countries, methods and payee types can I pay out to?

There is no global list to work from: coverage is per agreement, and yours is on **Service → Payout**
in the Portal. Each row is one contracted combination, carrying **Country/Region**, **Currency Pair**
(payer → payee currency), **Payment Method Type** and **Payment Method**, **Payment Option**,
**Fees**, **Minimum Amount** and **Maximum Amount** (in the payer currency), **Fee Refundable**,
**Validity Period** (agreement start and end) and **Status**. Filters cover country, method type,
method and status. **Status** is one of **Initial**, **Active**, **Suspended** or **Terminated**, and
only *Active* transacts — a payout rejected as not contracted is usually a non-Active agreement, and
Validity Period tells you whether it has simply lapsed.

Payee type is set per request as `payeeType` = `INDIVIDUAL` or `BUSINESS`. Whether a given method
accepts individuals, companies or both is part of the agreement rather than a column on the page, so
check with support if a method rejects one of the two.

## How do I read Service → Payin, and why are some columns missing?

Same idea per contracted payment method: **Payment Method Country**, **Product**, **Payment Method
Type**, **Payment Method**, **Payment Option**, **Fees**, **User Fee** (fees charged to your end
users), **Settlement cycle**, **Minimum**/**Maximum Amount**, **Order Currency** (the contracted
acquiring currency), **User Currency** (what the payer is charged in), **Refundable**, **Refund
Period**, **Additional Fields For Refunds**, **Status** — plus a direct **Export**.

Some columns are conditional, which is why two accounts see different tables: **User Fee** appears
only if an agreement charges one, and then the Refundable cell also states whether that user fee is
refundable; **Mini Apps Info** only if an agreement has mini-program apps attached; **Order Expiry
Customization** only when it applies to your account; **Fees** and **Settlement cycle** are hidden
for gateway-model accounts.

**Refundable** decodes the same value the API returns as `refundAllowed`: *No*, *Only Full Refund*,
*Full Refund or One-time Partial Refund*, or *Full Refund or Multiple Partial Refunds*. Check it
before building multi-refund logic. Payin statuses add **Onboarding** to the four above; a method
missing from the cashier is usually a non-Active agreement.

***

Wallet history and settlement ledger not tying out?
[Contact support](mailto:support@waffo.com) with the `payoutOrderId` or batch id from the Business ID
column.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.