java 微信 下载对账单_java下载微信对账单,实现与微信实收对账和日清日结对账...

本文介绍了如何使用Java对接微信支付接口,下载并解析对账单,包括下载接口、参数设置、签名生成、数据处理等步骤,以实现与微信实收对账。文中详细讲解了关键代码和注意事项,强调了仔细阅读官方文档的重要性。
摘要由CSDN通过智能技术生成

最近接手了一个棘手的工作:微信下载对账单。

刚接手完全懵逼,怎么和微信对接啊。然后就是百度。。

终于找到了组织:

微信支付|开发文档 :点击跳转

通过文档我们可以看到,首先是:

1.下载对账单开放接口链接:

https://api.mch.weixin.qq.com/pay/downloadbill

关于应用场景:

商户可以通过该接口下载历史交易清单。比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态。

注意:

1、微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致;

2、微信在次日9点启动生成前一天的对账单,建议商户10点后再获取;

3、对账单中涉及金额的字段单位为“元”。

4、对账单接口只能下载三个月以内的账单。

2.传入的参数:

接着我们看下传入参数:

e6a4d735c854e2b86307d9e685577f6f.png

其中,微信分配的appId 和 商户号 是自己的。

还有就是需要 去商户平台查自己商户号以及key。这个key主要用在生成签名中。

看一下查詢代码:

57bb05a793ea794c70af7c661c957ebe.png

SortedMapparameters = new TreeMap();

parameters.put("appid", ConfigUtil.APPID); // APPid

parameters.put("mch_id", ConfigUtil.MCH_ID); // 商户id

// parameters.put("device_info", "");//微信支付分配的终端设备号,填写此字段,只下载该设备号 的对账单

parameters.put("nonce_str", PayCommonUtil.CreateNoncestr());

// 下载对账单的日期,格式:20140603,当前日期前一天。

String billDate = DateUtil.date2Str(DateUtil.addDay(new Date(), -1), "yyyyMMdd");

parameters.put("bill_date", billDate);//

// bill_type:ALL返回当日所有订单信息,默认值SUCCESS返回当日成功支付的订单。REFUND,返回当日退款订单

parameters.put("bill_type", "ALL");

String sign = PayCommonUtil.createSign("utf-8", parameters);

parameters.put("sign", sign);

String reuqestXml = PayCommonUtil.getRequestXml(parameters);

String result = CommonUtil.httpsRequest(ConfigUtil.DOWNLOAD_BILL_URL, "POST", reuqestXml);

57bb05a793ea794c70af7c661c957ebe.png

configUtil 工具类里面要配置APPID,MCH_ID,已及Key 。(注:所有的工具类我都放文章末尾链接里,自己下载即可。)我们需要在ConfigUtil工具类中配置一下:

57bb05a793ea794c70af7c661c957ebe.png

public final static String APPID = "";//服务号的应用号

public final static String APP_SECRECT = "";//服务号的应用密码

pu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值