POST
Thai/api/withdrawals

Request Withdrawal

Create a withdrawal to a Thai bank account. The merchant's balance is debited and the payout is sent to the specified beneficiary account.

Overview

Submit a withdrawal request with your beneficiary bank details and amount. The system valThaiates your merchant account (via Bearer secret), checks your balance, resolves the Thai bank by name, and creates a withdrawal with status pending.

Note: The bank_name field must match one of the supported Thai bank names exactly. Withdrawals remain pending until processed.

How It Works

  1. Merchant sends POST request
  2. System valThaiates merchant, balance, and bank name
  3. Withdrawal created with status pending
  4. Response returns withdrawal details

Request Body

Required Fields

bank_account – Beneficiary bank account number

account_name – Account holder name

bank_name – Must exactly match supported Thai banks

amount – Minimum 100 THB, must not exceed balance

Supported Thai Banks

TMBThanachart Bank Public Company Limited
Bangkok Bank Public Company Limited
KASIKORNBANK Public Company Limited
KRUNG THAI BANK
Siam Commercial Bank Public Company Limited
CITIBANK N.A.
SUMITOMO MITSUI BANKING CORPORATION
STANDARD CHARTERED BANK (THAI) PLC
CIMB THAI BANK PUBLIC COMPANY LIMITED
UNITED OVERSEAS BANK (THAI) PCL.
BANK OF AYUDHYA PUBLIC COMPANY LTD.
MEGA INTERNATIONAL COMMERCIAL BANK PUBLIC CO.,LTD.
GOVERNMENT SAVING BANK
HONGKONG & SHANGHAI CORPORATION LTD.
DEUTSCHE BANK AKTIENGESELLSCHAFT
GOVERNMENT HOUSING BANK
BANK FOR AGRICULTURAL AND AGRICULTURAL CO-OPERATIV
MIZUHO BANK,LTD.
BNP PARIBAS, BANGKOK BRANCH
BANK OF CHINA LIMITED
ISLAMIC BANK OF THAILAND
TISCO BANK PUBLIC COMPANY LIMITED
KIATNAKIN PHATRA BANK PUBLIC COMPANY LIMITED
INDUSTRIAL AND COMMERCIAL BANK OF CHINA (THAI) PU
THE THAI CREDIT RETAIL BANK PUBLIC COMPANY LIMITED
LAND AND HOUSES RETAIL BANK PUBLIC COMPANY LIMITED
ANZ Bank (Thai) Public Company Limited

Code Examples

curl -X POST "https://api.altafinex.com/https:/Thai/api/withdrawals" \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bank_account": "1234567890",
  "account_name": "John Doe",
  "bank_name": "Bangkok Bank Public Company Limited",
  "amount": 500
}'

Response

Status Codes

200
Withdrawal created successfully
400
InvalThai request or insufficient balance
401
Authentication failed
404
Merchant or bank not found
Success Response
Example response for a successful request
{
  "bank_account": "1234567890",
  "account_name": "John Doe",
  "amount": 500,
  "bank_code": "BBL",
  "bank_name": "Bangkok Bank Public Company Limited"
}
Error Response
Example response for an error
{
  "statusCode": 401,
  "message": "INVALThai_MERCHANT_SECRET",
  "error": "Unauthorized"
}

Error Examples

Error Response
Example response for an error
{
  "statusCode": 400,
  "message": "INSUFFICIENT_BALANCE",
  "error": "Bad Request"
}
Error Response
Example response for an error
{
  "statusCode": 404,
  "message": "BANK_NOT_FOUND",
  "error": "Not Found"
}

Withdrawal Flow

  1. Request valThaiated
  2. Withdrawal created (pending)
  3. Platform processes payout

Best Practices

  • Keep Bearer token secure
  • Use exact bank names
  • Check balance before request
  • Store response for tracking

Related Endpoints

Use merchant panel or contact support to check withdrawal status. A GET withdrawal endpoint may be added later.

Related Endpoints