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
| string | Description |
|---|---|
| MSISDN | Thai mobile phone, 10 digits (starts with 06, 08, or 09) |
| NATID | Thai citizen national ID, 13 digits (mod-11 checksum) |
| TAXID | Thai juristic tax ID, 13 digits (mod-11 checksum) |
| EWALLETID | BOT-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.
