记录一次小程序--电子发票同步到微信卡包相关流程

参照微信文档链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21512641124u4O1R

 

 

一、微信相关术语介绍:

 

自建平台商户

指部分出于数据安全或性能方面的考虑,直接采购税控设备在企业内网中搭建发票平台的大型商户。这种类型的商户的特点包括:发票PDF最先在商户企业内网中生成、发票PDF在企业内网中保存、自行向用户提供发票查验服务等。

发票卡券

电子发票在微信卡包中的保存形态,记录了发票的基本信息。通过发票卡券可以链接到发票PDF。

制券方

生成发票卡券并将发票卡券在用户授权后保存至用户微信卡包的主体。需拥有电子发票PDF文件并能提供稳定的发票PDF下载服务。

支付服务商 

指为开票商户提供移动支付接入服务的软件及互联网应用服务商,通常也为商家提供订单系统,具有商户的订单数据和一定的系统开发对接能力。

报销企业

指员工所属的企业。报销企业接收员工提交的电子发票,经过必要的财务流程后为员工提供报销款。电子发票进入到报销企业,其结构化数据用于生成报销记录、其发票PDF用作财务凭证归档保存。

报销服务商

指为报销企业提供独立部署的报销软件或SaaS报销应用的软件及互联网服务提供方。

 

 

二、电子发票总体方案流程:

 

Screenshot-0.png

三、自建平台模式准备工作介绍:

       指商户负责获取用户开票授权的同时,商户自身开具电子发票并添加到用户微信卡包。该模式中由于电子发票PDF直接在商户自建的开票平台中生成,由商户完成全流程较有效率。

A 需要进行的准备:


1 前往微信公众平台申请公众号,获取appid和appsecret,用于调用接口。
2 获取access_token,详情参考获取access_token。
3 获取ticket,详情参考获取ticket。
4 配置公众号callback,详情参考接收callback推送。

 

四、卡包插入流程:

 

小程序开具电子发票的步骤如下:

Screenshot-1.png

 


1 提前获取开票平台标识s_pappid,因为同一个开票平台的s_pappid都相同,所以获取s_pappid的操作只需要进行一次。

不同接入模式获取s_pappid的方法略有不同:

如果商户接入模式为“自建平台模式”:s_pappid通过调用调用获取自身开票平台识别码接口获得

2 商户获取获取access_token。调用方法见获取access_token
3 设置商户联系方式。调用方法见设置商户联系方式。注意,本步骤不能忽略,否则将造成下一步获取授权页报错;
4 商户获取授权页ticket。调用方法见获取授权页ticket
5 商户获取授权页url,上一步获取的授权页ticket将作为参数传入。另外,本环节里面作为参数传入的order_id要注意保留,传递给开票平台作为向用户提供电子发票的依据。调用方法见获取授权页链接
6 在小程序开票按钮的点击事件上部署跳转到小程序授权页的逻辑。上一步获得的auth_url和开票小程序appid要作为参数传入。调用方法见小程序打开授权页
7 商户在后台等待接收用户的授权完成事件,获取授权事件方法见收取授权完成事件推送
8 创建发票卡券模板。发票卡券模板应和背后的开票主体构成一一对应关系,便于后续若开票主体发生变化时,可以便捷修改。调用方法见创建发票卡券模板
9 在自建发票平台开具电子发票;
10 上传发票PDF文件。此步骤获得的s_media_id起到关联PDF和发票卡券的作用,将作为参数在下一步的插卡接口中传入。调用方法见上传PDF
11 将电子发票添加到用户微信卡包。调用方法见将电子发票卡券插入用户卡包

 

posted @ 2019-05-31 17:04  围城外的一只猪  阅读(5544)  评论(0编辑  收藏  举报