应用场景
商户可以通过该接口下载自 2017 年 6 月 1 日起 的历史资金流水账单。
说明:
- 资金账单中的数据反映的是商户微信账户资金变动情况;
- 当日账单在次日上午 9 点开始生成,建议商户在上午 10 点以后获取;
- 资金账单中涉及金额的字段单位为“元”。
接口链接
https://api.mch.weixin.qq.com/pay/downloadfundflow
请求方式: POST
是否需要证书
请求需要双向证书。 详见证书使用
请求参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
公众账号 ID | appid | 是 | String(32) | wx8888888888888888 | 微信分配的公众账号 ID(企业号 corpid 即为此 appId) |
商户号 | mch_id | 是 | String(32) | 1900000109 | 微信支付分配的商户号 |
随机字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 随机字符串,不长于 32 位。推荐随机数生成算法 |
签名 | sign | 是 | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | 签名,详见签名生成算法 |
签名类型 | sign_type | 否 | String(32) | HMAC-SHA256 | 签名类型,目前仅支持 HMAC-SHA256 |
资金账单日期 | bill_date | 是 | String(8) | 20140603 | 下载对账单的日期,格式:20140603 |
资金账户类型 | account_type | 是 | String(8) | Basic | 账单的资金来源账户:Basic 基本账户 Operation 运营账户 Fees 手续费账户 |
压缩账单 | tar_type | 否 | String(8) | GZIP | 非必传参数,固定值:GZIP,返回格式为.gzip 的压缩包账单。不传则默认为数据流形式。 |
<xml>
<appid>wx2421b1c4370ec43b</appid>
<bill_date>20141110</bill_date>
<account_type>Basic</account_type>
<mch_id>10000100</mch_id>
<nonce_str>21df7dc9cd8616b56919f20d9f679233</nonce_str>
<sign>332F17B766FC787203EBE9D6E40457A1</sign>
</xml>
返回结果
接口请求成功时,数据以文本表格的方式返回1)第一行为表头
记账时间,微信支付业务单号,资金流水单号,业务名称,业务类型,收支类型,收支金额(元),账户结余(元),资金变更提交申请人,备注,业务凭证号
2)从第二行起,为资金流水数据,各参数以逗号分隔,参数前增加 ` 符号,为标准键盘 1 左边键的字符,字段顺序与表头一致
- 倒数第二行为资金账单统计标题
资金流水总笔数,收入笔数,收入金额,支出笔数,支出金额
- 最后一行为统计数据
账单示例如下:
记账时间,微信支付业务单号,资金流水单号,业务名称,业务类型,收支类型,收支金额(元),账户结余(元),资金变更提交申请人,备注,业务凭证号
2018-02-01 04:21:23,
50000305742018020103387128253,1900009231201802015884652186,
退款,退款,
支出,0.02,
0.17,system,
缺货,`REF4200000068201801293084726067
资金流水总笔数,收入笔数,收入金额,支出笔数,支出金额
20.0,
17.0,0.35,
3.0,`0.18
- header 中 Digest 为完整性校验信息,内容格式为:签名类型 = 签名
举例如下:
Digest: SHA=ec45d7c24492dcd62d92472b0f2816c8d9a2d773
注:当前仅支持 sha1 签名返回
接口请求时如有协议错误,将返回以下字段
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | String(16) | SUCCESS |
SUCCESS/FAIL 此字段是通信标识,非交易标识,交易是否成功需要查看trade_state来判断 |
返回信息 | return_msg | 是 | String(128) | OK |
当return_code为FAIL时返回信息为错误原因 ,例如 签名失败 参数格式校验错误 |
当 return_code 为 SUCCESS 时,进一步返回以下字段指明业务失败的原因
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
业务结果 | result_code | 是 | string(16) | FAIL | FAIL |
此字段是业务标识,表示业务是否成功。目前只在失败时返回这个字段,所以只会出现 FAIL 值 | |||||
错误代码 | err_code | 是 | String(16) | SYSTEMERROR | 见错误码列表 |
错误代码描述 | err_code_des | 否 | String(128) | 账单不存在 | 错误信息描述 |
请求协议错误示例:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[NO_BILL_EXIST]]></err_code>
<err_code_des><![CDATA[商户查询账户当日无资金账单]]></err_code_des>
</xml>
错误码
错误码 | 描述 | 解决方案 |
---|---|---|
SYSTEMERROR | 微信支付内部错误 | 请稍后重试。 |
PARAM_ERROR | 参数错误 | 请对照文档的请求参数说明检查参数。 |
NO_BILL_EXIST | 账单不存在 | 请检查当前商户号在指定日期内是否有成功的交易。 |
BILL_CREATING | 账单未生成 | 请先检查当前商户号在指定日期内是否有成功的交易,如指定日期有交易则表示账单正在生成中,请在上午 10 点以后再下载。 |
有事情请找微信官方 谢谢! |