申请交易账单
更新时间:2023.12.07微信支付按天提供交易账单文件,商户可以通过该接口获取账单文件的下载地址。文件内包含交易相关的金额、时间、营销等信息,供商户核对订单、退款、银行到账等情况。
注意
- 微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致;
- 对账单中涉及金额的字段单位为“元”;
- 对账单接口只能下载三个月以内的账单。
# 接口说明
支持商户: 【普通商户】
请求URL: "https://api.mch.weixin.qq.com/v3/bill/tradebill"
请求方式: 【GET】
# 请求参数
- Authorization 必填请参考 签名认证
生成认证信息 - Accept 必填请设置为
application/json
Header HTTP头参数
- bill_date 必填【账单日期】 账单日期,格式yyyy-MM-DD,仅支持三个月内的账单下载申请。
- bill_type 选填【账单类型】 账单类型,不填则默认是ALL
可选取值:ALL
: 返回当日所有订单信息(不含充值退款订单)SUCCESS
: 返回当日成功支付的订单(不含充值退款订单)REFUND
: 返回当日退款订单(不含充值退款订单)RECHARGE_REFUND
: 返回当日充值退款订单ALL_SPECIAL
: 返回个性化账单当日所有订单信息SUC_SPECIAL
: 返回个性化账单当日成功支付的订单REF_SPECIAL
: 返回个性化账单当日退款订单
- tar_type 选填【压缩类型】 压缩类型,不填则以不压缩的方式返回数据流
可选取值:GZIP
: GZIP格式压缩,返回格式为.gzip的压缩包账单
Query 查询参数
# 应答参数
- hash_type 必填【哈希类型】 哈希类型
可选取值:SHA1
: Secure Hash Algorithm 1
- hash_value 必填【哈希值】 原始账单(gzip需要解压缩)的摘要值,用于校验文件的完整性
- download_url 必填【下载地址】 供下一步请求账单文件的下载地址,该地址5min内有效。
200OK
请求示例
1https://api.mch.weixin.qq.com/v3/bill/tradebill?bill_date=2020-12-31&bill_type=ALL
应答示例
1{2 "hash_type" : "SHA1",3 "hash_value" : "79bb0f45fc4c42234a918000b2668d689e2bde04",4 "download_url" : "https://api.mch.weixin.qq.com/v3/bill/downloadurl?token=xxx"5}
# 错误码
# 公共错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
# 业务错误码
状态码 | 错误码 | 描述 | 解决方案 |
---|---|---|---|
400 | INVALID_REQUEST | 参数错误 | 请按第一步申请账单的API指引,重新获取账单地址后再请求 |
400 | INVALID_REQUEST | 参数错误 | 请检查bill_date,并重新调用 |
400 | INVALID_REQUEST | 参数错误 | 请检查sub_mchid,并重新调用 |
400 | NO_STATEMENT_EXIST | 账单文件不存在 | 请检查当前商户号是否在指定日期有交易或退款发生 |
400 | STATEMENT_CREATING | 账单生成中 | 请先检查当前商户号在指定日期内是否有成功的交易或退款,若有,则在T+1日上午8点后再重新下载 |
403 | NO_AUTH | 权限异常 | 请检查本次请求的商户是否与第一步申请账单API的请求商户一致 |
403 | NO_AUTH | 权限异常(无该子商户账单的权限) | 请使用正确的sub_mchid再重新调用 |
403 | NO_AUTH | 权限异常,小微商户不单独提供对账单下载 | 可以不传sub_mchid,以获取服务商下全量电商二级商户(包括小微商户和非小微商户)的对账单 |
500 | SYSTEM_ERROR | 系统错误 | 系统异常,请使用相同参数稍后重新调用 |
文档是否有帮助