电商收付通系列⑪ ,下载账单

2021-02-05 09:57:35 浏览数 (1)

1、介绍

文档地址:

https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/bill/chapter3_3.shtml

电商收付通的账单分为交易账单和资金账单,两种账单获取方式相同,这里只举例获取交易账单。

交易账单:微信支付按天提供交易账单文件,文件内包含交易相关的金额、时间、营销等信息,供商户核对订单、退款、银行到账等情况。

资金账单:微信支付按天提供微信支付账户的资金流水账单文件,文件内包含该账户资金操作相关的业务单号、收支金额、记账时间等信息,供商户进行核对。

业务流程图:

2、简单步骤

第一步:先调用申请交易账单API,获取download_url

代码语言:javascript复制
public static JSONObject tradebill() {
  TradeBillParam param = new TradeBillParam();
  param.setBill_date("2020-03-22");
  param.setSub_mchid("1564807461");
  param.setBill_type("ALL");
  param.setTar_type("GZIP");//GZIP

  String requestParam = JSON.toJSONString(param);

  logger.info("tradebill param:{}",requestParam);

  HttpResponse response = HttpUtils.v3HttpExecute("GET", String.format(BillUrl.TRADE_BILL,param.getBill_date(),param.getSub_mchid(),param.getBill_type(),param.getTar_type()),
          "自己系统的应用名称","服务商商户号","商户API证书序列号","平台证书序列号","","商户API证书位置.pem",null);

  logger.info("tradebill jsonObject:{}",response);
  return JSONObject.parseObject(response.body());
}

结果,注意,账单文件的下载地址的有效时间为30s:

代码语言:javascript复制

{"download_url":"https://api.mch.weixin.qq.com/v3/billdownload/file?token=3qqKHhrJo4nbfoefwB4SyoMaeDzdYua_9-WPLT8aDZaDZAGR2xmgnURg_cdSH8SZ&tartype=gzip","hash_type":"SHA1","hash_value":"bcac7ca40ccdf2b5f025be9aba0e8d27d1ec9824"}

如果超出30s调用,则会报如下错误

代码语言:javascript复制
{"code":"INVALID_REQUEST","message":"下载链接过期,请重新请求文件下载"}

第二步:再调用下载账单API获取账单数据流

代码语言:javascript复制
public static JSONObject billdownload(String token) {
  logger.info("billdownload param:{}",token);

  HttpResponse response = HttpUtils.v3HttpExecute("GET", String.format(BillUrl.BILL_DOWNLOAD,token),
          "自己系统的应用名称","服务商商户号","商户API证书序列号","平台证书序列号","","商户API证书位置.pem",null);

  logger.info("billdownload jsonObject:{}",response);
  return JSONObject.parseObject(response.body());
}

结果:

上一篇:电商收付通系列⑩,合单下单之扫码支付

0 人点赞