最近接手了一个棘手的工作:微信下载对账单
刚接手完全懵逼,怎么和微信对接啊然后就是百度。
微信支付|开发文档 :
通过文档我们可以看到,首先是:
关于应用场景:
商户可以通过该接口下载历史交易清单比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态 1、微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中跟原支付单订单号一致; 2、微信在次日9点啟动生成前一天的对账单,建议商户10点后再获取; 3、对账单中涉及金额的字段单位为“元” 4、对账单接口只能下载三个月以内的账单。
接着我们看下传入参数:
还有就是需要 去商户平台查自己商户号以及key这个key主要用在生成签名中。
configUtil 工具类里面要配置APPID,MCH_ID已及Key 。(注:所有的工具类峩都放文章末尾链接里自己下载即可。)我们需要在ConfigUtil工具类中配置一下:
我们看一下随机数的生成:
关于签名有三点需要注意:
①格式是:utf-8;
③签名的生成:需要前面几个值(APPID等)以及Key:
之后把xml传给微信对账单接口而后接口会返回值:
关于返回值,这里我详解下:最重偠一点是:成功和失败返回数据流类型不一样:成功返回文本格式失败返回xml格式数据。
①返回失败的情况 :返回xml 其中无数据也会返回xml 。并且格式是下图
②成功:数据以文本方式返回。
拿微信给的成功返回数据举例:
交易时间,公众账号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额,代金券或立减優惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
总交易单数,总交易额,总退款金额,总代金券或立减优惠退款金额,手续费总金額
我们对成功的数据进行处理:
总交易单数,总交易额,总退款金额,总代金券或立减优惠退款金额,手续费总金额
②去掉汇总数据并且去掉"`"这個符号。
可以看到和我们想要的数据已经大致一样了
③用spilt方法拿出每一天数据放进数组里。之后再用spilt方法把数据放进二维数组里
④最後保存下来就可以了。
最后微信支付工具类下载链接(百度网盘):
消费账单显示微信支付但是我並没有消费,微信里也查不到记录是什么回事,该怎么办
温馨提醒:如果以上问题和您遇到的情况不相符,您可以不用注册在线咨詢专业律师!