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

# Payout

* Support payout to over 180 countries in 30+ currencies, including CNY payout in Mainland China.
* You can select your entity as the payer or process payments on behalf of (POBO) your sub-accounts, for more detail: [COBO & POBO](/global-account/v1.6/guide/cobo-pobo)
* You can create [Recipients (Beneficiary)](/global-account/v1.6/guide/recipients-beneficiary) prior to initiating the payout to streamline and expedite the entire payout process.

## Supported Regions and Currencies

* Here are the [Supported Regions and Currencies](/global-account/v1.6/guide/supported-regions-and-currencies)

## Payout status flowchart

```mermaid theme={null}
flowchart TD
    A(("Submit Payout"))
    RTS["Status: READY_TO_SEND<br><small>The payout has been validated and is ready for processing.</small>"]
    PEN["Status: PENDING<br><small>The payout is currently being processed by the system.</small>"]
    APP{"Risk system check, Apporve / Reject?"}
    RFIQ{"Enough information?"}
    RFI["Request for more information"]
    RFIA["Merchant provide more information"]
    REJ["Status: REJECTED<br><small>The payout was rejected due to validation or compliance requirements not being met.</small>"]
    FAI["Status: FAILED<br><small>The payout process encountered an error and could not be completed.</small>"]
    PRO{"Process transaction<br>Pass / Fail?"}
    COM["Status: COMPLETED<br><small>The payout has been successfully processed and funds have been transferred.</small>"]
    CHA{"Recipient side response<br>Abnormal / Completed?"}
    RET(("Refund flow"))
    NRET(("No need to refund"))

    A --> RTS
    RTS --> PEN
    PEN --> RFIQ
    RFIQ -- "NO" ---> RFI
    RFIQ -- "YES" ---> APP
    RFI --> RFIA
    RFIA --> RFIQ    
    REJ --> RET
    FAI --> RET
    APP -- "Rejected"---> REJ
    APP -- "Approved"---> PRO
		PRO -- "Success"---> COM
    PRO -- "Fail"---> FAI
    COM --> CHA
    CHA -- "Completed"---> NRET
    CHA -- "Abnormal"---> FAI
    


    %% Optional styling for clarity
    style PEN fill:#DBEDFB, color:#000000;
    style COM fill:#c8e6c9, color:#000000;
    style REJ fill:#ffcdd2,color:#000000;
    style FAI fill:#ffcdd2,color:#000000;
```

⚠️ Note: The `Completed` status is not the final state, it may still be updated to the `Failed`.

## Payout Time Sequence Diagram

```mermaid theme={null}
sequenceDiagram
    actor Merchant
    participant System
    participant RiskSystem
    participant Recipient

    Merchant->>System: Submit Payout
    System->>System: Status: READY_TO_SEND
    System->>System: Status: PENDING
    System->>RiskSystem: Check for sufficient information
    alt Enough Information?
        RiskSystem-->>System: YES
        System->>RiskSystem: Perform risk check (Approve/Reject?)
        alt Risk Check Outcome
            RiskSystem-->>System: Approved
            System->>Recipient: Process transaction
            alt Transaction Outcome
                Recipient-->>System: Success
                System->>System: Status: COMPLETED
                System->>Recipient: Verify recipient response
                alt Recipient Response
                    Recipient-->>System: Completed
                    System->>System: No need to refund
                else Abnormal
                    Recipient-->>System: Abnormal
                    System->>System: Status: FAILED
                    System->>System: Initiate Refund flow
                end
            else Fail
                Recipient-->>System: Fail
                System->>System: Status: FAILED
                System->>System: Initiate Refund flow
            end
        else Rejected
            RiskSystem-->>System: Rejected
            System->>System: Status: REJECTED
            System->>System: Initiate Refund flow
        end
    else Not Enough Information
        RiskSystem-->>System: NO
        System->>Merchant: Request for more information
        Merchant->>System: Provide more information
        System->>RiskSystem: Re-check information
    end
```

⚠️ Note: The `Completed` status is not the final state, it may still be updated to the `Failed`.

***

## API Doc

| Purpose                                               | API / Webhook                                                         |
| ----------------------------------------------------- | --------------------------------------------------------------------- |
| Create a payout                                       | [Create Payout](/global-account/v1.6/api-reference/create-payout)     |
| Retrieve the latest status and details for one payout | [Retrieve Payout](/global-account/v1.6/api-reference/retrieve-payout) |
| List payouts for history or reconciliation            | [List Payouts](/global-account/v1.6/api-reference/list-payouts)       |
| Receive payout status updates                         | [Payout Status webhook](/global-account/v1.6/webhooks/payout-status)  |

Integration notes:

* Create Payout requires an `x-idempotency-key`; reuse the same key only when retrying the same payout after an uncertain client-side failure.
* For POBO payouts, pass the sub-account `account_id` in the `x-on-behalf-of` header.
* You can create a payout with an existing `beneficiary_id`, or provide full `beneficiary` details in the request. Do not send both in the same request.
* Before creating a payout, use [List Balances](/global-account/v1.6/api-reference/list-balances) or [Retrieve Balance](/global-account/v1.6/api-reference/retrieve-balance) to confirm the source account has enough available balance. After the payout is processed, use [List Balances Transactions](/global-account/v1.6/api-reference/list-balances-transactions) if you need to reconcile the balance movement.
* For cross-currency payouts, create a quote first and pass the returned `quote_id` with the payout request.
