Payment API
Tips
- All requests are
Post
requests, and the data format isjson
Brief Description
Request URL
/v1/paypro/payIn
Request Method
- post
Header
Header | Required | Type | Description |
---|---|---|---|
merchantNo | yes | string | no |
Body
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 | long | Timestamp๏ผ1715941383720๏ผ |
tradeNo | yes | string | Transaction number (unique (recommended year month day hour minute second + random number)) |
username | 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 | |
channelCode | yes | string | channelCode๏ผNote: For details, please refer to the WayCode appendix๏ผ |
wayCode | no | string | wayCode๏ผNote: For details, please refer to the WayCode appendix๏ผ |
amount | yes | float | Amount(does not support decimals) |
notifyUrl | yes | string | Asynchronous callback address |
returnUrl | no | string | The URL to which the end client is redirected if authorization is successful |
remark | no | string | Note: This field will be returned in its original path. |
Request Parameter Example
{
"sign": "363b4674a1c1772e8a50295dc19d6727",
"timestamp": "1732988442913",
"tradeNo": "0b4ece82fa9749e8b8e57fa64931b7f8",
"username": "kevin",
"amount": 1000000,
"channelCode": "EWALLET",
"wayCode": "DANA",
"email": "[email protected]",
"mobile": "6281245907765",
"notifyUrl": "https://google.com",
"returnUrl": "http://abc.com/callback_page",
"remark": "test"
}
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 time |
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 | The returned content of the request (returned in the original path) |
data.paymentUrl | yes | string | The URL for online checkout on mobile devices. Using a mobile browser does not require an electronic wallet application. Payment Link Payment method is DANA, LINKAJA return. |
data.qrString | no | string | Returned when channelCode = QRIS |
data.vaNumber | no | string | Return when channelCode = VA |
Successful Returned Example
{
"msg": "success",
"code": "0000",
"timestamp": 1728609277476,
"success": true,
"data": {
"tradeNo": "428c430ce59b47138674c971ff07a711",
"platFormTradeNo": "c167o1itir0fypid",
"status": "0015",
"desc": "Paying",
"remark": "11111",
"paymentUrl": "https://m.dana.id/link/pay?bizNo=20241130111212800110166014426619726×tamp=1732957513413&mid=216620070017015566089&did=216650001079216397931&sign=grrLubmutsZrKVwAE9QTamSYl2%2BwnFiwdFHK5aYgYpL7Z7%2BMtX1MHD1PbXNWmpq42lzaFHILn6PfJf2znZyFv1BPQKZC%2Fney4WcgRLwQMoLlGxSdytlOoNVinegyPJgt5tEuqcvuXj9c2ra%2FIGCgi6N5g4N8Fyz6fU29E3OJuoyni6Q4B3SD1jR%2FXLTmMe%2FhkWy1oj9C9n3OHh5RsCjh%2FpVTxuRZxzDjSLIw7MXja7psomwU4D8V6mjCfI722u5iIgAMNv1zVH%2BHH60%2BDFFw4APaxfHM0DTTx%2FEhuAlmsJTkGk%2FTCDwU7OFm2nIhND4spV7JJDxn%2FWju3orXX96eSw%3D%3D&forceToH5=false",
"qrString": "00020101021226670021ID/.HTTPS://CFSUKSESS011893600922376110100202097611010020303UMI51440014ID.CO.QRIS.WWW0215ID20243249690030303UMI520465335802ID5902CF6015 JAKARTA SELATA6105127605405500005303360623605259d9faf8343bb48a186ca7c6e20703A0163049FE2",
"vaNumber": "189652365423658965"
}
}