我这里下载的是:下载批次核销明细
按照官网接口获取下载的是这一堆
{
"url" : "https://api.mch.weixin.qq.com/v3/billdownload/file?token=ja7q-s1yy1ZbROASakz0Jx4BjW3qdnympjfcB4v4yLftXXXXXXXXXXXX",
"hash_value" : "8ae0eb442c408d2e90d669d6f4ad6b7e6e049d6f",
"hash_type" : "SHA1"
}
在浏览器访问url 后,又返回了如下图
这种问题微信文档也没有具体说明要怎么下载;
具体步骤如下
把返回的url, 需要在后台再次发起 get 请求,验证签名
要保证:要保证与 下载批次核销明细的时间戳(timestamp) 随机数(s) 商户号(mch_id) 证书(私钥)(key_path) 序列号(sn) 批次号(stockId) 一致
比如我这里;url 去进行生成签名时,必须要用返回的 v3/bill/downloadurl?token=xxx 而不是第一发起请求的 /v3/marketing/favor/stocks/{stock_id}/use-flow
//代金券 根据下载地址获取数据
public static String vouchDown(WxCouponReqDto reqBo,String url) {
HttpRequest request = HttpRequest.get(url);
String Authorization = WxSignUtils.getToken_1("GET", url.replace(uri,""), null, reqBo);
HttpResponse response = request
.header("Accept", "application/json")
.header("Authorization", Authorization)
.execute();
return response.body();
}
最后会返回
一堆如下内容