Skip to main content
POST
Create Payout

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Body

application/json
source
object
required

Required for UNIONPAY method only

destination
UnionPay Card Account · object
required

Payout destination

quoteId
string<uuid>
required

Quote ID

purpose
enum<string>
required

The purpose of the payout. Possible values are

  • self-use
  • household
  • personal-savings
  • family-living-expenses
Available options:
self-use,
buy-goods,
spending,
household,
payroll,
personal-savings,
family-living-expenses,
company-expense
sourceOfFunds
enum<string>
required

The fund source of this payout

  • income
  • household
  • friends-loan
  • company-fund
  • personal-investment
  • personal-savings
  • wages
Available options:
income,
household,
friends-loan,
company-fund,
personal-investment,
personal-savings,
wages
accountId
string<uuid>
required

Account id to payout from

Example:

"6a3176fe-7715-4fe0-a548-034912d7f800"

type
string
default:BANK_ACCOUNT

The type of bank account

accountNumber
string

The account number of the bank account

Example:

123456

routingNumber
string

The routing number of the bank account

Example:

1234

country
string

The country of the bank account

Example:

"US"

bankName
string

The name of the bank where the account is held

Example:

"Bank of America"

bankAddress
string

The address of the bank where the account is held

Example:

"123 Main St, New York, NY 10001, USA"

swiftCode
string

The SWIFT code of the bank where the account is held

Example:

"BOFAUS3N"

accountHolderName
string

The name of the account holder

Example:

"John Doe"

accountHolderAddress
string

The address of the account holder

Example:

"456 Park Ave, New York, NY 10022, USA"

method
enum<string>
Available options:
BANK_SWIFT,
UNIONPAY,
BANK_TRANSFER
remarks
string

The remarks of the payout

idempotencyKey
string<string>

Unique idempotency key for ensuring exactly-once execution of mutating requests.

Example:

"xeev1she5eegh9daiviethahchoo1muW"

xid
string

External identifier, unique across all resources created under this account.

xmetadata
any

Response

Payout Requested

id
string<uuid>

ID of resource

xid
string

External identifier, unique across all resources created under this account.

xmetadata
any
created
string<date-time>
method
enum<string>

Payout method

Available options:
BANK_SWIFT,
UNIONPAY
destination
Bank Account (SWIFT) · object
accountId
string<uuid>

Account id to fund the payout from

Example:

"6a3176fe-7715-4fe0-a548-034912d7f800"

sourceCurrency
string

Currency to send

sourceAmount
number

Amount to send

destinationCurrency
string

Receive currency

Example:

"RMB"

destinationAmount
number

Receive amount

rate
number

Exchange rate

updated
string<date-time>
status
enum<string>

Overall status of the payout:

  • requested: Payout has been requested but not yet processing
  • processing: Payout is being processed (may include AML review)
  • completed: Payout has been successfully completed
  • failed: Payout failed to process
  • cancelled: Payout was cancelled
Available options:
requested,
processing,
completed,
failed,
cancelled
subStatus
string | null

Detailed sub-status providing additional context about the payout state.

Important Sub-Statuses:

  • ORDER_UNDER_AML_REVIEW: The payout is under Anti-Money Laundering (AML) compliance review. When in this state:
    • The payout cannot be cancelled by users or API calls
    • The transaction is held pending manual compliance review
    • Status will remain processing until review is complete
    • After review, it will move to completed or cancelled by the payment gateway

Other sub-statuses may exist for different processing stages.

Example:

"ORDER_UNDER_AML_REVIEW"

cancellationReason
string

Reason for cancellation (only present when status is cancelled)