[PayIn] BDT Payment Data
For shops with BDT currency, when creating a payin (POST /api/v1/payins) the following fields must be sent in the paymentData object.
Required fields in paymentData
| Parameter | Type | Required | Description |
|---|---|---|---|
| wallet_provider | string | Yes | Wallet provider. Possible values: Nagad, BKash. |
| mobile_number | string | Yes | Customer Mobile Number |
| string | Yes | Customer Email | |
| customer_name | string | Yes | Customer Name |
Example request body
{
"external_id": "PIN-BDT-001",
"amount": 5000.00,
"currency": "BDT",
"shop_code": "your_bdt_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10",
"paymentData": {
"wallet_provider": "BKash",
"mobile_number": "01872456789",
"email": "info@test.com",
"customer_name": "Test Name"
}
}
Response fields
| Parameter | Type | Description |
|---|---|---|
| id | number | TrustedPay operation ID. |
| status | string | Current payin status. |
| external_id | string | Unique payin identifier from the request. |
| amount | number | Payin amount. |
| currency | string | Payin currency. |
| shop_code | string | Shop code used for routing. |
| merchant_user_id | string | Merchant user identifier from the request. |
| merchant_user_ip | string | User IP from the request. |
| paymentData | object | Shop-specific payin fields. |
| transaction_type | string | Always payin. |
| created_at | string | Creation timestamp. |
| updated_at | string | Last update timestamp. |
| finalization_date | string | Returned when the payin reaches a final status. |
Example response body
{
"id": 12345,
"status": "pending",
"external_id": "PIN-BDT-001",
"amount": 5000,
"currency": "BDT",
"shop_code": "your_bdt_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10",
"paymentData": {
"wallet_provider": "BKash",
"mobile_number": "01872456789",
"email": "info@test.com",
"customer_name": "Test Name"
},
"transaction_type": "payin",
"created_at": "2025-12-05T10:00:00.000000Z",
"updated_at": "2025-12-05T10:00:00.000000Z"
}
Without valid wallet_provider , mobile_number, email or customer_name in paymentData, the request will be rejected with a validation error (422, "Invalid paymentData").