Payout API
Tips
Payout API is used to initiate transfer requests to e-wallets or bank accounts.
- All requests are
Post
requests, and the data format isjson
Short Description
For specific bank enumeration values, please go to the bank list.
Request URL
/v1/paypro/payOut
Request method
- post
Header
header | required | type | description |
---|---|---|---|
merchantNo | YES | string | No |
Request Body Parameters
parameter name | required | type | description |
---|---|---|---|
sign | Yes | string | In addition to sign, initialise the remaining fields to form key1=value1key2=value2, use app secrect to do salt for md5 encryption, sign ends up being a lowercase letter |
timestamp | Yes | integer | timestamp (1715941383720) |
tradeNo | Yes | string | uniqueness (suggested year, month, day, hour, minute, second + random number) |
wayCode | Yes | string | bankList |
amount | Yes | string | Payment Amount (decimal point not supported) |
customerName | Yes | string | User Name |
customerMobile | No | string | User's mobile phone |
customerEmail | No | string | user email |
customerAccountType | Yes | string | User Account Type (Account Type (DebitCard or CLABE)) |
customerAccount | Yes | string | User Account Number |
identity | No | string | Recipient ID Number |
notifyUrl | Yes | string | asynchronous callback address (not passed as configured in merchant backend) |
remark | No | string | Remarks, this field will be brought back in its original form |
Example of request parameters
{
"sign": "b39f64dc1586867b1966a569ba06e3a2",
"timestamp": "1728611780130",
"tradeNo": "test_00000001",
"wayCode": "BANXICO",
"amount": "200",
"customerName": "kevin zhang",
"customerMobile": "18956325478",
"customerEmail": "[email protected]",
"customerAccountType": "DebitCard",
"customerAccount": "kevin_zhang_account",
"identity": "58452586558",
"notifyUrl": "https://google.com",
"remark": "test"
}
Response Result
parameter name | required | type | description |
---|---|---|---|
msg | Yes | string | Request Result (when return success only means this request is successful, can't do merchant side logic judgement) |
code | Yes | string | Request Response Code (when return 0000 only means this request is successful, can not do merchant side logic judgement), specific error code, please go to the business error code enumeration view |
timestamp | Yes | string | Transaction timestamp |
success | Yes | string | transaction result |
data | Yes | Object | return object |
data.tradeNo | Yes | string | Merchant Trade Number Return |
data.platFormTradeNo | Yes | string | Paypro's trade order number, unique |
data.status | Yes | string | The result of the request, the merchant can use it as a logic process, when the result is 0000 means the transaction is successful, 0015 means the process is in progress, the other are error codes, can be treated as failure |
data.desc | Yes | string | Error Description |
data.remark | Yes | string | remark |
Successful return example
{
"msg": "success",
"code": "0000",
"timestamp": 1728611805322,
"success": true,
"data": {
"tradeNo": "test_111",
"platFormTradeNo": "2tjba3vz6wm6hx3l",
"status": "0015",
"desc": "CREATED",
"remark":"test"
}
}