近期須要接入發票功能,微信公衆號開通電子發票插件 可參考官方連接:https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Choosing_Access_Mode.htmlhtml
咱們接入的是自建平臺模式+小程序前端
接下來就是開發流程:小程序
1、基礎配置:api
1. 根據公衆號appid和secret 獲取token微信
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential 【GET】app
2.獲取開票標識:s_pappidurl
https://api.weixin.qq.com/card/invoice/seturl?access_token=【POST】插件
3.根據token獲取發票ticket(後臺用戶受權時須要使用ticket)3d
https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=wx_card&access_token=【GET】code
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】
2、受權配置:
咱們使用的是跳轉到第三方發票閃開助手 :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】
完成受權後-自有平臺可提交開票訂單(勾選需開票訂單合併一張開票訂單)
這樣受權流程就完成了
3、發票同步微信卡券
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