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

# Bangladesh

***

## title: Bangladesh

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

### **Transaction Limits**

| Transaction Type | Limit          |
| :--------------- | :------------- |
| Collection       | BDT: 100-50000 |
| Disbursement     | BDT: 100-50000 |

> **Amount Decimal Places:** BDT — No decimal places (integers only)

## **Collection API**

### **Collection Application**

**Description:**

* Create a collection order

**URL:**

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

**Parameters:**

| Parameter       | 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, maximum length 48)                                                                                                                                                          |
| name            | Yes      | String | User’s full name, recommended to use real name. Format: include firstName and lastName, separated by a space. Example: John Doe                                                                                    |
| phone           | Yes      | String | Valid phone number (format reference: [Phone Number Format](/docs/en/guide/frequently_asked_question#en_faq_phone-number-format))                                                                                  |
| email           | Yes      | String | Valid email                                                                                                                                                                                                        |
| amount          | Yes      | String | Transaction amount (integers only, decimal places are not supported; punctuation marks such as "," are prohibited)                                                                                                 |
| 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 remark                                                                                                                                                                                                     |
| body            | No       | String | Remark details                                                                                                                                                                                                     |
| country         | No       | String | Required for cashier mode, pass: 458                                                                                                                                                                               |
| partnerUserId   | Yes      | String | Unique user identifier (e.g., userId),used for risk control purposesfor the risk control system and must be valid, otherwise it will affect the transaction. Format: digits, letters, or symbols -\~!@#\$%&\*()\_. |
| sign            | Yes      | String | Signature                                                                                                                                                                                                          |

Return Data Parameters

| Parameter | Type   | Description       |
| :-------- | :----- | :---------------- |
| orderId   | String | Merchant order ID |
| orderNo   | String | Platform order ID |
| payUrl    | String | Payment link      |
| sign      | String | Signature         |

### **Collection Query**

**Description:**

* Query collection order

**URL:**

BDT: `/bdt/collect/query`

**Parameters:**

| Parameter | 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                                                                                                         |

Return Data Parameters

| Parameter    | Type    | Description                                                                                                            |
| :----------- | :------ | :--------------------------------------------------------------------------------------------------------------------- |
| orderId      | String  | Merchant order ID                                                                                                      |
| orderNo      | String  | Platform order ID                                                                                                      |
| amount       | String  | Transaction amount                                                                                                     |
| actualAmount | String  | Received amount                                                                                                        |
| fee          | String  | Fee                                                                                                                    |
| status       | Integer | Status (0 = Not started, 1 = Processing, 2 = Success (final), 3 = Failed (final), -1 = Exception pending confirmation) |
| payTime      | String  | Payment success time (present when status=2) (local currency time UTC+06:00), 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 |
| -------- | ---------------------- | ------------------------- | --------- | --------- | ----------- |
| BDT      | EWALLET                | BDT\_BKASH                | 100-50000 | Available | bkash       |
| BDT      | EWALLET                | BDT\_NAGAD                | 100-50000 | Available | nagad       |

## **Disbursement API**

### **Disbursement Application**

**Description:**

* Create a disbursement order

**URL: `/bdt/pay/apply`**

**Parameters:**

| Parameter     | 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, maximum length 48)                                                                                                                    |
| amount        | Yes      | String | Transaction amount (integers only, decimal places are not supported; punctuation marks such as "," are prohibited)                                                           |
| accountType   | Yes      | String | Account type: EWALLET (e-wallet), BANK\_ACCOUNT (bank)                                                                                                                       |
| bankCode      | Yes      | String | [Payment Method](#bankCode)                                                                                                                                                  |
| accountNo     | Yes      | String | User account number                                                                                                                                                          |
| name          | Yes      | String | Recipient’s name (format: English letters, case-insensitive, spaces allowed, 1-30 chars, “firstName middleName lastName” (middleName optional, special chars supported '.-)) |
| phone         | Yes      | String | Valid phone number (format reference: [Phone Number Format](/docs/en/guide/frequently_asked_question#en_faq_phone-number-format))                                            |
| email         | Yes      | String | Valid email                                                                                                                                                                  |
| notifyUrl     | No       | String | Callback URL                                                                                                                                                                 |
| subject       | No       | String | Payment remark (transaction title, product name, or payment reason)                                                                                                          |
| body          | No       | String | Remark details                                                                                                                                                               |
| partnerUserId | Yes      | String | Unique user identifier (e.g., userId). Must be valid, otherwise it will affect the transaction. Format: digits, 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                  |
| sign      | String | Signature                              |

### **Disbursement Query**

**URL: `/bdt/pay/query`**

**Parameters:**

| Parameter | 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                                                                                                         |

Return Data Parameters

| Parameter | Type    | Description                                                                                                            |
| :-------- | :------ | :--------------------------------------------------------------------------------------------------------------------- |
| orderId   | String  | Merchant order number (must be unique)                                                                                 |
| orderNo   | String  | Platform order number                                                                                                  |
| amount    | String  | Transaction amount                                                                                                     |
| fee       | String  | Fee                                                                                                                    |
| status    | Integer | Status (0 = Not started, 1 = Processing, 2 = Success (final), 3 = Failed (final), -1 = Exception pending confirmation) |
| payTime   | String  | Payment success time (exists when status=2) (local currency Time UTC+06:00), format: yyyy-MM-dd HH:mm:ss               |
| errorMsg  | String  | Failure reason (exists when status=3)                                                                                  |
| sign      | String  | Signature                                                                                                              |

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

| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit     | Status    | Description |
| -------- | -------------------------- | ----------------------- | --------- | --------- | ----------- |
| BDT      | EWALLET                    | BDT\_BKASH              | 100-50000 | Available | bkash       |
| BDT      | EWALLET                    | BDT\_NAGAD              | 100-50000 | Available | nagad       |

## Related Topics

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