本文是【浅析微信支付】系列文章的第九篇,主要讲解商户下载对帐单接口和资金帐单接口的实现和一些注意事项。
浅析微信支付系列已经更新九篇了哟~,没有看过的朋友们能够看一下哦。php
浅析微信支付:查询订单和关闭订单github
在商户平台中,商家也能够下载资金对帐单,历史的交易清单,具体位置:商户平台 -> 交易中心 -> 帐单管理。api
若是要查看实时的流水记录,能够在微信APP中搜索小程序 微信支付商户助手
便可查看。微信
如下为微信官方的下载对帐单
文档:app
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6
根据接口下载历史的交易帐单,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。测试
此接口方便商家在自身系统中下载,不依赖于微信商户平台。微信支付
商户能够经过该接口下载历史交易清单。好比掉单、系统错误等致使商户侧和微信侧数据不一致,经过对帐单核对后可校订支付状态。spa
注意: 一、微信侧未成功下单的交易不会出如今对帐单中。支付成功后撤销的交易会出如今对帐单中,跟原支付单订单号一致; 二、微信在第二天9点启动生成前一天的对帐单,建议商户10点后再获取; 三、对帐单中涉及金额的字段单位为“元”。 四、对帐单接口只能下载三个月之内的帐单。 五、对帐单是以商户号纬度来生成的,如一个商户号与多个appid有绑定关系,则使用其中任何一个appid均可以请求下载对帐单。对帐单中的appid取自交易时候提交的appid,与请求下载对帐单时使用的appid无关。
https://api.mch.weixin.qq.com/pay/downloadbill
不须要
调用参数:
字段名称 | 变量名 | 必填 | 类型 | 描述 |
---|---|---|---|---|
帐单日期 | bill_date | 是 | String(8) | 下载对帐单的日期,格式:20140603 |
帐单类型 | bill_type | 是 | String(8) | ALL,返回当日全部订单信息,默认值SUCCESS,返回当日成功支付的订单REFUND,返回当日退款订单RECHARGE_REFUND,返回当日充值退款订单 |
压缩帐单 | tar_type | 否 | String(8) | 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包帐单。不传则默认为数据流形式。 |
如下为调用示例代码:
/** * 对帐单下载 */ private void doDownloadBill() { HashMap<String, String> data = new HashMap<String, String>(); data.put("bill_date", "20161102"); data.put("bill_type", "ALL"); try { Map<String, String> r = wxpay.downloadBill(data); System.out.println(r); } catch (Exception e) { e.printStackTrace(); } }
成功时,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。
第一行为表头,根据请求下载的对帐单类型不一样而不一样(由bill_type决定),目前有:
当日全部订单
交易时间,公众帐号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额,代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
当日成功支付的订单
交易时间,公众帐号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,商品名称,商户数据包,手续费,费率
当日退款的订单
交易时间,公众帐号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,退款申请时间,退款成功时间,微信退款单号,商户退款单号,退款金额,代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率
从第二行起,为数据记录,各参数以逗号分隔,参数前增长`符号,为标准键盘1左边键的字符,字段顺序与表头一致。
倒数第二行为订单统计标题,最后一行为统计数据
总交易单数,总交易额,总退款金额,总代金券或立减优惠退款金额,手续费总金额
举例以下:
交易时间,公众帐号ID,商户号,子商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,总金额,代金券或立减优惠金额,微信退款单号,商户退款单号,退款金额,代金券或立减优惠退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率 `2014-11-1016:33:45,`wx2421b1c4370ec43b,`10000100,`0,`1000,`1001690740201411100005734289,`1415640626,`085e9858e3ba5186aafcbaed1,`MICROPAY,`SUCCESS,`CFT,`CNY,`0.01,`0.0,`0,`0,`0,`0,`,`,`被扫支付测试,`订单额外描述,`0,`0.60% `2014-11-1016:46:14,`wx2421b1c4370ec43b,`10000100,`0,`1000,`1002780740201411100005729794,`1415635270,`085e9858e90ca40c0b5aee463,`MICROPAY,`SUCCESS,`CFT,`CNY,`0.01,`0.0,`0,`0,`0,`0,`,`,`被扫支付测试,`订单额外描述,`0,`0.60% 总交易单数,总交易额,总退款金额,总代金券或立减优惠退款金额,手续费总金额 `2,`0.02,`0.0,`0.0,`0
如下为微信官方的下载资金帐单
文档:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_18&index=7
商户能够经过该接口下载自2017年6月1日起 的历史资金流水帐单。
说明:
一、资金帐单中的数据反映的是商户微信帐户资金变更状况; 二、当日帐单在第二天上午9点开始生成,建议商户在上午10点之后获取; 三、资金帐单中涉及金额的字段单位为“元”。
https://api.mch.weixin.qq.com/pay/downloadfundflow
请求须要双向证书
调用参数:
字段名称 | 变量名 | 必填 | 类型 | 描述 |
---|---|---|---|---|
签名类型 | sign_type | 否 | String(32) | 签名类型,目前仅支持HMAC-SHA256 |
资金帐单日期 | bill_date | 是 | String(8) | 下载对帐单的日期,格式:20140603 |
资金帐户类型 | account_type | 是 | String(8) | 帐单的资金来源帐户:Basic 基本帐户、Operation 运营帐户、Fees 手续费帐户 |
压缩帐单 | tar_type | 否 | String(8) | 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包帐单。不传则默认为数据流形式。 |
此接口不经常使用,推荐使用微信商户平台下载。具体的实现请参考上面的官方文档。
以上为下载对帐单、资金帐单
相关的解释和源码,特别须要注意的是下载资金帐单
接口须要特定的签名类型HMAC-SHA256
,小伙伴们必定要注意哦,具体的源码能够看做者的github,里面对每一个方法有详细的注释。
预告:下一篇文章 如何使用沙箱环境测试
,敬请期待!!!
若是想要提早一览源码的小伙伴,能够先看看个人 github,地址以下:
`
https://github.com/YClimb/wxp...
`
关注做者微信公众号,点击下方讨论群
,扫码便可加入微信支付讨论群
与小伙伴一块儿探讨哦~
到此本文就结束了,关注公众号查看更多推送!!!