> ## 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.

# Singapore

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

## **Limits**

| Transaction Type | Limits                   |
| :--------------- | ------------------------ |
| Collection       | USD: 1-3000, SGD: 1-3000 |

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

## **Collection API**

### **Collection Request**

**Description:**

* Create a collection order

**URL:**

SGD: `/sgd/collect/apply` Note: appId SGD, amount SGD, settlement SGD

USD: `/usd/collect/apply` Note: appId USD, amount USD, settlement USD

HKD: `/hkd/collect/apply` Note: appId HKD, amount HKD, settlement HKD

**Parameters:**

| Parameter       | Required | Type   | Description                                                                                                                                                                 |
| :-------------- | :------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| appId           | Yes      | Long   | Business ID (retrieved from backend; must use the corresponding business ID based on the currency in the URL)                                                               |
| orderId         | Yes      | String | Merchant order number (must be unique, maximum length 48)                                                                                                                   |
| name            | Yes      | String | User's full name, recommended to use real name. Format: firstName + lastName separated by a space, e.g. `John Doe`                                                          |
| phone           | Yes      | String | Valid phone number (see [Phone Number Format](/docs/en/guide/frequently_asked_question#en_faq_phone-number-format))                                                         |
| email           | Yes      | String | Valid email address                                                                                                                                                         |
| amount          | Yes      | String | Transaction amount, up to 2 decimal places                                                                                                                                  |
| 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                                                                                                                                           |
| notifyUrl       | No       | String | Callback URL                                                                                                                                                                |
| subject         | No       | String | Payment note                                                                                                                                                                |
| body            | No       | String | Additional description                                                                                                                                                      |
| partnerUserId   | Yes      | String | Unique user identifier (e.g., userId). Must be valid for risk control; otherwise transactions may be affected. Allowed format: numbers, letters, or symbols `-~!@#$%&*()_`. |
| sign            | Yes      | String | Signature                                                                                                                                                                   |

**Return Data Parameters**

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

### **Collection Query**

**Description:**

* Query collection order

**URL:**

SGD: `/sgd/collect/query`

USD: `/usd/collect/query`

HKD: `/hkd/collect/query`

**Parameters:**

| Parameter | Required | Type   | Description                                                                  |
| :-------- | :------- | :----- | :--------------------------------------------------------------------------- |
| appId     | Yes      | Long   | Business ID (retrieved from backend; must use the corresponding business ID) |
| orderId   | Yes      | String | Merchant order number                                                        |
| orderNo   | No       | String | Platform order number (faster response)                                      |
| sign      | Yes      | String | Signature                                                                    |

**Return Data Parameters**

| Parameter    | 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 In progress, 2 Success \[final], 3 Failed \[final], -1 Exception pending confirmation) |
| payTime      | String  | Payment success time (available when status=2) (currency local time), format: yyyy-MM-dd HH:mm:ss               |
| errorMsg     | String  | Failure reason (available when status=3)                                                                        |
| sign         | String  | Signature                                                                                                       |

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

| Currency | Payment Type (payType) | Payment Code (inBankCode) | Limit  | Status    | Description            |
| :------- | :--------------------- | :------------------------ | :----- | :-------- | :--------------------- |
| SGD      | QR                     | PAYNOW\_SGD               | 1-3000 | Available | PayNow QR Code Payment |
| USD      | QR                     | PAYNOW\_USD               | 1-3000 | Available | PayNow QR Code Payment |

## Related Topics

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