Create Payout Order (/payout/create)
Description
Merchants call this endpoint to initiate a single payout (disbursement) transaction. The platform debits the merchant's available balance and transfers funds directly to the recipient's account (e.g., BKASH e-wallet).
Request Information
- Endpoint:
/payout/create - Method:
POST - Content-Type:
application/json; charset=utf-8
HTTP Headers
| Header | Required | Type | Description |
|---|---|---|---|
merchantNo | Yes | String | Merchant ID |
sign | Yes | String | Base64-encoded RSA digital signature of the request body |
Request Body Parameters
| Parameter | Required | Type | Example | Description |
|---|---|---|---|---|
timestamp | Yes | Long | 1772880300000 | Current epoch timestamp in milliseconds |
merchantOrderNo | Yes | String | PO202603070001 | Unique payout order reference generated by merchant |
amount | Yes | String | 220.00 | Payout amount (maximum 2 decimal places) |
payType | Yes | String | BKASH | Payment disbursement channel; fixed value: BKASH |
accountNo | Yes | String | 01812345678 | Recipient account number (e.g., BKASH wallet number starting with 01) |
accountName | Yes | String | Tanvir Ahmed | Beneficiary account holder name |
notifyUrl | Yes | String | https://api.merchant.com/payout/notify | Asynchronous webhook callback URL |
mobile | No | String | 01812345678 | Recipient mobile number |
email | No | String | receiver@example.com | Recipient email address |
remark | No | String | Salary Payout | Custom remarks (echoed back in callback) |
Request Payload Example
json
{
"timestamp": 1772880300000,
"merchantOrderNo": "PO202603070001",
"amount": "220.00",
"payType": "BKASH",
"accountNo": "01812345678",
"accountName": "Tanvir Ahmed",
"notifyUrl": "https://api.merchant.com/payout/notify",
"mobile": "01812345678",
"email": "receiver@example.com",
"remark": "Salary Payout"
}Response Parameters
Success Response
json
{
"code": 1,
"msg": "ok",
"data": {
"merchantNo": "M1639466186292",
"merchantOrderNo": "PO202603070001",
"platOrderNo": "876324486452871168",
"amount": "220.00",
"fee": "5.00",
"status": "0"
}
}Failure Response
json
{
"code": 0,
"msg": "Insufficient balance"
}Response Fields Description
| Field | Type | Description |
|---|---|---|
code | Integer / String | Response code: 1 indicates success, 0 indicates failure |
msg | String | Status description message |
data | Object | Transaction data object |
data.merchantNo | String | Merchant ID |
data.merchantOrderNo | String | Merchant order reference number |
data.platOrderNo | String | Platform transaction number |
data.amount | String | Payout amount |
data.fee | String | Disbursement processing fee |
data.status | String | Payout status:0: Created1: Processing2: Failed3: Succeeded |
