> ## Documentation Index
> Fetch the complete documentation index at: https://doc.haipay.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Thailand

<Warning>
  **Before reading this API documentation, please make sure to check [**API Description Guide**](/docs/en/guide/api_description_guide)**
</Warning>

## **Limits**

| Transaction Type | Limit                      |
| :--------------- | -------------------------- |
| Collection       | USD: 0.99-220, THB: 1-8000 |
| Payment          | THB: 1-8000                |

> **Amount Decimal Places:** THB — 2 decimal places | USD — 2 decimal places

## **Collection API**

### **Collection Application**

**Brief Description:**

* Create a collection order

**URL:**

THB: `/thb/collect/apply`\
Note: appId needs to use THB corresponding, user payment success will increase THB balance

**URL: `/usd/collect/apply`**\
Note: appId needs to use USD corresponding, user payment success will increase USD balance

**Parameters:**

| Parameter Name  | Required | Type   | Description                                                                                                                                                         |
| :-------------- | :------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| appId           | Yes      | Long   | Business ID (obtained from the backend, needs to pass the corresponding business ID based on the currency in the URL)                                               |
| orderId         | Yes      | String | Merchant order number (must be unique, max length 48)                                                                                                               |
| name            | Yes      | String | Payee name (format: English letters with spaces allowed, 1–30 characters, "firstName middleName lastName" (middleName is optional, special characters allowed: !-)) |
| phone           | Yes      | String | Real phone number                                                                                                                                                   |
| email           | Yes      | String | Real email                                                                                                                                                          |
| amount          | Yes      | String | Transaction amount (unit: ฿, accurate to 2 decimals; do not add symbols such as “,”)                                                                                |
| payType         | Yes      | String | Transaction type                                                                                                                                                    |
| inBankCode      | Yes      | String | [Payment Method](#inBankCode)                                                                                                                                       |
| callBackUrl     | Yes      | String | Redirect URL after successful payment                                                                                                                               |
| callBackFailUrl | Yes      | String | Redirect URL after failed payment                                                                                                                                   |
| cancelUrl       | No       | String | If provided, the payment page displays a Back button that redirects the user to this URL when clicked.                                                              |
| notifyUrl       | No       | String | Callback URL                                                                                                                                                        |
| subject         | Yes      | String | Payment note                                                                                                                                                        |
| body            | No       | String | Remark details                                                                                                                                                      |
| partnerUserId   | Yes      | String | Unique user identifier (e.g., userId). Required for risk control. Must be valid. Format: digits, letters, or symbols -\~!@#\$%&\*()\_                               |
| sign            | Yes      | String | Signature                                                                                                                                                           |

request

```json theme={null}
{
    "appId": 1054,
    "orderId": "M233323000059",
    "amount": "300",
    "phone": "09230219312",
    "email": "23423@qq.com",
    "name": "test",
    "inBankCode": "PH_QRPH_DYNAMIC",
    "payType": "QR",
    "partnerUserId": "149597870",
    "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}
```

response

```json theme={null}
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M233323000059",
        "orderNo": "6023071013539074",
        "payUrl": "https://a.api-uat.php.com/1L9zQS2",
        "bankCode": "GCASH_STATIC_VA",
        "bankNo": "PC0007I10000035",
        "qrCode": "00020101021228760011ph.ppmi.p2m0111OPDVPHM1XXX0315777148000000017041652948137245442930503001520460165303608540810000.php Of Mandalu62310010ph.allbank05062110000803***88310012ph.ppmi.qrph0111OPDVPHM1XXX63042763",
        "sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
    }
}
```

Return Data Parameter Description

| Parameter Name | Type   | Description                                                     |
| :------------- | :----- | :-------------------------------------------------------------- |
| orderId        | String | Merchant order number (must be unique)                          |
| orderNo        | String | Platform order number                                           |
| payUrl         | String | Returns repayment URL, otherwise returns a guide or details     |
| bankNo         | String | Repayment account number (VA)                                   |
| bankCode       | String | Channel Code (VA)                                               |
| qrCode         | String | QR code content - can be used to generate QR code manually (QR) |
| sign           | String | Signature                                                       |

### **Collection Query**

**Brief Description:**

* Query collection order

**URL:**

THB: `/thb/collect/query`

| Parameter Name | Required | Type   | Description                                                                                                           |
| :------------- | :------- | :----- | :-------------------------------------------------------------------------------------------------------------------- |
| appId          | Yes      | Long   | Business ID (obtained from the backend, needs to pass the corresponding business ID based on the currency in the URL) |
| orderId        | Yes      | String | Merchant order number                                                                                                 |
| orderNo        | No       | String | Platform order number (faster response)                                                                               |
| sign           | Yes      | String | Signature                                                                                                             |

request

```json theme={null}
{
    "appId": 1054,
    "orderId": "M22222000028",
    "sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}
```

response

```json theme={null}
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M22222000028",
        "orderNo": "6023042811314347",
        "amount": "50000.00",
        "actualAmount": "0.00",
        "fee": "0.00",
        "status": 1,
        "sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
    }
}
```

Return data parameter description

| Parameter Name | Type    | Description                                                                                                                                                    |
| :------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| orderId        | String  | Merchant order number (must be unique)                                                                                                                         |
| orderNo        | String  | Platform order number                                                                                                                                          |
| amount         | String  | Transaction amount                                                                                                                                             |
| actualAmount   | String  | Received amount                                                                                                                                                |
| fee            | String  | Fee                                                                                                                                                            |
| status         | Integer | Status (0 Not started, 1 Collecting, 2 Collection successful, 3 Collection failed, 4 Partial collection, 5 Over collection, -1 Exception pending confirmation) |
| payTime        | String  | Payment success time (present when status=2) (Thailand time), format: yyyy-MM-dd HH:mm:ss                                                                      |
| errorMsg       | String  | Failure reason (present when status=3)                                                                                                                         |
| sign           | String  | Signature                                                                                                                                                      |

### **Payment Methods**<a id="inBankCode" />

| Currency | Payment Type (payType) | Payment Code (inBankCode) | Limit    | Status    | Description       |
| -------- | ---------------------- | ------------------------- | -------- | --------- | ----------------- |
| THB      | QR                     | QR                        | 1-8000   | Available | PromptPay QR Code |
| THB      | PAYMENT\_GATEWAY       | TM                        | 1-8000   | Available | TrueMoney Wallet  |
| USD      | QR                     | TH\_QR\_USD               | 0.99-220 | Available | PromptPay QR Code |
| USD      | PAYMENT\_GATEWAY       | TH\_TM\_USD               | 0.99-220 | Available | TrueMoney Wallet  |

## **Disbursement API**

### **Disbursement Application**

**Brief description:**

* Create a disbursement order

**URL:**

THB: `/thb/pay/apply`

**Parameters:**

| Parameter Name | Required | Type   | Description                                                                                                                                                                         |
| :------------- | :------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId          | Yes      | Long   | Business ID (obtained from backend, must pass the corresponding business ID according to the currency in the URL)                                                                   |
| orderId        | Yes      | String | Merchant order number (must be unique, length not exceeding 48)                                                                                                                     |
| amount         | Yes      | String | Transaction amount (unit: ฿, precise to two decimal places; punctuation such as “,” is prohibited)                                                                                  |
| accountType    | Yes      | String | Account type: EWALLET (e-wallet), BANK\_ACCOUNT (bank)                                                                                                                              |
| bankCode       | Yes      | String | [Payment Code](#bankCode)                                                                                                                                                           |
| accountNo      | Yes      | String | User account                                                                                                                                                                        |
| name           | Yes      | String | Beneficiary name (Format: English letters, case-sensitive, spaces allowed, 1-30 characters, "firstName middleName lastName" (middleName optional, supports special characters '.-)) |
| phone          | Yes      | String | Real mobile number (Format: starting with 0, 10 digits total)                                                                                                                       |
| email          | Yes      | String | Real email                                                                                                                                                                          |
| notifyUrl      | No       | String | Callback URL                                                                                                                                                                        |
| subject        | No       | String | Payment note (transaction title, product name, payment reason)                                                                                                                      |
| body           | No       | String | Detailed note                                                                                                                                                                       |
| partnerUserId  | Yes      | String | User unique identifier (e.g., userId). Used for risk control. Must be valid, otherwise transaction may be affected. Format: numbers, letters, or common symbols -\~!@#\$%&\*()\_.   |
| sign           | Yes      | String | Signature                                                                                                                                                                           |

request（accountType为BANK\_CARD类型时）

```json theme={null}
{
    "appId": 1054,
    "orderId": "M100000450012",
    "amount": "500",
    "accountType": "BANK_CARD",
    "bankCode": "BDO",
    "accountNo": "09876543210",
    "name": "john doe",
    "phone": "09876543210",
    "email": "johndoe@cashfree.com",
    "subject": "iphone13",
    "body": "ProMotion technology with adaptive refresh rates up to 120Hz",
    "partnerUserId": "149597870",
    "sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
```

response

```json theme={null}
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M100000450013",
        "orderNo": "3023062014149637",
        "sign": "LmhUnkw5j0pMiimsG8rKwdNNZGvXH5MpSmD6mdHZwq1SQwuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
    }
}
```

Return data parameter description

| Parameter Name | Required | Type                                   | Description |
| :------------- | :------- | :------------------------------------- | :---------- |
| orderId        | String   | Merchant order number (must be unique) |             |
| orderNo        | String   | Platform order number                  |             |
| sign           | String   | Signature                              |             |

### **Disbursement Query**

**Brief description:**

* Query disbursement order

**URL:**

THB: `/thb/pay/query`

**Parameters:**

| Parameter Name | Required | Type   | Description                                                                                                       |
| :------------- | :------- | :----- | :---------------------------------------------------------------------------------------------------------------- |
| appId          | Yes      | Long   | Business ID (obtained from backend, must pass the corresponding business ID according to the currency in the URL) |
| orderId        | Yes      | String | Merchant order number                                                                                             |
| orderNo        | No       | String | Platform order number (faster response)                                                                           |
| sign           | Yes      | String | Signature                                                                                                         |

request

```json theme={null}
{
    "appId": 1000,
    "orderId": "M1234567111",
    "orderNo": "3022111516571436",
    "sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
```

response — Order Failed

```json theme={null}
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M1234567111",
        "orderNo": "3022111516571436",
        "amount": "100000.00",
        "fee": "0.00",
        "status": 3,
        "errorMsg": "Đơn hàng không tồn tại",
        "sign": "KKuvCl0SuNANJs+l2ogDaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
    }
}
```

response — Order Successful

```json theme={null}
{
    "status": "1",
    "error": "00000000",
    "msg": "",
    "data": {
        "orderId": "M1234567112",
        "orderNo": "3022111517401574",
        "amount": "100000.00",
        "fee": "1003.00",
        "status": 2,
        "payTime": "2024-03-01 23:59:59",
        "sign": "khPtOmGq+cpKX0HFAI/lbP0dx4oVyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
    }
}
```

Return Data Parameter Description

| Parameter Name | Type    | Description                                                                                                   |
| :------------- | :------ | :------------------------------------------------------------------------------------------------------------ |
| orderId        | String  | Merchant Order Number (must be unique)                                                                        |
| orderNo        | String  | Platform Order Number                                                                                         |
| amount         | String  | Transaction Amount                                                                                            |
| fee            | String  | Service Fee                                                                                                   |
| status         | Integer | Status (0 Not Started, 1 Processing, 2 Success (final), 3 Failure (final), -1 Exception Pending Confirmation) |
| payTime        | String  | Payment Success Time (prsent when status=2) (Thailand Time), format: yyyy-MM-dd HH:mm:ss                      |
| errorMsg       | String  | Payment Failure Reason (present when status=3)                                                                |
| sign           | String  | Signature                                                                                                     |

### **Payment Methods** <a id="bankCode" />

| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit  | Status    | Description                                      |
| -------- | -------------------------- | ----------------------- | ------ | --------- | ------------------------------------------------ |
| THB      | BANK\_ACCOUNT              | BAAC                    | 1-8000 | Available | BAAC ธนาคารเพื่อการเกษตรและสหกรณ์การเกษตร        |
| THB      | BANK\_ACCOUNT              | BAY                     | 1-8000 | Available | Bank of Ayudhya (Krungsri / กรุงศรี)             |
| THB      | BANK\_ACCOUNT              | BBL                     | 1-8000 | Available | Bangkok Bank ธนาคารกรุงเทพ                       |
| THB      | BANK\_ACCOUNT              | CIMB                    | 1-8000 | Available | CIMB Thai ธนาคารซีไอเอ็มบีไทย                    |
| THB      | BANK\_ACCOUNT              | CITI                    | 1-8000 | Available | Citibank N.A. ซิตี้แบงก์ ประเทศไทย               |
| THB      | BANK\_ACCOUNT              | GHB                     | 1-8000 | Available | GHB ธนาคารอาคารสงเคราะห์                         |
| THB      | BANK\_ACCOUNT              | GSB                     | 1-8000 | Available | GSB ธนาคารออมสิน                                 |
| THB      | BANK\_ACCOUNT              | HSBC                    | 1-8000 | Available | HSBC เอชเอสบีซี                                  |
| THB      | BANK\_ACCOUNT              | ICBC                    | 1-8000 | Available | ICBC(Thai) ธนาคารไอซีบีซี(ประเทศไทย)จำกัด(มหาชน) |
| THB      | BANK\_ACCOUNT              | IBANK                   | 1-8000 | Available | Islamic Bank ธนาคารอิสลามแห่งประเทศไทย           |
| THB      | BANK\_ACCOUNT              | KBANK                   | 1-8000 | Available | Kasikorn Bank ธนาคารกสิกรไทย                     |
| THB      | BANK\_ACCOUNT              | KKP                     | 1-8000 | Available | Kiatnakin Phatra Bank ธนาคารเกียรตินาคินภัทร     |
| THB      | BANK\_ACCOUNT              | KTB                     | 1-8000 | Available | KTB ธนาคารกรุงไทย                                |
| THB      | BANK\_ACCOUNT              | LHB                     | 1-8000 | Available | Land and Houses Bank ธนาคารแลนด์ แอนด์ เฮ้าส์    |
| THB      | BANK\_ACCOUNT              | SCB                     | 1-8000 | Available | SCB ธนาคารไทยพาณิชย์                             |
| THB      | BANK\_ACCOUNT              | SCBT                    | 1-8000 | Available | SCBT สแตนดาร์ดชาร์เตอร์ด                         |
| THB      | BANK\_ACCOUNT              | TBANK                   | 1-8000 | Available | TBank ธนาคารธนชาต จำกัด (มหาชน)                  |
| THB      | BANK\_ACCOUNT              | TISCO                   | 1-8000 | Available | TISCO ธนาคารทิสโก้ จำกัด (มหาชน)                 |
| THB      | BANK\_ACCOUNT              | TMB                     | 1-8000 | Available | TTB ธนาคารทีเอ็มบีธนชาต จำกัด (มหาชน)            |
| THB      | BANK\_ACCOUNT              | UOB                     | 1-8000 | Available | UOB ธนาคารยูโอบี จำกัด (มหาชน)                   |
| THB      | BANK\_ACCOUNT              | ABN                     | 1-8000 | Available | ABN AMRO ธนาคารเอบีเอ็น แอมโร เอ็น.วี.           |
| THB      | BANK\_ACCOUNT              | MHCB                    | 1-8000 | Available | Mizuho ธนาคารมิสึโฮ คอร์ปอเรต จำกัด              |

## Related Topics

* [Common API](/docs/en/api/version2/CommonApi)
* [HaiPay API Description and Common Rules](/docs/en/guide/api_description_guide)
* [Vietnam Payment API](/docs/en/api/version2/Vietnam)
