This page lists every data requirement for THB payments to Thailand: the beneficiary and originator identities, the beneficiary financial instrument, and the transaction itself.
The identity and financial instrument tables on this page list only the fields TH_PROMPTPAY requires, taken from the PII v3 schema. Identities and financial instruments accept further optional fields. For the complete set, see Payment identities and Financial instruments, or use the Payload Schema Utility.
Create the beneficiary identity before the financial instrument, then reference it when you create the payment. See Create and manage identities for the API workflow.
The required fields depend on whether the beneficiary is a business or an individual.
Applies to the B2B, B2B2B, C2B2B use cases. Submit a business identity.
| Field | Required | Type | Constraints |
|---|---|---|---|
businessName | Required | STRING | Business Legal Name. 1–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$. |
address.streetAddress | Required | ARRAY of STRING | Allows the street address of the business to be held. |
address.country | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
address.city | Required | STRING | City. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$. |
address.stateOrProvince | Required | STRING | State, province, or county of the business address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$. |
address.postalCode | Required | STRING | Postal code for the business. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$. |
phone | Required | STRING | Phone Number. 8–16 characters. Must match ^\+[1-9]\d+$. |
registration[].number | Required | STRING | The unique identifier of the organization. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$. |
registration[].type | Required | STRING | One of INCORPORATION_CERTIFICATE, TAX_ID. |
incorporationCountry | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
Applies to the B2B2C, B2C, C2B2C use cases. Submit an individual identity.
| Field | Required | Type | Constraints |
|---|---|---|---|
firstName | Required | STRING | First name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$. |
lastName | Required | STRING | Last name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$. |
address.streetAddress | Required | ARRAY of STRING | Allows the street address of the individual to be held. |
address.country | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
address.city | Required | STRING | City. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$. |
address.stateOrProvince | Required | STRING | State, province, or county of the individual's address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$. |
address.postalCode | Required | STRING | Postal code for the individual's address. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$. |
phone | Required | STRING | Phone Number. 8–16 characters. Must match ^\+[1-9]\d+$. |
identityDocuments[].idNumber | Required | STRING | Identification Number. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$. |
identityDocuments[].idType | Required | STRING | One of ALIEN_REGISTRATION, DRIVERS_LICENSE, EMPLOYEE_ID, NATIONAL_ID_NUMBER, PASSPORT, SSN, TAX_ID. |
citizenship | Required | STRING | Alpha-2 country code for the nationality of the individual in ISO 3166-1 format. Exactly 2 characters. Must match ^[A-Z]+$. |
Set financialInstrumentType: TH_PROMPTPAY and currency: THB. Provide the following fields in the thPromptpay payment rail object. See Create and manage financial instruments for the API workflow.
| Field | Required | Type | Constraints |
|---|---|---|---|
bankName | Required | STRING | The name of the identity's bank. 2–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$. |
bankCode | Required | STRING | 1–16 characters. Must match ^[A-Za-z0-9]+$. Use the Bank Codes lookup and select Thailand to find the bank code. |
accountNumber | Required | STRING | The identity's bank account number. 1–45 characters. Must match ^[A-Za-z0-9]+$. |
Create the originator identity once and reuse it across payments.
The required fields depend on whether the originator is a business or an individual.
Applies to the B2B, B2B2B, B2B2C, B2C use cases. Submit a business identity.
| Field | Required | Type | Constraints |
|---|---|---|---|
businessName | Required | STRING | Business Legal Name. 1–140 characters. Must match ^(?![ .,'&\/()-])(?!.*([ .,'&\/()-])\1)[\p{L}\p{N} .,'&\/()-]+(?<![ .,'&\/-])?$. |
address.streetAddress | Required | ARRAY of STRING | Allows the street address of the business to be held. |
address.country | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
address.city | Required | STRING | City. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$. |
address.stateOrProvince | Required | STRING | State, province, or county of the business address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$. |
address.postalCode | Required | STRING | Postal code for the business. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$. |
phone | Required | STRING | Phone Number. 8–16 characters. Must match ^\+[1-9]\d+$. |
registration[].number | Required | STRING | The unique identifier of the organization. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$. |
registration[].type | Required | STRING | One of INCORPORATION_CERTIFICATE, TAX_ID. |
incorporationCountry | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
incorporationDate | Required | STRING | The date when the business was incorporated. Format date. |
Applies to the C2B2B, C2B2C use cases. Submit an individual identity.
| Field | Required | Type | Constraints |
|---|---|---|---|
firstName | Required | STRING | First name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$. |
lastName | Required | STRING | Last name of the individual. 1–140 characters. Must match ^(?![ .'-])(?!.*([ .'-])\1)[\p{L} .'-]+(?<![ .'-])$. |
address.streetAddress | Required | ARRAY of STRING | Allows the street address of the individual to be held. |
address.country | Required | STRING | Exactly 2 characters. Must match ^[A-Z]+$. |
address.city | Required | STRING | City. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L} .'-]+(?<![ .'-])$. |
address.stateOrProvince | Required | STRING | State, province, or county of the individual's address, as defined by postal services. 1–140 characters. Must match ^(?![ .'-])(?!.*[ .'-]{2})[\p{L}\p{N} .'-]+(?<![ .'-])$. |
address.postalCode | Required | STRING | Postal code for the individual's address. 3–15 characters. Must match ^[\p{L}\p{N}][\p{L}\p{N} -]{1,15}[\p{L}\p{N}]$. |
phone | Required | STRING | Phone Number. 8–16 characters. Must match ^\+[1-9]\d+$. |
identityDocuments[].idNumber | Required | STRING | Identification Number. 3–35 characters. Must match ^(?![ .'-\/])(?!.*[ .'-\/]{2})([A-Za-z0-9 .'-\/]+)(?<![ .'-\/])\/?$. |
identityDocuments[].idType | Required | STRING | Must be PASSPORT. |
identityDocuments[].expiryDate | Required | STRING | Expiration date of the identification document. Format date. |
dateOfBirth | Required | STRING | Date of Birth. Format date. |
citizenship | Required | STRING | Alpha-2 country code for the nationality of the individual in ISO 3166-1 format. Exactly 2 characters. Must match ^[A-Z]+$. |
The following transaction-level fields apply to all THB payments to Thailand via PromptPay.
| Field | Description | Required | Type | Constraints |
|---|---|---|---|---|
purposeCode | Purpose of payment | Required | ENUM | 4–5 chars. See valid values below |
sourceOfCash | Source of funds | Required | ENUM | See valid values below |
receiverRelationship | Relationship to the debtor | Required | ENUM | See valid values below; valid values depend on whether the beneficiary is a business or an individual |
| Code | Description |
|---|---|
ACSC | Accounting services |
AMSC | Advertising, market research, and public opinion polling services |
ALLW | Allowance |
GIFT | Allowance (gift) |
ENGS | Architectural, engineering and other technical services |
BONU | Bonus payment |
COMM | Commission |
CISC | Construction and installation services |
DEPT | Deposit |
DOFI | Deposits with or from offshore financial institutions |
EDUC | Education |
EDSC | Education services |
FAMI | Family maintenance |
GSST | Goods and services by short-term workers |
GSTR | Goods and services by travellers |
GSPM | Goods for processing & manufacturing services |
HLTC | Home health care |
INTE | Interest |
INTC | Intra company payment |
INVS | Investment & securities |
IVPT | Invoice payment |
LESC | Legal services |
MRSC | Maintenance and repair services |
MDCS | Medical services |
MP2P | Mobile P2P payment |
OTHR | Others |
PSFR | Passenger fare |
MACH | Payment for machinery and transport equipment |
MFGD | Payment for manufactured goods |
MMFA | Payment for miscellaneous manufactured articles |
FEES | Payment of fees |
PAYR | Payroll |
GDDS | Purchase sale of goods |
GDSV | Purchase sale of goods and services |
SCVE | Purchase sale of services |
REAB | Real estate abroad |
RELG | Rental lease general |
SALA | Salary payment |
STDY | Study |
SUPP | Supplier payment |
TRAD | Trade services |
VIAC | Visa application charges |
| Code | Description |
|---|---|
ALMY | Alimony |
CASH | Cash proceeds |
COMP | Compensation |
EMIN | Employee income |
GIFT | Gift |
INHE | Inheritance |
INLQ | Insurance premium liquidation |
PACA | Paid-up capital |
REDM | Redemption |
REPY | Retirement policy |
REST | Real estate sale |
RETA | Retained earnings |
SALE | Sale of goods |
SEAQ | Sale or acquisition of a corporation |
SELF | Self-employment income |
SVGS | Savings |
WINS | Winnings |
Valid receiverRelationship values depend on whether the beneficiary is a business or an individual.
| Code | Description |
|---|---|
BRAN | Branch/Representative office |
CUST | Customer |
FRAN | Franchisee/Franchisor |
HOLD | Holding company |
PART | Business partner |
SUBS | Subsidiary company |
SUPP | Supplier |
For business-to-business payments (B2B, B2B2B use cases), CUST is not a valid receiverRelationship value; only the other six codes apply.
| Code | Description |
|---|---|
CHIL | Child |
CUST | Customer |
EMPL | Employee |
EXSP | Ex-spouse |
FREN | Friend |
OTHR | Other |
PARE | Parent |
PART | Business partner |
RELA | Relation |
SELF | Self |
SIBL | Sibling/brother/sister |
SPOU | Covering spouse/partner |
VEND | Vendor |
For business-to-individual and individual-to-individual payments in the B2B2C and B2C use cases, CUST is not a valid receiverRelationship value; only the other twelve codes apply. CUST is valid for C2B2C.
| Limit type | Amount (THB) |
|---|---|
| Minimum per transaction | 65.00 |
| Maximum per transaction | 500,000.00 |
| Daily compliance limit per beneficiary | 1,750,000.00 |
Transactions that cause the sender or receiver to exceed the daily compliance limit are held for compliance review.
All transactions to Thailand are subject to strict name matching. The following fields must be accurate:
- Sender's full name
- Sender's date of birth
- Beneficiary's full name
Name-matching rules:
- At least 85% of the beneficiary's name must match the name registered with their Thai bank.
- Enter the full name exactly as registered: first, middle, and last names.
- Do not include prefixes or salutations (Mr, Ms, Mrs, etc.).
- Avoid duplicated or repetitive names.
- Enter the last name in the Surname field; all other name parts in the Name field.
- Do not enter "NO LAST NAME." Such entries will be rejected.
- Remove any extra spaces before or after the name.
Inaccurate name details will result in transaction rejection. Verify all name fields against the beneficiary's bank registration before submitting.
When sending to Kasikorn Bank, the sender's origin country cannot be Thailand.
Payments over TH_PROMPTPAY accept only the following identity document types. Requests that use a document type not listed for the relevant payment role are rejected with a 400 error. Where a role or identity type is not listed below, all values in the field's enum are accepted.
| Identity type | Payment role | Accepted document types |
|---|---|---|
Individual (idType) | Originator | PASSPORT |
Individual (idType) | Beneficiary | ALIEN_REGISTRATION, DRIVERS_LICENSE, EMPLOYEE_ID, NATIONAL_ID_NUMBER, PASSPORT, SSN, TAX_ID |