1、介绍
代码地址: https://github.com/xm646236438/wechat_pay_score/tree/master
SpringBoot
具体的代码以及逻辑可以看 微信支付分(一)–创建支付分订单 以及 GitHub
上一篇博客: 微信支付分(三)–完结支付分订单
下一篇博客:微信支付分(五)–回调通知
2、代码
public CommonResult cancel(String orderNo) {
JSONObject parameters = new JSONObject();
parameters.put("appid", appId);
parameters.put("service_id", serviceId);
parameters.put("reason", "业务流程取消");
JSONObject jsonObject;
cancelOrderUrl = cancelOrderUrl + "/" + orderNo + "/cancel";
try {
log.info("请求支付分参数: " + cancelOrderUrl);
log.info("请求支付分参数: " + parameters);
HttpResponse execute = HttpRequest.post(cancelOrderUrl)
.header(Header.CONTENT_TYPE, "application/json")
.header(Header.ACCEPT, "application/json")
.header("Authorization", "WECHATPAY2-SHA256-RSA2048" + " "
+ PayScore.getToken("POST", cancelOrderUrl, JSONObject.toJSONString(parameters), mchId, serialNo, "pem/apiclient_key.pem"))//头信息,多个头信息多次调用此方法即可
.body(JSONObject.toJSONString(parameters))
.execute();
String header = execute.header("Request-ID");
log.info("请求支付分返回参数HEAD标识: " + header);
jsonObject = JSONObject.parseObject(execute.body());
log.info("请求支付分返回参数: " + jsonObject);
} catch (Exception e) {
throw new SpringExceptionResolver("500", "网络超时!");
}
if (!StringUtils.isEmpty(jsonObject.getString("code"))) {
return CommonResult.fail(500, jsonObject.getString("message"));
}
return CommonResult.success("SUCCESS", jsonObject);
}