Bangladesh Payment API
About 1003 wordsAbout 3 min
Warning
Before reading this API documentation, please make sure to review API Description Guide
Transaction Limits
| Transaction Type | Limit |
|---|---|
| Collection | BDT: 100-50000 |
| Disbursement | BDT: 100-50000 |
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: Donald John Trump |
| phone | Yes | String | Valid phone number (format reference: Phone Number Format) |
| Yes | String | Valid email | |
| amount | Yes | String | Transaction amount (accurate to two decimal places; punctuation marks such as “,” are prohibited) |
| payType | Yes | String | Transaction type |
| inBankCode | Yes | String | Payment Method |
| callBackUrl | Yes | String | Redirect URL after successful payment |
| callBackFailUrl | Yes | String | Redirect URL after failed payment |
| 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 a 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
| 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 (accurate to two decimal places; punctuation marks such as “,” are prohibited) |
| accountType | Yes | String | Account type: EWALLET (e-wallet), BANK_ACCOUNT (bank) |
| bankCode | Yes | String | Payment Method |
| 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) |
| 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
| 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 |