Back to updates
NewMay 25, 2026

PromptPay fiat withdrawals

Fiat withdrawals can now target a PromptPay proxy ID with the new promptpay_id_type field.

Examples

Before — withdraw to a bank account
{
"withdrawal_mode": "FIAT",
"order_id": "ORDER-DEMO-001",
"amount": 1000,
"currency": "THB",
"receiver_bank": "SCB",
"receiver_name": "MR. John Snow",
"withdrawal_address": "9999999999"
}
+Now — withdraw to PromptPay (NATID)
{
"withdrawal_mode": "FIAT",
"order_id": "WD-PP-NATID-001",
"amount": 1000,
"currency": "THB",
+ "receiver_bank": "PromptPay",
+ "promptpay_id_type": "NATID",
"receiver_name": "SOMCHAI JAIDEE",
+ "withdrawal_address": "1234567890123"
}

Overview

Before this update, the fiat withdrawal endpoint could only send money to a bank account number. This update adds PromptPay as a destination on the same endpoint — you do not need a new endpoint or a different request flow.

You opt in to PromptPay simply by setting receiver_bank to "PromptPay". Everything else about how you call the API stays the same.

Supported proxy types

stringDescription
MSISDNThai mobile phone, 10 digits (starts with 06, 08, or 09)
NATIDThai citizen national ID, 13 digits (mod-11 checksum)
TAXIDThai juristic tax ID, 13 digits (mod-11 checksum)
EWALLETIDBOT-issued e-wallet ID, 15 digits (digits only)

What changed

  • AddedNew field promptpay_id_type to declare the PromptPay proxy type (MSISDN / NATID / TAXID / EWALLETID).
  • Addedreceiver_bank now accepts the value "PromptPay" (case-insensitive) to route the request through PromptPay.
  • Changedwithdrawal_address can now be a PromptPay proxy ID. Non-digit characters are stripped and the value is checked for length, format, and checksum before the request is accepted.
  • AddedThe response now includes promptpay_id_type for PromptPay withdrawals.

Before / After

Before
  • receiver_bank accepted bank codes only, e.g. "SCB", "KBANK".
  • withdrawal_address had to be a bank account number.
  • There was no promptpay_id_type field.
Now
  • receiver_bank also accepts "PromptPay".
  • withdrawal_address can be a PromptPay proxy ID (phone / national ID / tax ID / e-wallet).
  • promptpay_id_type is required for PromptPay, and forbidden for other banks.