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
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 | Except for sign, the remaining fields are sorted by first letter to form key1=value1key2=value2, and app secrect is used as salt for md5 encryption. The sign is finally lowercase. |
timestamp | yes | integer | Timestamp๏ผ1715941383720๏ผ |
tradeNo | yes | string | Transaction number (unique (recommended year month day hour minute second + random number)) |
amount | yes | float | Amount(does not support decimals) |
customerName | yes | string | User Name |
mobile | yes | string | Userโs mobile phone number (starting with 08 or 628, a total of 10-13 digits of Indonesian mobile phone number) |
yes | string | email account | |
bankAccountNo | yes | string | Bank Account Number |
bankCode | yes | string | Bank code (see Appendix for details) |
notifyUrl | yes | string | Asynchronous callback address |
remark | no | string | Note: This field will be returned in its original path |
Request Parameter Example
{
"amount": 100000,
"bankAccountNo": "5464438554636",
"bankCode": "0002",
"customerName": "kevin",
"email": "[email protected]",
"mobile": "6281245907765",
"notifyUrl": "https://google.com",
"remark": "remark",
"sign": "5aa258e8b5d28150097b86f55c2d2307",
"timestamp": 1732985021335,
"tradeNo": "39fa354542824ee789faf526f27c024f"
}
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 | string | Transaction result |
data | yes | Object | Return Object |
data.tradeNo | yes | string | Merchant transaction number |
data.platFormTradeNo | yes | string | Paypro transaction number, unique |
data.status | yes | string | Request result. Merchants can use it as a logic process. When the result is 0000, it means the transaction is successful, 0001 means partial payment, 0015 means in processing, and other codes are error codes and can be treated as failures. |
data.desc | yes | string | Error description |
data.remark | yes | string | remark |
Successful Returned Example
{
"msg": "success",
"code": "0000",
"timestamp": 1728611805322,
"success": true,
"data": {
"tradeNo": "test_111",
"platFormTradeNo": "2tjba3vz6wm6hx3l",
"status": "0015",
"desc": "CREATED",
"remark":"test"
}
}