Disbursement¶
Tip
Payout API is used to initiate transfer requests to bank accounts.
- All requests are
Postrequests, and the data format isjson
Account Type Description¶
| accountType | Description |
|---|---|
| AHORRO | Savings account (Ahorro) |
| CORRIENTE | Current account (Corriente) |
ID Type Description¶
| idType | Description |
|---|---|
| DNI | National ID card, usually 8 digits |
| PAS | Passport, usually 7-12 digits |
| CE | Foreigner Resident Permit, usually 9 digits |
| RUC | Tax Registration Number, usually 11 digits |
Request URL¶
/v1/vexora/disbursements
Request Method¶
- Method: POST
- Content-Type: application/json
Header¶
| header | Required | Type | Description |
|---|---|---|---|
| merchantNo | yes | String | Merchant number |
Request Body Parameters¶
| Parameter name | Required | Type | Description |
|---|---|---|---|
| sign | yes | String | The sign field is generated by sorting all fields except sign in alphabetical order and concatenating them as key1=value1key2=value2. Use app secret as salt for MD5 encryption. The sign field should be in lowercase. |
| timestamp | yes | String | Timestamp๏ผ1715941383720๏ผ |
| tradeNo | yes | String | Transaction number (unique (recommended year month day hour minute second + random number)) |
| amount | Yes | String | Transaction amount (supports up to two decimal places, unit: PEN) |
| idType | Yes | String | Beneficiary ID type. Allowed values: DNI, PAS, CE, RUC. The value is strictly validated. |
| idCardNumber | Yes | String | Beneficiary ID number. The value is strictly validated against idType: DNI must be exactly 8 digits; PAS must be 7 to 12 alphanumeric characters; CE must be exactly 19 digits; RUC must be exactly 11 digits. |
| accountType | Yes | String | Beneficiary account type. Refer to the Account Type Description table. |
| bankCode | Yes | String | Bank code. Refer to the Disbursement Bank Codes appendix. |
| bankNumber | Yes | String | Beneficiary bank account number. |
| cciNumber | Yes | String | Interbank transfer account number. Must be exactly 20 digits. Non-digit characters are not allowed. |
| name | Yes | String | Beneficiary's full name. |
| Yes | String | Beneficiary's email address | |
| mobile | Yes | String | Beneficiary's mobile number. Must be a 9-digit number starting with 9. |
| notifyUrl | Yes | String | Asynchronous callback URL |
| remark | No | String | Remarks (this field will be returned asโis) |
Request Parameter Example¶
{
"amount": "100",
"idType": "DNI",
"idCardNumber": "12345678",
"accountType": "AHORRO",
"bankCode": "0001",
"bankNumber": "12345678901234",
"cciNumber": "12345678901234567890",
"name": "Juan Perez",
"email": "juan.perez@example.com",
"mobile": "912345678",
"tradeNo": "VX20260331008901",
"notifyUrl": "https://api.merchant.com/vexora/disbursement/notify",
"sign": "7c6a180b36896a0a8c02787eeafb0e4c",
"timestamp": "1719876543210"
}
Response Results¶
| Parameter name | Required | Type | Description |
|---|---|---|---|
| msg | yes | String | Request result (when success is returned, it only means that the request for this time is successful and cannot be used for merchant-side logical judgment) |
| code | yes | String | Request response code (when 0000 is returned, it only means that the request for this time is successful, and cannot be used for merchant-side logical judgment). For specific status/error codes, please check the status/error code directory |
| timestamp | yes | String | Transaction timestamp |
| success | yes | Boolean | Transaction result |
| data | yes | Object | Return Object |
| data.tradeNo | yes | String | Merchant transaction number |
| data.platFormTradeNo | yes | String | vexora transaction number, unique |
| data.status | yes | String | Transaction results,Merchants can process subsequent workflows based on the returned status in the transaction result. For details, please refer to the status code reference table. |
| data.message | yes | String | Error description |
| data.remark | yes | String | remark |