Payment API
Tips
- All requests are
Post
requests, and the data format isjson
Brief Description
- None
Request URL
/v1/paypro/payIn
Request Method
- POST
Header
Header | Required | Type | Description |
---|---|---|---|
merchantNo | Yes | string | - |
Body
Parameter Name | Required | Type | Description |
---|---|---|---|
sign | Yes | string | Except for the sign, concatenate the remaining fields in alphabetical order to form key1=value1key2=value2, then use the app secret as salt to perform MD5 encryption. The sign should be in lowercase letters. |
timestamp | Yes | long | Timestamp (e.g., 1715941383720) |
amount | Yes | string | Payment amount |
username | yes | string | User Name |
mobile | yes | string | User's mobile phone number |
yes | string | email account | |
channelCode | yes | string | channelCode(EWALLET、VA) |
wayCode | no | string | wayCode • channelCode:EWALLET,wayCode:PALMPAY • channelCode:VA,wayCode:VA |
tradeNo | Yes | string | Transaction number (should be unique; suggested format: YYYYMMDDHHMMSS + random number) |
remark | No | string | Remarks; this field will be returned as is |
notifyUrl | Yes | string | Asynchronous callback URL (e.g., https://www.abc.com/); if not provided, the system will redirect to the default success page |
returnUrl | No | string | Redirect page after successful payment |
Request Parameter Example
{
"sign": "f5b02d1e945897f194b32d9ef9773a6e",
"timestamp": 1748247671673,
"tradeNo": "pSPqrzJJ3MHkdyzS",
"amount": "500",
"mobile": "15875595997",
"email": "kevin@gmail.com",
"username": "kevin",
"channelCode": "EWALLET",
"wayCode": "PALMPAY",
"notifyUrl": "http://www.google.com",
"returnUrl": "http://www.google.com",
"remark": "test"
}
Response Result
Parameter Name | Required | Type | Description |
---|---|---|---|
msg | Yes | string | Request result (Returning "success" only indicates the request was successful; it should not be used for merchant-side logic) |
code | Yes | string | Request response code (Returning "0000" only indicates the request was successful; it should not be used for merchant-side logic) |
timestamp | Yes | string | Transaction time |
success | Yes | string | Transaction result |
data | Yes | Object | Response object |
data.tradeNo | Yes | string | Merchant transaction number returned |
data.platFormTradeNo | Yes | string | Unique paypro transaction number |
data.payInfo | Yes | string | Payment information, payment link, or QR code information |
data.status | Yes | string | Request result; merchants can use this for logical processing. "0000" indicates transaction success, "0015" indicates processing, and other codes are error codes that can be treated as failures. |
data.message | Yes | string | Error description |
data.remark | Yes | string | Returned content of the request (returned as is) |
Successful Response Example
{
"msg": "success",
"code": "0000",
"timestamp": 1748247675703,
"success": true,
"data": {
"tradeNo": "pSPqrzJJ3MHkdyzS",
"kiliTradeNo": "7gwtljttc64lu4e2",
"status": "0015",
"message": "PAYING",
"payInfo": "https://checkout-daily.palmpay.com/h5-checkout/?countryCode=NG&payToken=7559FE189BED3CBFA73F312B2F89A776&orderNo=24250526082115233296&signKey=E7gqlir8PIf0_1lLg0ochAgeaA4rv4dDJlEO3qlvAo8&signSession=24250526082115233296&appId=L240927093144197211431&productType=pay_wallet&businessMode=three_mode&identityType=NEW&callable=true",
"remark": "test"
}
}