Create Withdrawal Order (Thailand)
API for creating Thai Baht (THB) withdrawal orders.
Request Information
- Request URL:
/gateway/api/v2/payouts - Method:
POST - Content-Type:
application/json;charset=utf-8
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| platform_id | Yes | String(6) | Merchant ID |
| service_id | Yes | String(7) | Service ID |
| payout_cl_id | Yes | String(64) | Merchant Order ID |
| amount | Yes | Integer(10) | Amount (in cents) |
| notify_url | No | String(256) | Callback URL for transaction result |
| bank_name | Yes | String(45) | Bank code, Bank List |
| name | Yes | String(64) | Beneficiary name (2–64 characters). Thai personal and corporate account names are frequently longer than 16 characters — do not truncate |
| number | Yes | String(64) | Beneficiary account number (5–64 characters) |
| user_id | No | String(32) | Merchant-side user/member identifier. Stored for merchant reconciliation only; not returned in query or callback |
| currency | Yes | String(3) | Fixed value: thb. This field is mandatory — if omitted, the order is treated as a CNY payout and routing will fail |
| request_time | Yes | Integer(10) | Request time (seconds) |
| sign_type | No | String(16) | Signature type, fixed value HMAC-SHA256 |
| sign | Yes | String(32|64) | Order Signature |
Service ID
SVC0004Bank Card Withdrawal
SVC0004is shared across countries; the currency is determined by thecurrencyfield.
Response Example
{
"error_code": "0000",
"data": { "payout_id": "POT00000001" }
}
Remarks
Important
In case of timeout or HTTP 500 error, please use the order query API to check the status. Do not treat it as a failed order directly.
- Transaction amount is in Thai Baht (cents)
- A response of "0000" only indicates the API call was successful. Please use the query API to confirm the result.
payout_idfollows the format{environment prefix}POT{8 digits}. The prefix is assigned by the system and its length varies. Store the value as a complete string — do not hard-code its length or prefixbank_namemust be a bank enabled for your account, otherwise0053(Bank not supported) is returned. The bank list is the full set supported by the system; confirm the usable subset with your business contact- Per-transaction minimum and maximum amounts depend on your account settings. Out-of-range requests return
0028(below minimum) /0029(above maximum)