orderRefund
在线订单申请退款
证书生成工具 : 下载
请求地址 :
| 环境 | 提交方式 | HTTPS请求地址 |
|---|---|---|
| 正式环境 | POST | https://open.hexinpass.com:8501/api/orderRefund |
公共参数 :
| 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| data[orderNumber] | string | 是 | 退款订单号,长度不能操作30位 | |
| data[originalOrderNumber] | string | 是 | 原订单交易流水 | |
| data[amount} | number | 是 | 退款金额(单位分) | |
| data[desc] | string | 是 | 退款描述 | |
| data[time] | number | 是 | 退款发起时间 | |
| data[callbackurl] | string | 是 | 回调地址,退款成功后通知业务系统地址,
通知方式为http/https-post, 业务系统处理完业务后要返回订单系统"success"字符串,否则订单系统会多次通知业务系统, 通知间隔时间为10s,如果第三次通知任然失败订单系统将放弃通知,并标记该订单回调失败。 |
|
| sign | string | 是 | data数据签名,数据签名将以data数据里边的字段升序排列后,将value拼接成字符串后使用rsa进行验签 | |
| 请求参数示例: |
{"data":{"amount":5900,"callbackurl":"http:\/\/xxx.xxx.com\/index.php\/Home\/Order\/appPaySuccess?orderno=GC12432893641224","orderNumber":"退款订单号","originalOrderNumber":"原流水号","time":1800},"sign":"jzNh13WsHwSg18kWdIjEMYeXCyrvZiUjqxtJUrtvO6RTAPQUdy9EMBPOiym6\/nrpb83nzqkjdeS3EBMmUPJrgoSKJWXb9iMIwqKUk1fXziWtVpRoFTVbAhUU9pdud0NM6kD8CXUeUuhFy5vmciTWyc6Nc="}
|
返回参数 :
| 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| success | number | 是 | 成功状态 0成功,非0失败 | |
| code | number | 是 | 错误码 | |
| msg | string | 是 | 描述 | |
| results[orderNumber] | string | 是 | 订单号 | |
| results[serialNumber] | string | 是 | 流水号 | |
| results[orderStatus] | number | 是 | 订单状态 0 待处理 1 成功 2 失败 | |
| 接口返回参数示例: |
{"success":0,"code":0,"msg":"","results":{"orderNumber":"0002MIO12201712120948093085671","serialNumber":"CN02MIO12201712120948093085671","orderStatus":0}}
|
回调数据:
| {"data":"{\"orderNumber\":\"业务系统退款订单号\",\"serialNumber\":\"退款流水\",\"amount\":1000,\"status\":1,\"userId\":\"1\",\"txTime\":1685929679,\"createTime\":1685929679}","sign":"BJ5e9GVvEBCAAZ3NN0g3+qxH3dQtLiBuXEDd0dmuX0ZBCLuqSLxaOwg3nHKTDUqo97N8h2\/S5jXCN0b0\/krK5Q\/FEoP3PKpBN7yLDQ1i4gs4hV1bmi\/ALIHlqyIm1mWWfTk5xEkCzC1UHIO4DzzJWrKaB2\/bWkJteiPGYLz1VQVI3VLT8e9b49aqeuW5kHAfHlNA07ATKvzRPPrWHmswE7Wan7gLcM1My\/1ZXOD3dcIpb8SPH3KkuZLDh1ehJ8JNOoDaSS9imfUkFFyiorZxTqOB+hLoyGqR+HQ+ElMmeLpZ+duMNhQvBR7rd5XTHBwGxncuzkQaGjLLz3PZGXycNw=="} |
返回参数说明:
| 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| data | string | 是 | 业务数据包,格式为json字符串 | |
| sign | string | 是 | data数据签名,数据签名将以data数据里边整个数据包进行rsa验签 |
data数据说明:
| 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| orderNumber | string | 是 | 业务系统退款订单号 | |
| serialNumber | string | 是 | 退款流水号 | |
| status | int | 是 | 退款状态 | 0 未处理 1 成功 2失败 |
| amount | int | 是 | 金额 | |
| txTime | int | 是 | 退款时间 | |
| createTime | int | 是 | 退款创建时间 |
解析demo:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
$json =""; //回调数据
$arr=json_decode($json,true);
$public_key = file_get_contents(dirname(__FILE__) .
'/public.pem');
$pkeyid = openssl_pkey_get_public($public_key);
$data = $arr["data"];
$sign = $arr["sign"];
$sign = base64_decode($sign);
$verify = 0;
if ($pkeyid) {
$verify = openssl_verify($data, $sign, $pkeyid,
OPENSSL_ALGO_SHA1);
openssl_free_key($pkeyid);
}
if ($verify==1){
echo "success"; //签名验证成功
}else{
echo "验证签名失败";
}
|