本文是【浅析微信支付】系列文章的第九篇,主要讲解商户下载对账单接口和资金账单接口的实现和一些注意事项。

浅析微信支付系列已经更新九篇了哟~,没有看过的朋友们可以看一下哦。

在商户平台中,商家也可以下载资金对账单,历史的交易清单,具体位置:商户平台 -> 交易中心 -> 账单管理。

如果要查看实时的流水记录,可以在微信APP中搜索小程序 微信支付商户助手 即可查看。

1、下载对账单

以下为微信官方的下载对账单文档:

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6

根据接口下载历史的交易账单,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。

此接口方便商家在自身系统中下载,不依赖于微信商户平台。

1.1. 应用场景

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

注意:

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

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

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

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

5、对账单是以商户号纬度来生成的,如一个商户号与多个appid有绑定关系,则使用其中任何一个appid都可以请求下载对账单。对账单中的appid取自交易时候提交的appid,与请求下载对账单时使用的appid无关。

1.2. 接口链接

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

1.3. 是否需要证书

不需要

1.4. 调用接口

调用参数:

字段名称

变量名

必填

类型

描述

账单日期

bill_date

String(8)

下载对账单的日期,格式:20140603

账单类型

bill_type

String(8)

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

压缩账单

tar_type

String(8)

非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。不传则默认为数据流形式。

以下为调用示例代码:

/**

* 对账单下载

*/

private void doDownloadBill() {

HashMap data = new HashMap();

data.put("bill_date", "20161102");

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

try {

Map r = wxpay.downloadBill(data);

System.out.println(r);

} catch (Exception e) {

e.printStackTrace();

}

}

1.5. 返回结果

成功时,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。

第一行为表头,根据请求下载的对账单类型不同而不同(由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

2、下载资金账单接口

以下为微信官方的下载资金账单文档:

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_18&index=7

2.1. 应用场景

商户可以通过该接口下载自2017年6月1日起 的历史资金流水账单。

说明:

1、资金账单中的数据反映的是商户微信账户资金变动情况;

2、当日账单在次日上午9点开始生成,建议商户在上午10点以后获取;

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

2.2. 接口链接

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

2.3. 是否需要证书

请求需要双向证书

2.4. 调用接口

调用参数:

字段名称

变量名

必填

类型

描述

签名类型

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/wxpay-sdk/blob/master/README.md ​

关注作者微信公众号,点击下方讨论群,扫码即可加入微信支付讨论群与小伙伴一起探讨哦~

到此本文就结束了,关注公众号查看更多推送!!!

关注我的公众号

php微信商户下载对账单,浅析微信支付:下载对账单和资金账单相关推荐

  1. 微信商户转账到个人银行卡(Java)开发

    简介: 微信商户转账到个人银行卡需要单独申请该功能, 满足条件:商户开通90天,商户流水1个月. 备注:如果在开发这之前有开发过微信支付,则不需要配置任何东西,如果没有开发过微信支付,则需要在微信商户 ...

  2. android 绑定微信号,Android工作整理-梳理微信的登录、分享与支付

    概念预设 用户在使用微信支付时,钱是到了所配置的商户号里. 商户号要配置到 APP.公众号或小程序里 [商户号名称一]商户号:aaaaaa [商户号名称二]商户号:bbbbbb 一个邮箱只能创建一个公 ...

  3. 快速开发微信小程序之二-微信支付

    一.背景 在面试程序员的时候,有两项经历会带来比较大的加分,第一你是否做过支付金融相关的业务,第二你是否写过底层框架中间件代码,今天我们聊一下微信支付是如何对接的. 二.相关概念 1.微信商户平台 要 ...

  4. 浅析微信小程序生命周期之应用生命周期

    浅谈微信小程序生命周期之应用生命周期 参考:微信小程序官方文档 微信小程序生命周期可分为应用生命周期.页面生命周期和组件生命周期,本文结合微信官方文档浅析微信小程序的应用生命周期.从注册一个小程序生命 ...

  5. 浅析微信支付:商户平台代金券或立减优惠开通、指定用户代金券发放、查询等

    本文是[浅析微信支付]系列文章的第十四篇,主要讲解在如何开通商户平台的代金券或立减优惠功能,商家向指定用户发送代金券,查询发送记录,代金券信息等. 浅析微信支付系列已经更新十四篇了哟-,没有看过的朋友 ...

  6. 浅析微信支付:申请退款、退款回调接口、查询退款

    本文是[浅析微信支付]系列文章的第八篇,主要讲解商户如何处理微信申请退款.退款回调.查询退款接口,其中有一些坑的地方,会着重强调. 浅析微信支付系列已经更新七篇了哟-,没有看过的朋友们可以看一下哦. ...

  7. 浅析微信支付:1前篇大纲

    以下会分几个步骤讲一下我学习微信支付的过程,也是一部辛酸史,也是希望朋友们不要再次跌进坑里,节省时间. 1.公司需要 如标题一般,公司来了这么个需求,需要接入微信支付,那就必须搞定他了,相信大部分的小 ...

  8. PHP微信商户支付 - 企业付款到零钱功能(即提现)技术资料汇总

    PHP实现微信开发中提现功能(企业付款到用户零钱) 一.实现该功能目的 这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现: 官方文档:https:/ ...

  9. 浅析微信支付:开发前的准备

    本文是[浅析微信支付]系列文章的第三篇,主要会讲一下在开发前的一些注意事项. 浅析微信支付系列已经更新两篇了哟-,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 浅析微信支付:微信支付简单介绍( ...

最新文章

  1. 对 Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心
  2. arcgis python脚本实现从界面选择输入输出_arcgis python脚本实现从界面选择输入输出_ArcGIS Python编程案例(2)-使用ArcPy编写脚本......
  3. 面向对象进阶-反射(二)重要知识点
  4. python2编码问题解决了吗_Python2编码问题
  5. 【数据库】Windows安装redis全流程
  6. SQL读写CSV文件
  7. mysql 8 sql server_终于将 SQL Server 成功迁移至 MySQL8.0 啦!!!
  8. matlab进阶摸索篇——彩色图直方图均衡化
  9. 查看docker镜像内部端口号_Docker 安装部署
  10. CPAL脚本自动化测试 ———— Test Report系列函数及使用
  11. FastDFS安装手册
  12. 安装光盘并重新启动计算机戴尔,戴尔电脑怎么设置光盘启动
  13. 《东周列国志》第二十回 晋献公违卜立骊姬 楚成王平乱相子文
  14. 深度揭秘:微软内部爱恨纠葛
  15. java 图文混排_图文混排的几种实现方案
  16. 页面操作时显示“处理中,请稍候。。。”
  17. UE4 Pak 文件格式
  18. 读书笔记《假若再上一次大学》1.1
  19. phpcms选择文件无法加载插件怎么办_浏览器显示无法加载插件怎么解决
  20. linux sh命令简述

热门文章

  1. 我的世界java版复仇双持_我的世界1.9更新之双持武器
  2. Oracle DBA的SQL编写技能提升宝典(含SQL资源)
  3. 单进程架构数据库谨防隐形杀手
  4. 快过年了,来,来,来!给七大姑八大姨好好解释解释【啥是DBA 】
  5. 队列Queue:任务间的消息读写,安排起来~
  6. Java程序员都要懂得知识点:原始数据类型
  7. 简化业务代码开发:看Lambda表达式如何将代码封装为数据
  8. “3+3”看华为云FusionInsight如何引领“数据新基建”持续发展
  9. 漫谈LiteOS-LiteOS SDK支持RISC-V架构
  10. 基于Docker搭建分布式消息队列Kafka