Payment Casher
Tips
- All requests are
Postrequests, and the data format isjson
Brief Description
Request URL
/v1/paypro/payin
Request Method
- POST
Header
| Header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | string | None |
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 | String | Timestamp (e.g., 1715941383720) |
| amount | Yes | string | Payment amount (amounts with decimals are not recommended) |
| tradeNo | Yes | string | Transaction number (should be unique; suggested format: YYYYMMDDHHMMSS + random number) |
| name | Yes | string | Payer's name |
| mobile | Yes | string | Mobile number of the payee (10 digits beginning with 6, 7, 8, or 9; omit the 91 country code). |
| Yes | string | Payer's email (should use gmail.com domain, e.g., abc@gmail.com) | |
| ipAddress | Yes | string | Payer's ipAddress |
| 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 | Yes | string | Redirect page after successful payment |
Request Parameter Example
{
"sign": "f53ee692f15d0329a1461373b67ff25a",
"timestamp": "1724142041682",
"tradeNo": "00000007",
"amount": "300",
"name": "abc",
"mobile": "918234567890",
"email": "123@qq.com",
"ipAddress": "14.155.28.59",
"remark": "000000",
"notifyUrl": "https://google.com",
"returnUrl": "http://abc.com/callback_page"
}
Response Result
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| msg | Yes | string | Request result (when returning "success", it only indicates that this request was successful; it should not be used for merchant-side logic judgment) |
| code | Yes | string | Request response code (when returning "0000", it only indicates that this request was successful; it should not 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 | Returned object |
| data.platFormTradeNo | Yes | string | Platform order number, unique |
| data.status | Yes | string | Request result; merchants can use it for logical processing. When the result is "0000", it indicates that the transaction is successful; "0015" indicates processing; all others are error codes and can be treated as failures. |
| data.desc | Yes | string | Error description |
| data.remark | Yes | string | Content returned from the request (returned as is) |
| data.paymentLink | Yes | string | Payment link, i.e., the cash register |
Example of Successful Return
{
"msg": "success",
"code": "0000",
"timestamp": 1729945579983,
"success": true,
"data": {
"platFormTradeNo": "8h7kold1d6g8fbmm",
"status": "0015",
"desc": "CREATED",
"paymentLink": "https://www.kaixin199.info/payment/Maya/PHP60801Maya061484533"
}
}
