Skip to main content
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. 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. 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 with the payoutOrderId or batch id from the Business ID column.