发票同步微信卡包

  • A+
所属分类:.NET技术
摘要

近期需要接入发票功能,微信公众号开通电子发票插件 可参考官方链接:https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Choosing_Access_Mode.html

近期需要接入发票功能,微信公众号开通电子发票插件 可参考官方链接:https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Choosing_Access_Mode.html

我们接入的是自建平台模式+小程序

发票同步微信卡包

 

发票同步微信卡包

 

 

 

 接下来就是开发流程:

一、基础配置:

1. 根据公众号appid和secret 获取token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential 【GET】

2.获取开票标识:s_pappid

https://api.weixin.qq.com/card/invoice/seturl?access_token=【POST】

3.根据token获取发票ticket(后台用户授权时需要使用ticket)

https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=wx_card&access_token=【GET】

4.设置商户联系方式(用户授权前需要先设置)

https://api.weixin.qq.com/card/invoice/setbizattr?action=set_contact&access_token=【POST】

5.设置发票卡券模板

https://api.weixin.qq.com/card/invoice/platform/createcard?access_token=【POST】

 

二、授权配置:

发票同步微信卡包

 

 我们使用的是跳转到第三方发票闪开助手 :https://api.weixin.qq.com/card/invoice/getauthurl?access_token=【POST】

1.需要创建唯一订单号  作为 第三方的订单标识  相关订单号需要记录在 自有系统的发票订单里

2.通过调用接口返回 相关授权链接和appid(小程序才有appid)

发票同步微信卡包

 

 

 3.小程序通过后台接口获取 相关 auth_url、appid、code(订单号)进行微信授权跳转到第三方

发票同步微信卡包

 

 

 4.小程序操作第三方授权 后  调用后台查询授权完成状态:(传入s_pappid和订单号)

https://api.weixin.qq.com/card/invoice/getauthdata?access_token=【POST】 

完成授权后-自有平台可提交开票订单(勾选需开票订单合并一张开票订单)

这样授权流程就完成了

 

三、发票同步微信卡券

1.通过自有平台 进行确认发票操作 执行与微信交互

确认发票:需财务填入 发票代码、发票号码、校验码、相关发票pdf文件 

发票同步微信卡包

(相关pdf 需要转成微信媒体文件 s_media_id )

https://api.weixin.qq.com/card/invoice/platform/setpdf?access_token=【POST】

 

 

 https://api.weixin.qq.com/card/invoice/insert?access_token=【POST】发布至微信卡包

发票同步微信卡包

 

 发票同步微信卡包

 

 这样就完成了整个流程

备注:

1.小程序前端 未调用 授权 后面发布微信卡包 会返回 用户未授权-72038

2.发票号码和代码 必须真实 否则会返回 :发票代码号码信息有误-72047

3.已开具的电子发票不能再次推送:发票代码号码已开具过电子发票-72042