下载账单API

更新时间:2023.08.16

下载账单API为通用接口,交易/资金账单都可以通过该接口获取到对应的账单。

注意

  • 账单文件的下载地址的有效时间为30s。
  • 强烈建议商户将实际账单文件的哈希值和之前从接口获取到的哈希值进行比对,以确认数据的完整性。
  • 该接口响应的信息请求头中不包含微信接口响应的签名值,因此需要跳过验签的流程。
  • 微信在次日9点启动生成前一天的对账单,建议商户10点后再获取。

# 接口说明

支持商户: 【普通服务商】 【普通商户】 【电商平台】

请求方式: 【GET】

请求URL: 通过申请账单接口获取到“download_url”,URL有效期30s

# 请求步骤说明

  1. 使用申请账单接口获取download_url,参考下方申请账单返回参数示例。
  2. 使用微信支付APIv3标准对download_url进行签名,并发起请求即可下载账单文件的数据流,参考右侧请求示例。

申请账单返回参数示例

1{
2 "hash_type": "SHA1",
3 "hash_value": "79bb0f45fc4c42234a918000b2668d689e2bde04",
4 "download_url": " https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx"
5}

请求示例

1$ curl https://api.mch.weixin.qq.com/v3/billdownload/file?token=xxx -H '
2Authorization: WECHATPAY2-SHA256-RSA2048 mchid="1900009191",
3nonce_str="593BEC0C930BF1AFEB40B4A08C8FB242",
4signature="uOVRnA4qG/MNnYzdQxJanN+zU+lTgIcnU9BxGw5dKjK+VdEUz2FeIoC+D5sB/LN+nGzX3hfZg6r5
5wT1pl2ZobmIc6p0ldN7J6yDgUzbX8Uk3sD4a4eZVPTBvqNDoUqcYMlZ9uuDdCvNv4TM3c1WzsXUrExwVkI
61XO5jCNbgDJ25nkT/c1gIFvqoogl7MdSFGc4W4xZsqCItnqbypR3RuGIlR9h9vlRsy7zJR9PBI83X8al
7LDIfR1ukt1P7tMnmogZ0cuDY8cZsd8ZlCgLadmvej58SLsIkVxFJ8XyUgx9FmutKSYTmYtWBZ0+tNvfGmbXU7cob8H/
84nLBiCwIUFluw==",timestamp="1554208460",serial_no="1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C"'

# 返回参数

# 文件格式说明

账单文件包括明细数据和汇总数据两部分,每一部分都包含一行表头和若干行具体数据。 明细数据每一行对应所下载账单的一条具体数据,同时明细数据中每一个字段前都加入了`字符(重音符,为标准键盘1左边键的字符),以避免数据被Excel按科学计数法处理。如需汇总金额等数据,可以批量替换掉该字符。 不同类型的账单文件的明细数据和汇总数据的格式是不同的,具体示例如下:

# 分账账单样例

《分账账单.xlsx》 (opens new window)

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请使用正确的参数重新调用
400 INVALID_REQUEST 参数错误 请按第一步申请账单的API指引,重新获取账单地址后再请求
403 NO_AUTH 权限异常 请检查本次请求的商户是否与第一步申请账单API的请求商户一致
500 SYSTEM_ERROR 系统错误 系统异常,请使用相同参数稍后重新调用