开放平台

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 "验证签名失败";
   }