Back to updates
NewMay 25, 2026

PromptPay fiat withdrawals

Fiat withdrawals can now go to a PromptPay number — just put it in withdrawal_address, no extra field needed.

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 (national ID)
{
"withdrawal_mode": "FIAT",
"order_id": "WD-PP-001",
"amount": 1000,
"currency": "THB",
+ "receiver_bank": "PromptPay",
"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 — you do not tell the API what kind of number it is, it reads that off the withdrawal_address format.

What changed

  • Addedreceiver_bank now accepts the value "PromptPay" (case-insensitive) to route the request through PromptPay.
  • Changedwithdrawal_address can now be a PromptPay number. Non-digit characters are stripped and the value is checked for length, format, and checksum before the request is accepted.
  • AddedWhich kind of number it is — mobile, national ID, tax ID, or e-wallet — is read from the withdrawal_address format. You do not send it in the request.