Payment API
Tips
- All requests are
Postrequests, and the data format isjson
Brief Description
Request URL
/api/payin
Request Method
- POST
Header
| header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | string | None |
Body
| Parameter | Required | Type | Description |
|---|---|---|---|
| sign | Yes | string | Except for the sign field, all remaining fields should be sorted alphabetically by their first letter, combined into key1=value1key2=value2, and encrypted using the app secret as salt via MD5. The final sign value should be in lowercase. |
| timestamp | Yes | long | Timestamp (1715941383720) |
| amount | Yes | string | Amount๏ผThe minimum amount is recommended to be greater than KSH.50, and only integers are supported๏ผ |
| remark | No | string | Remark, this field will be returned as-is |
| tradeNo | Yes | string | Transaction number (uniqueness recommended: year, month, day, hour, minute, second + random number) |
| mobile | Yes | string | Mobile number (in some countries, the mobile number is the account number) |
| notifyUrl | Yes | string | Asynchronous callback URL |
Request Parameter Example
{
"sign": "000000",
"timestamp": "1715941383720",
"amount": "3",
"remark": "000000",
"tradeNo": "00000001",
"mobile": "mobile",
"notifyUrl": "https://google.com"
}
Response Result
| Parameter | Required | Type | Description |
|---|---|---|---|
| msg | Yes | string | Request result (when returning success, it only indicates that the request was successful and cannot be used for merchant-side logic judgment) |
| code | Yes | string | Request response code (when returning 0000, it only indicates that the request was successful and cannot be used for merchant-side logic judgment). For specific error codes, please refer to the business error code enumeration. |
| timestamp | Yes | string | Transaction time |
| success | Yes | string | Transaction result |
| data | Yes | Object | Return object |
| data.serialNumber | Yes | string | Result ID returned by paypro, unique |
| data.status | Yes | string | Request result, merchants can use this for logic processing. When the result is 0000, it indicates a successful transaction; 0015 indicates processing; all other codes indicate errors and can be treated as failures. |
| data.desc | Yes | string | Error description |
| data.remark | Yes | string | Request return content (returned as-is) |
Successful Response Example
{
"msg": "success",
"code": "0000",
"timestamp": 1719829837779,
"success": true,
"data": {
"serialNumber": "5286e98841194687a95d25b5f3be346d",
"status": "0015",
"desc": "CREDIT_INPROGRESS"
}
}
