查询电子发票

更新时间:2025.12.03

商户调用【开具电子发票】接口或【冲红电子发票】接口或【将电子发票插入微信用户卡包】接口成功后,应调用本接口查询电子发票开具/冲红/插卡结果,并获取已开具/冲红/插卡的电子发票信息。

接口说明

支持商户:【普通服务商】

请求方式:【GET】/v3/new-tax-control-fapiao/fapiao-applications/{fapiao_apply_id}

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

请求参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


path  路径参数

 fapiao_apply_id  必填   string(32)

【发票申请单号】 开票时指定的发票申请单号


query  查询参数

 sub_mchid  必填   string(32)

【子商户号】 微信支付分配的子商户号,具体请参考服务商模式开发必要参数说明


 fapiao_id  选填   string(32)

【商户发票单号】 开票时指定的商户发票单号,唯一标识一张电子发票,若指定了该字段,则只会返回其对应的电子发票信息

请求示例

curl
Java
Go

GET

1curl -X GET \
2  https://api.mch.weixin.qq.com/v3/new-tax-control-fapiao/fapiao-applications/4200000444201910177461284488?sub_mchid=1900000109&fapiao_id=20200701123456 \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" 
5

应答参数
折叠全部参数

200 OK

 total_count  必填   integer

【发票数量】 发票数量


 fapiao_information  选填   array[object]

【发票信息】 发票信息

属性

 fapiao_id  必填   string(32)

【商户发票单号】 商户发票单号,唯一标识一张发票


 status  必填   string

【发票状态】 发票状态

可选取值

  • ISSUE_ACCEPTED:  开票申请已受理

  • ISSUED:  发票已开具

  • REVERSE_ACCEPTED:  冲红申请已受理

  • REVERSED:  发票已冲红

  • ISSUE_FAILED:  发票开具已失败,数电发票模式特有字段

  • REVERSE_FAILED:  发票冲红已失败,数电发票模式特有字段


 blue_fapiao  选填   object

【蓝字发票信息】 蓝字发票信息,当发票状态不为ISSUE_ACCEPTED时存在

属性

 fapiao_code  选填   string(12)

【发票代码】 发票代码,非数电发票必填


 fapiao_number  必填   string(20)

【发票号码】 发票号码


 check_code  选填   string(20)

【校验码】 校验码,非数电发票必填


 password  选填   string(1024)

【密码】 发票票面密码区内容,非数电发票必填


 fapiao_time  必填   string(32)

【开票时间】 开票时间,遵循RFC3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE


 red_fapiao  选填   object

【红字发票信息】 红字发票信息,当发票状态为REVERSED时存在

属性

 fapiao_code  选填   string(12)

【发票代码】 发票代码,非数电发票必填


 fapiao_number  必填   string(20)

【发票号码】 发票号码


 check_code  选填   string(20)

【校验码】 校验码,非数电发票必填


 password  选填   string(1024)

【密码】 发票票面密码区内容,非数电发票必填


 fapiao_time  必填   string(32)

【开票时间】 开票时间,遵循RFC3339标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE


 card_information  选填   object

【电子发票卡券信息】 电子发票卡券信息,蓝字发票插入用户卡包成功时返回

属性

 card_appid  必填   string(32)

【插卡公众号AppID】 插入用户卡包的公众号AppID


 card_openid  必填   string(32)

【用户在插卡公众号下的OpenID】 接收发票的用户在插卡公众号下的OpenID


 card_id  选填   string(32)

【电子发票卡券模板ID】 电子发票卡券模板ID,当发票卡券状态不为INSERT_ACCEPTED时存在


 card_code  选填   string(32)

【电子发票在卡包中的编码】 电子发票在卡包中的编码,当发票卡券状态不为INSERT_ACCEPTED时存在


 card_status  必填   string

【发票卡券状态】 发票卡券状态

可选取值

  • INSERT_ACCEPTED:  插卡申请已受理

  • INSERTED:  已插入用户卡包

  • DISCARD_ACCEPTED:  作废申请已受理

  • DISCARDED:  发票卡券已作废


 total_amount  必填   integer

【总价税合计】 总价税合计,所有发票行单行金额合计的累加,单位:分


 tax_amount  必填   integer

【总税额】 总税额,所有发票行单行税额的累加,单位:分


 amount  必填   integer

【总金额】 总金额,所有发票行单行金额的累加,单位:分


 seller_information  必填   object

【销售方信息】 销售方信息

属性

 name  必填   string(256)

【名称】 销售方名称


 taxpayer_id  必填   string(32)

【纳税人识别号】 销售方纳税人识别号


 address  选填   string(128)

【地址】 销售方地址。数电模式下无地址信息


 telephone  选填   string(32)

【电话】 销售方电话


 bank_name  选填   string(128)

【开户银行】 销售方开户银行


 bank_account  选填   string(32)

【银行账号】 销售方银行账号


 buyer_information  必填   object

【购买方信息】 购买方信息

属性

 type  必填   string

【购买方类型】 购买方类型

可选取值

  • INDIVIDUAL:  个人、其他

  • ORGANIZATION:  单位


 name  必填   string(256)

【名称】 购买方名称


 taxpayer_id  选填   string(32)

【纳税人识别号】 购买方纳税人识别号,购买方类型为ORGANIZATION时必填


 address  选填   string(128)

【地址】 购买方地址


 telephone  选填   string(32)

【电话】 购买方电话


 bank_name  选填   string(128)

【开户银行名称】 购买方开户银行名称


 bank_account  选填   string(32)

【银行账号】 购买方银行账号


 phone  选填   string

【手机号】 用户手机号。注意:该字段为密文字段,作为请求字段需加密,使用微信支付公钥加密(推荐),参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引;作为响应字段需解密,参考如何使用API证书解密敏感字段


 email  选填   string

【邮箱地址】 用户邮箱地址。注意:该字段为密文字段,作为请求字段需加密,使用微信支付公钥加密(推荐),参考获取微信支付公钥ID说明以及微信支付公钥加密敏感信息指引;也可以使用微信支付平台证书公钥加密,参考获取平台证书序列号平台证书加密敏感信息指引;作为响应字段需解密,参考如何使用API证书解密敏感字段


 amount  选填   integer

【订单金额】 微信支付订单金额,仅在微信支付场景下有效,单位:分


 out_trade_no  选填   string(32)

【商户订单号】 商户订单号,仅在微信支付场景下有效


 fapiao_bill_type  选填   string

【开具的发票类型】 用户选择提交开具发票的类型

可选取值

  • COMM_FAPIAO:  增值税普通发票

  • VAT_FAPIAO:  增值税专用发票


 user_apply_message  选填   string(100)

【留言信息】 用户申请开票时提交的留言信息


 extra_information  必填   object

【附加信息】 附加信息

属性

 drawer  必填   string(20)

【开票人】 数电发票模式下,为脱敏后的开票人名称,格式为:除最后一个字外其它字用*填充的姓名+空格+身份证后四位


 items  选填   array[object]

【发票行信息】 发票行信息

属性

 tax_code  必填   string(32)

【税局侧规定的货物或应税劳务、服务税收分类编码】 税局侧规定的货物或应税劳务、服务税收分类编码


 goods_name  必填   string(128)

【货物或应税劳务、服务名称】 由商户自定义的货物或应税劳务、服务名称


 specification  选填   string(20)

【规格型号】 规格型号,展示在发票中间的规格型号列


 unit  选填   string(20)

【单位】 单位,展示在发票中间的单位列


 quantity  必填   integer

【数量】 数量,展示在发票中间的数量列,单位为10-8,100000000表示数量为1


 unit_price  必填   integer

【单价】 单价,单位为10-6分,100000000表示1元


 amount  必填   integer

【单行金额】 单行金额,单位:分


 tax_amount  必填   integer

【单行税额】 单行税额,单位:分


 total_amount  必填   integer

【单行金额合计】 单行金额和税费的和,折扣行的金额为负数,非折扣行的金额为正数,单位:分


 tax_rate  必填   integer

【税率】 税率,单位为万分之一,如1300代表13%


 tax_prefer_mark  选填   string

【税收优惠政策标识】 税收优惠政策标识

可选取值

  • NO_FAVORABLE:  无优惠

  • OUTSIDE_VAT:  不征税

  • VAT_EXEMPT:  免税

  • NORMAL_ZERO_RATED:  普通零税率

  • EXPORT_ZERO_RATED:  出口零税率


 discount  必填   boolean

【是否折扣行】 指定该发票行是否折扣行,折扣行必须是被折扣行的下一行


 remark  选填   string(200)

【备注信息】 备注信息


 fapiao_error_code  选填   string(32)

【开票失败错误码】 开票失败时存在:
业务异常(BIZ_ERROR) - 需要根据错误提示解决处理后,重新申请开票
参数异常(PARAM_ERROR) - 需要根据错误提示修改请求参数后,重新申请开票


 fapiao_error_message  选填   string(256)

【开票失败原因】 开票失败时存在

应答示例

200 OK

1{
2  "total_count" : 5,
3  "fapiao_information" : [
4    {
5      "fapiao_id" : "20200701123456",
6      "status" : "ISSUE_ACCEPTED",
7      "blue_fapiao" : {
8        "fapiao_code" : "044001911211",
9        "fapiao_number" : "12897794",
10        "check_code" : "69001808340631374774",
11        "password" : "006>299-375/326>2+7/*0-+<351059<80<4*/5>+<11631+*3030/5*37+/-243159658+013>3409*044>4-/1+/9->*>69501*6++1997--21",
12        "fapiao_time" : "2020-07-01T12:00:00+08:00"
13      },
14      "red_fapiao" : {
15        "fapiao_code" : "044001911211",
16        "fapiao_number" : "12897794",
17        "check_code" : "69001808340631374774",
18        "password" : "006>299-375/326>2+7/*0-+<351059<80<4*/5>+<11631+*3030/5*37+/-243159658+013>3409*044>4-/1+/9->*>69501*6++1997--21",
19        "fapiao_time" : "2020-07-01T12:00:00+08:00"
20      },
21      "card_information" : {
22        "card_appid" : "wxb1170446a4c0a5a2",
23        "card_openid" : "plN5twRbHym_j-QcqCzstl0HmwEs",
24        "card_id" : "p4gLgvlAYSEOpeXGFVJRFxgop6iY",
25        "card_code" : "379550244162",
26        "card_status" : "INSERT_ACCEPTED"
27      },
28      "total_amount" : 382895,
29      "tax_amount" : 44050,
30      "amount" : 338845,
31      "seller_information" : {
32        "name" : "深圳市南山区测试公司",
33        "taxpayer_id" : "202003261233701778",
34        "address" : "深圳市南山区深南大道10000号",
35        "telephone" : "075512345678",
36        "bank_name" : "测试银行",
37        "bank_account" : "62001234567890"
38      },
39      "buyer_information" : {
40        "type" : "INDIVIDUAL",
41        "name" : "深圳市南山区测试企业",
42        "taxpayer_id" : "202003261233701778",
43        "address" : "深圳市南山区深南大道10000号",
44        "telephone" : "075512345678",
45        "bank_name" : "测试银行",
46        "bank_account" : "62001234567890",
47        "phone" : "mI7HGEJ4Q2B91IGjHrl7FNN9QuFPDfzeXoaJM4B8ZghZPzXK+vNotEZu/Gthm87Szv0MK2AoC0/3ZMDgltMtdoY6O0qZ4F1iXiwCuqkkBe+9M4ggvdzpPGM+fyed2QU1seUGbii5RVVVB9s+zLEQ8nv74vsgl77MZx14nd5obtCcfAvPfDJob3oG7FqlThmYKJqjiOwBvvQse7p9R8onj/POzSrbM8re8ZYGp4LcehXopTLdk2ZVWRv8bnJgKZWArAcqMdahq4jY2UVYeY4vpMmq4xuRTYk6xNXvowBBKK2SX8SqM+jm1USyoBIazLu4oaNFNdBO3fip1a1rFW0vRw==",
48        "email" : "NzJy3r0Z2u2Vs5l+WSH0A3CZ1oGlCZ66aa2wUlMXNmACbd4wU8LqqYCuTG4cYWxrVUSmviV59/Uy9vLdIwuHZVrMalYAZGtb8inWGhDj3wUqQnPkmBKBVGIWG5Y6XJmMvpXW6rIKsdzxs8NwWj30cRNfjanLxiWc0aIgl8Knwo0JcxlcYLo38T9ntsrRkQZMQEWHaMYnzjp7ysLbp6yW83OZb/NwEufERBdPnIbDbVE7DUd5MGhvO+tlr2YC1b4VCsrDmjryuTD5nvYYCGHyfXW2CM23hZdBm9tPc+mU18Z9d4XkasnfsecGWd2ISkpPmnk3DtapnD64Nw8JyLtkgw==",
49        "amount" : 1000,
50        "out_trade_no" : "order_20200701_123456",
51        "fapiao_bill_type" : "COMM_FAPIAO",
52        "user_apply_message" : "用户留言"
53      },
54      "extra_information" : {
55        "drawer" : "*五 0010"
56      },
57      "items" : [
58        {
59          "tax_code" : "3010101020203000000",
60          "goods_name" : "出租汽车客运服务",
61          "specification" : "A4",
62          "unit" : "次",
63          "quantity" : 100000000,
64          "unit_price" : 380442000000,
65          "amount" : 380442,
66          "tax_amount" : 49458,
67          "total_amount" : 429900,
68          "tax_rate" : 1300,
69          "tax_prefer_mark" : "NO_FAVORABLE",
70          "discount" : false
71        }
72      ],
73      "remark" : "备注",
74      "fapiao_error_code" : "BIZ_ERROR",
75      "fapiao_error_message" : "企业不适用此税收分类编码[ 1030201000000000000 ]。请更换为与企业行业性质相符合的税收分类编码后重新开票。"
76    }
77  ]
78}
79

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

400

INVALID_REQUEST

请求参数符合参数格式,但不符合业务规则

请使用正确的参数重新调用

403

NO_AUTH

商户无权限

请检查是否已经开通电子发票产品相关功能权限,并检查子商户是否接受了服务商的邀请

403

NO_AUTH

服务商无权限

请检查发票申请单是否属于服务商

404

RESOURCE_NOT_EXISTS

发票申请单不存在

请检查发票申请单号是否正确

404

RESOURCE_NOT_EXISTS

商户发票单号对应的发票不存在

请检查商户发票单号是否正确

429

FREQUENCY_LIMITED

频率超限

请降低请求接口频率

 

元宝AI
反馈
目录
置顶