---
url: "https://pay.weixin.qq.com/doc/v3/partner/4015792569.md"
title: "下载发票文件"
doc_id: 4015792569
---

>更新时间：2025.12.03

调用【[获取发票下载信息](https://pay.weixin.qq.com/doc/v3/partner/4015792576.md)】接口后，调用该接口下载发票文件。该接口无需签名和验签



## 接口说明

适用对象： 普通服务商

请求URL： 通过【[获取发票下载信息](https://pay.weixin.qq.com/doc/v3/partner/4015792576.md)】接口，获取“download\_url”参数作为请求URL

请求方式： GET

前置条件： 通过【[获取发票下载信息](https://pay.weixin.qq.com/doc/v3/partner/4015792576.md)】接口获取到“download\_url”参数作为请求URL，该URL有效期为30秒，仅可用于下载状态为“ISSUED”的发票

## 字段说明

### 请求参数

### Query 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| token | string(512) | true | 【[获取发票下载信息](https://pay.weixin.qq.com/doc/v3/partner/4015792576.md)】download\_url中的token字段，保留即可。不要删除，也不用额外再添加一遍 |
| mchid | string(32) | true | 商户号 |
| sub_mchid | string(32) | true | 子商户号，服务商模式必须填写 |
| openid | string(32) | true | 通过查询接口获取的card\_openid |
| invoice_code | string(12) | false | 发票代码 |
| invoice_no | string(20) | true | 发票号码 |
| fapiao_id | string(32) | true | 唯一标识一张发票 |
| file_format | string | false | 发票文件格式，不填时默认为PDF格式<br>可选取值<br><ul><li>`PDF`: PDF格式</li><li>`XML`: XML格式</li><li>`OFD`: OFD格式</li></ul> |

当获取到账单文件资源的下载地址信息后，如：

```
{
    "fapiao_download_info_list": [
        {
            "download_url": "https://pay.wechatpay.cn/invoicing/fapiao/fapiao-file?token=xxxxxx",
            "fapiao_id": "fapiao-id-14",
            "status": "ISSUED"
        }
    ]
}
```

请求示例

```
https://pay.wechatpay.cn/invoicing/fapiao/fapiao-file?token=xxxxxx&mchid=1462377&OpenID=o3v4BuMFNejs-gAOfXgS&invoice_code=14403220&invoice_no=0923&fapiao_id=fapiao-id-14&file_format=PDF
```

正常情况下，会返回发票文件二进制流，其中回包头部有SM3-Digest字段用于校验文件完整性，如：

```
SM3-Digest: 4395A01AA9BEDF3989E804581AD5F118EC4A23932F92F984108EBF08A89416E0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="fapiao-id-12.pdf"
Request-ID: 08E491ED930610E20318AD80C4E00A200028F61E-0
%PDF-1.5
%
%<e2><e3><cf><d3>
1 0 obj<</Nums[ 0 2 0 R]>>
endobj
2 0 obj<</S/D>>
endobj
3 0 obj<</Type/Pages/Count 1/Kids[ 8 0 R]>>
endobj
...
```

如果遇到异常，则会返回json格式的错误信息，如：

```
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache, must-revalidate
X-Content-Type-Options: nosniff
Request-ID: 08CCA5E89306102F18AD80C4E00A200028F81E-268478747
{"code":"INVALID_REQUEST","message":"链接已失效，请重新获取"}
```

### 返回参数

无返回参数

## 错误码

### 公共错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/v3/partner/4012081726.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/partner/4012082324.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

### 业务错误码

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | INVALID\_REQUEST | 参数错误 | 请求参数与token不匹配 |
| 400 | INVALID\_REQUEST | 参数错误 | URL已过期 |
| 400 | INVALID\_REQUEST | 参数错误 | token无法解析 |