Skip to main content
POST
/
payouts
/
quote
Get Payout Quotation
curl --request POST \
  --url https://access.utgl.io/v1/payouts/quote \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "sourceAmount": 100.12,
  "method": "UNIONPAY",
  "accountId": "6a3176fe-7715-4fe0-a548-034912d7f800",
  "sourceCurrency": "USD",
  "destinationCurrency": "CNY",
  "destinationCountry": "CN",
  "idempotencyKey": "xeev1she5eegh9daiviethahchoo1muW"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "method": "UNIONPAY",
  "sourceAmount": 1000.12,
  "sourceCurrency": "USD",
  "destinationCountry": "US",
  "destinationCurrency": "USD",
  "destinationAmount": 1000.12,
  "rate": 1.123456,
  "createdAt": "2021-01-01T00:00:00.000Z",
  "expiresAt": "2021-01-01T00:00:00.000Z"
}

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

Payout quote request. Specify one of sourceAmount or destinationAmount.

BANK_TRANSFER Method Requirements: When method is BANK_TRANSFER, the following country-currency combinations are supported:

  • HK (Hong Kong): CNH, HKD
  • PH (Philippines): PHP
  • IN (India): INR
  • ID (Indonesia): IDR
  • KR (Korea): KRW

Special Validation for Indonesia (ID) Bank Transfer: When destinationCountry is "ID" and destinationCurrency is "IDR":

  • mobileNumber is required in source information
  • mobileNumber must be in E.164 format (e.g. +85212345678)
  • If sourceAmount is provided: Can have decimal places, but the final destination amount will be rounded to the nearest IDR (round half up)
  • If destinationAmount is provided: Must be an integer (no decimal places allowed)
  • Both sourceAmount and destinationAmount must result in a destination amount greater than or equal to 50,000 IDR

Special Validation for Korea (KR) Bank Transfer: When destinationCountry is "KR" and destinationCurrency is "KRW":

  • mobileNumber is required in destination information
  • mobileNumber must be in E.164 format (e.g. +82123456789)
  • If mobileNumber does not start with "+82", email is required in destination information
  • If destinationAmount is provided: Must be greater than or equal to 5 KRW
  • If sourceAmount is provided: Must result in a destination amount greater than or equal to 5 KRW

The destinationCurrency must match one of the supported currencies for the specified destinationCountry.

sourceAmount
number
required

Amount to send. For Indonesia (ID) bank transfers with IDR currency:

  • Can have decimal places
  • Final destination amount will be rounded to the nearest IDR (round half up)
  • Must result in destination amount >= 50,000 IDR For Korea (KR) bank transfers with KRW currency:
  • Must result in destination amount >= 5 KRW
Example:

100.12

method
enum<string>
required
Available options:
UNIONPAY,
ALIPAY,
BANK_TRANSFER
accountId
string<uuid>
required

Account id to fund the payout from

Example:

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

sourceCurrency
string
required

Currency to send

Example:

"USD"

destinationCurrency
string
required

Currency to payout. For BANK_TRANSFER method, must be one of the supported currencies for the destination country:

  • HK: CNH, HKD
  • PH: PHP
  • IN: INR
  • ID: IDR
  • KR: KRW
Example:

"CNY"

destinationCountry
string
required

Country to payout to. For BANK_TRANSFER method, supported countries are: HK, PH, IN, ID, KR

Example:

"CN"

idempotencyKey
string<string>

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

Example:

"xeev1she5eegh9daiviethahchoo1muW"

Response

200 - application/json

OK

id
string<uuid>

Quote ID, used to execute a payout

method
enum<string>

Payout method

Available options:
UNIONPAY,
BANK_SWIFT,
ALIPAY
sourceAmount
number

Amount to be sent

Example:

1000.12

sourceCurrency
string

Currency of the amount to be sent

Example:

"USD"

destinationCountry
string

Country of the destination

Example:

"US"

destinationCurrency
string

Currency of the destination

Example:

"USD"

destinationAmount
number

Amount to be received

Example:

1000.12

rate
number

Exchange rate value used for the conversion

Example:

1.123456

createdAt
string<date-time>

Quote time

Example:

"2021-01-01T00:00:00.000Z"

expiresAt
string<date-time>

Quote expiry time

Example:

"2021-01-01T00:00:00.000Z"