微信电子发票支持支付后自助开票及扫码/h5开票,商户需开通权限、配置回调地址与卡券模板,用户填抬头后商户解密获取信息并调用开票接口,成功后发票自动入卡包。

在微信里给用户开发票,不需要额外装App、不用排队等开票,只要商户完成基础配置,用户支付后点一下就能自助申请,发票自动进卡包。整个过程完全由微信支付系统驱动,商户只需调用几个关键接口,就能把开票能力嵌入服务号、小程序或H5页面。
开通电子发票权限并完成基础配置
登录微信商户平台,在「产品中心」→「电子发票」中开通权限;确认已选择开票模式(如“微信支付后开票”或“扫码开票”),并完成发票抬头收集方式、默认税率、商品税收分类等设置。
调用《配置开发选项》接口,传入回调地址(用于接收用户填抬头后的通知)、支付开票入口开关、是否启用批量开票等参数;【回调地址必须能被公网访问且支持HTTPS,否则用户填完抬头后商户收不到通知】。
调用《创建电子发票卡券模板》接口,生成对应开票主体的卡券模板;一个开票主体只能绑定一个模板,后续若主体变更需重新创建。
微信支付场景下用户自助开票
用户完成微信支付后,系统自动在支付账单页展示「开发票」入口——前提是商户已在《配置开发选项》中开启该标识,或在《微信支付下单接口》中为该笔订单显式传入开票入口开关字段。
用户点击入口 → 进入抬头填写页 → 手动输入或从微信账户预存抬头中选择 → 提交后,微信立即向商户配置的回调地址推送《用户发票抬头填写完成通知》。
商户收到通知后,立即调用《获取用户填写的抬头》接口,拉取本次提交的完整抬头信息;注意:该接口返回的抬头数据含加密字段,需用商户私钥解密才能读取真实内容。
解析微信公众号文章,提取标题、作者、正文、图片等信息。用户发送链接(mp.weixin.qq.com)时触发,自动提取内容并可保存至飞书表格。
非微信支付场景开票(扫码/链接开票)
方法一:生成开票二维码
调用《获取用户授权链接》接口,传入唯一fapiao_apply_id(建议用订单号+时间戳拼接),获取带签名的授权URL;将该URL转成二维码,贴在小票、缴费单或H5订单页上。
方法二:跳转H5开票页
把上一步获取的授权URL直接作为按钮链接,用户点击后跳转至微信内置浏览器,完成身份授权与抬头填写;【授权页有效期为2小时,超时需重新生成链接】。
用户提交抬头后,同样触发回调通知;商户按相同流程调用《获取用户填写的抬头》拉取信息,进入开票环节。
正式开具电子发票并插入卡包
第一步:准备开票数据
整理订单号、金额、商品明细、税率、购买方信息(从上一步解密获得)、开票场景(WITH_WECHATPAY 或 WITHOUT_WECHATPAY)。
第二步:调用《开具电子发票》接口
POST 请求 https://api.mch.weixin.qq.com/v3/new-tax-control-fapiao/fapiao-applications,body 中填入完整参数;其中 fapiao_apply_id 字段在微信支付场景下填微信订单号,在非微信支付场景下填之前生成的申请单号。
第三步:等待开票结果
接口返回 success 状态仅代表请求受理成功,不代表发票已开出;必须监听微信支付的异步回调,或主动调用《查询电子发票》接口确认开票状态为“已开具”,再执行后续动作。
第四步:插入微信卡包
开票成功后,系统自动将发票卡券插入用户微信卡包;无需商户额外调用插卡接口——这是微信电子发票服务的默认行为,不可关闭或绕过。










