一种扫码收取电子发票的方法与系统与流程

文档序号:12825679阅读:1568来源:国知局
一种扫码收取电子发票的方法与系统与流程

本发明涉及数据处理技术领域,特别是涉及一种扫码收取电子发票的方法与系统。



背景技术:

电子发票是信息时代的产物,同普通发票一样,采用税务局统一的形式发放给商家使用,发票号码采用全国统一编码、统一防伪技术分配给商家,在电子发票上附有电子税局的签名机制。

目前,针对电子发票收取一般采用被动式,即当用户(消费者)在商户消费后索取电子发票,商户会通过用户预留的手机号或者邮箱,将电子发票版式文件,例如pdf或ofd等格式的版式文件推送给消费者。其中,短信推送基于短信服务商(一般具体指运营商或者代理服务商)进行推送;邮件推送基于邮件服务商(常见的邮件服务商包括腾讯企业邮箱、163企业邮箱以及outlook邮箱等)进行推送。依据该种方式,用户只能被动的等待商户发送的电子发票,无法满足用户想要及时获取电子发票的需求,并且依据该种方式发送电子发票,可能会出现商户遗漏发送电子发票的情况,或者是由于网络不稳定等因素的影响,发送出现延缓,导致消费者没有收到或者遗漏收取的问题,甚至可能会因为预留信息有误而导致错发。如果能够实现让用户主动进行电子发票的收取,将极大的提升消费者的用户体验,并且可以有效避免上述推送电子发票时出现的漏发、延时、错发等问题。

可见,如何能够实现让用户主动进行电子发票的收取,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种扫码收取电子发票的方法与系统,用户可以主动进行电子发票的收取。

为解决上述技术问题,本发明实施例提供一种扫码收取电子发票的方法,包括:

二维码生成写入模块将电子发票的相关信息封装成二维码数据,并将所述二维码数据存储于二维码数据存储模块;

二维码读取模块根据二维码展示模块的读取需求,从所述二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块;

所述二维码展示模块根据接收到的所述对应的二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码;

扫码收票模块扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息;所述电子发票的相关信息包括:电子发票信息和电子发票链接地址;

所述扫码收票模块依据于所述电子发票链接地址,向扫码收票处理模块发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息;

所述扫码收票处理模块,依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;若存在,则将所述电子发票版式文件发送给所述扫码收票模块。

可选的,所述二维码读取模块根据二维码展示模块的读取需求,从所述二维码数据存储模块读取对应的二维码数据包括:

二维码读取模块根据读取需求中包含的数据信息,从所述二维码数据存储模块中查找是否存在对应的二维码数据;所述数据信息包括:流水号、发票号码、发票代码;

若存在,则从所述二维码数据存储模块中读取所述对应的二维码数据。

可选的,还包括:

二维码生成写入模块采用加密算法对所述二维码数据进行加密处理,得到加密后的二维码数据;

相应的,

所述扫码收票处理模块在接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,根据预先存储的密钥,对所述请求中携带的电子发票信息进行解密处理,获取到解密后的电子发票信息。

可选的,所述扫码收票处理模块中的请求处理子模块在接收到所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,将所述请求发送至所述扫码收票处理模块中的获取子模块;

所述获取子模块依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;

若存在,则所述获取子模块将所述电子发票版式文件发送给所述请求处理子模块;

所述请求处理子模块将所述电子发票版式文件发送给所述扫码收票模块。

可选的,当所述电子发票信息为加密后的电子发票信息时;

所述请求处理子模块在接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,根据预先存储的密钥对所述请求中携带的电子发票信息进行解密处理,获取到所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码;并向所述获取子模块发送用于获取电子发票版式文件的第二请求;所述第二请求中携带有解密后的电子发票信息;

相应的,

所述获取子模块依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

本发明实施例还提供了一种扫码收取电子发票的系统,包括:二维码生成写入模块、二维码读取模块、二维码数据存储模块、二维码展示模块、扫码收票模块、扫码收票处理模块和电子发票版式文件存储模块;

所述二维码生成写入模块,用于将电子发票的相关信息封装成二维码数据,并将所述二维码数据存储于所述二维码数据存储模块;

所述二维码读取模块,用于根据二维码展示模块的读取需求,从所述二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块;

所述二维码展示模块,用于根据接收到的所述对应的二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码;

所述扫码收票模块,用于扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息;所述电子发票的相关信息包括:电子发票信息和电子发票链接地址;

所述扫码收票模块还用于依据于所述电子发票链接地址,向所述扫码收票处理模块发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息;

所述扫码收票处理模块,用于接收所述扫码收票模块发送的所述用于获取电子发票版式文件的请求,并依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;其中,所述电子发票版式文件存储模块,用于存储电子发票版式文件;

若存在,则将所述电子发票版式文件发送给所述扫码收票模块。

可选的,所述二维码读取模块具体用于根据读取需求中包含的数据信息,从所述二维码数据存储模块中查找是否存在对应的二维码数据;所述数据信息包括:流水号、发票号码、发票代码;

若存在,则从所述二维码数据存储模块中读取所述对应的二维码数据。

可选的,所述二维码生成写入模块还用于采用加密算法对所述二维码数据进行加密处理,得到加密后的二维码数据;

相应的,

所述扫码收票处理模块还用于,在接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,根据预先存储的密钥,对所述请求中携带的电子发票信息进行解密处理,获取到解密后的电子发票信息。

可选的,所述扫码收票处理模块包括:请求处理子模块和获取子模块;

所述请求处理子模块,用于接收所述扫码收票模块发送的所述用于获取电子发票版式文件的请求,并将所述请求发送至所述获取子模块;

所述获取子模块,用于依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;

若存在,则所述获取子模块将所述电子发票版式文件发送给所述请求处理子模块;

所述请求处理子模块还用于将所述电子发票版式文件发送给所述扫码收票模块。

可选的,当所述电子发票信息为加密后的电子发票信息时;

所述请求处理子模块还用于,在接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,根据预先存储的密钥对所述请求中携带的电子发票信息进行解密处理,获取到所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码;并向所述获取子模块发送用于获取电子发票版式文件的第二请求;所述第二请求中携带有解密后的电子发票信息;

相应的,

所述获取子模块具体用于依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

由上述技术方案可以看出,通过二维码生成写入模块,将电子发票的相关信息封装成二维码数据,二维码读取模块根据二维码展示模块的读取需求,从二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块;二维码展示模块,可以将该二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码;扫码收票模块可以扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息;所述电子发票的相关信息包括:电子发票信息和电子发票链接地址,并依据于所述电子发票链接地址,向扫码收票处理模块发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息;所述扫码收票处理模块,在接收到所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;若存在,则将所述电子发票版式文件发送给所述扫码收票模块。可见,通过将电子发票的相关信息转换成二维码的形式,用户可以利用扫码收票模块主动扫描二维码的方式来获取对应的电子发票,使得用户收取电子发票的方式变得灵活化、主动化。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种扫码收取电子发票的方法的流程图;

图2为本发明实施例提供的一种扫码收取电子发票的系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明实施例作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种扫码收取电子发票的方法。图1为本发明实施例提供的一种扫码收取电子发票的方法的流程图,包括:

s101:二维码生成写入模块将电子发票的相关信息封装成二维码数据,并将所述二维码数据存储于二维码数据存储模块。

在本发明实施例中,二维码数据可以由两部分构成:电子发票链接地址和地址参数。

其中,电子发票链接地址可以是一个网址,这个网址对应的服务器是扫码收票处理模块和电子发票版式文件存储模块所在的服务器。访问这个网址就相当于把获取电子发票版式文件的请求提交给扫码收票处理模块。

地址参数即为电子发票信息,可以包括:发票代码、发票号码和发票校验码等信息。

例如,二维码数据的内容可以是:

https://www.test.com/fp/showqr?r=##########,两部分之间的内容可以用“?”进行分割。

其中,第一部分https://www.test.com/fp/showqr即为电子发票链接地址。第二部分r=##########即为地址参数。

考虑到发票代码、发票号码和发票校验码是电子发票的重要信息,并且是区分不同电子发票的重要依据,故此,在地址参数中可以包括发票代码、发票号码和发票校验码。

具体的,二维码生成写入模块可以将电子发票的相关信息封装成二维码数据;所述相关信息包括:发票代码、发票号码、发票校验码以及电子发票链接地址。

需要说明的是,在本发明实施例中,除了包含上述三项:发票代码、发票号码和发票校验码外,在地址参数中也可以包含电子发票的版本号和流水号等信息。如表1所示,地址参数可以由4个子部分组成:

表1

表1中,第一列信息表示的是地址参数的4个组成部分的序号,

第二列信息即为地址参数的4个组成部分的的内容,即这4个组成部分的的名称,第三列信息即为地址参数的4个组成部分的相关要求,

即每一个部分的说明,第四列信息即为地址参数的4个组成部分的具体内容的举例。在本发明实施例中,地址参数可以是由表1中的4个子部分组成。

每个子部分之间可以使用“,”进行分割,例如,第二部分示例为:

r=01,20000000000000000001,05000352110030330352,16359570871176711845。

依据上述分割方式,可以将电子发票的相关信息封装成二维码数据,例如,封装成的二维码数据可以是:

https://www.test.com/fp/showqr?r=01,20000000000000000001,05000352110030330352,16359570871176711845。

不同的电子发票有其对应的二维码数据,为了便于后续查找,在本发明实施例中,可以将生成的二维码数据写入二维码数据存储模块中,也即由该二维码数据存储模块存储生成的二维码数据,其中二维码数据可以以结构化数据方式进行存储。

s102:二维码读取模块根据二维码展示模块的读取需求,从所述二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块。

在本发明实施例中,二维码展示模块与二维码读取模块具有连接关系,当二维码展示模块需要展示二维码时,可以向该二维码读取模块发送读取需求,其中,在该读取需求中可以包含有电子发票的流水号、发票号码、发票代码等数据信息。

二维码读取模块可以从二维码数据存储模块中查找是否存在对应的二维码数据,即查找是否存在与所述流水号、发票号码、发票代码一致的二维码数据;若存在,则从所述二维码数据存储模块中读取所述对应的二维码数据。

s103:二维码展示模块根据接收到的所述对应的二维码数据,按照二维码格式要求生成对应的二维码,并展示所述二维码。

在本发明实施例中,通过生成二维码的方式,使得用户可以通过主动扫描二维码,来获取相关的电子发票版式文件。其中,对于生成的二维码,可以以纸质小票的方式打印出来,或者是展示在商户的电子屏幕上,以便于消费者可以通过扫码收票模块扫描该二维码。

s104:扫码收票模块扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息。

其中,电子发票的相关信息可以包括有电子发票信息和电子发票链接地址。

扫码收票模块可以是智能终端上的扫码收票应用程序软件。其中,该扫码收票模块可以与电子发票平台具有通信关联。以智能手机为例,可以利用手机上相关的应用软件实现扫码功能,例如,消费者可以利用支付宝、微信或者发票通等app软件,对商户展示的二维码进行扫描。

以微信app为例,消费者打开微信app的扫码界面对二维码进行扫描,微信app对扫描的二维码进行识别,解析出该二维码所对应的电子发票的相关信息。

s105:扫码收票模块依据于电子发票链接地址,向扫码收票处理模块发送用于获取电子发票版式文件的请求。

扫码收票模块扫描二维码的目的在于获取该二维码对应的电子发票版式文件,故此,在扫描解析二维码之后,所述扫码收票模块可以向所述扫码收票处理模块发送用于获取电子发票版式文件的请求;其中,该请求中携带有所述电子发票信息。

由上述介绍可知,二维码数据中可以包含有电子发票链接地址,故此,对二维码进行扫描、解析后获取的相关信息中应该包含有相应的电子发票链接地址。

以微信app为例,微信app根据解析出的相关信息中包含的电子发票链接地址,可以向扫码收票处理模块发起相应的http访问请求,用于请求获取电子发票版式文件。在该请求中可以携带有解析出的电子发票信息。

s106:所述扫码收票处理模块,依据所述请求中携带的电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件。

s107:若存在,所述扫码收票处理模块则将所述电子发票版式文件发送给所述扫码收票模块。

在本发明实施例中,可以设置专门的存储模块,来存储电子发票版式文件,具体的,可以由电子发票版式文件存储模块,来存储电子发票版式文件。

扫码收票处理模块可以是应用于电子发票平台上的模块,其作用主要是根据扫码收票模块发送的请求,查找对应的电子发票版式文件,并将该电子发票版式文件发送给扫码收票模块。

针对扫码收票处理模块的具体操作流程,在本发明实施例中,可以将所述扫码收票处理模块具体划分为两部分,分别为请求处理子模块和获取子模块;

其中,请求处理子模块可以用于接收或发送相关请求或信息;获取子模块可以用于查找电子发票版式文件。

在本发明实施例中,该请求处理子模块可以看做是扫码收票处理模块的接口端,扫码收票模块向扫码收票处理模块发送的请求会被该请求处理子模块接收。

在具体实现中,所述扫码收票处理模块中的请求处理子模块在接收到所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,可以将所述请求发送至所述扫码收票处理模块中的获取子模块;

所述获取子模块依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件。其中,电子发票信息中可以携带有发票代码、发票号码和发票校验码等电子发票的相关信息。

正确形式的二维码应该是由电子发票的相关信息进行封装、按照二维码格式要求生成的二维码,也即可以从电子发票版式文件存储模块中找到与该二维码解析出的电子发票信息对应的电子发票版式文件,而根据伪造出的二维码解析出的电子发票信息,无法从电子发票版式文件存储模块中找到对应的电子发票版式文件。

故此,在具体实现中,所述获取子模块可以依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

若存在,则所述获取子模块将所述电子发票版式文件发送给所述请求处理子模块;所述请求处理子模块将所述电子发票版式文件发送给所述扫码收票模块。

在扫码收票模块向扫码收票处理模块发送请求时,便建立了与扫码收票处理模块的通信连接,扫码收票处理模块中的请求处理子模块便可依据该通信连接,将电子发票版式文件发送给该扫码收票模块。

以手机的微信app为例,在获取到电子发票版式文件后,便可以对将该电子发票版式文件自动保存到微信app的卡包中。之后用户可以从卡包打开电子发票版式文件,并可以选择性的将电子发票版式文件保存到手机本地存储空间或者将该电子发票版式文件发送到指定邮箱等操作。

由上述技术方案可以看出,通过二维码生成写入模块,将电子发票的相关信息封装成二维码数据,二维码读取模块根据二维码展示模块的读取需求,从二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块;二维码展示模块,可以将该二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码;扫码收票模块可以扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息;所述电子发票的相关信息包括:电子发票信息和电子发票链接地址,并依据于所述电子发票链接地址,向扫码收票处理模块发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息;所述扫码收票处理模块,在接收到所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;若存在,则将所述电子发票版式文件发送给所述扫码收票模块。可见,通过将电子发票的相关信息转换成二维码的形式,用户可以利用扫码收票模块主动扫描二维码的方式来获取对应的电子发票,使得用户收取电子发票的方式变得灵活化、主动化。

考虑到二维码数据中可以包含有发票代码、发票号码和发票校验码等重要数据,而这些数据需要在互联网上传输,为了确保数据传输的安全性,可以对二维码数据中包含的这些重要数据进行加密处理后再传输。

在本发明实施例中,可以由二维码生成写入模块对封装后的二维码数据采用加密算法对所述二维码数据进行加密处理,得到加密后的二维码数据。

相应的,在二维码数据存储模块中存储的即为加密处理后的二维码数据,并且二维码展示模块展示的二维码也是根据加密后的二维码数据按照二维码格式要求,所生成的二维码。

由上述实施例的介绍可知,二维码数据可以包括电子发票链接地址和地址参数,本发明实施例中,对于二维码数据的加密可以只对地址参数中包含的信息进行加密处理,无需对电子发票链接地址进行加密。

其中,加密算法可以采用数据对称加密算法(dataencryptionalgorithm,des)。

例如,采用des加密密钥“12345678”,应用des对称加密算法,对表1所示的地址参数:

“01,20000000000000000001,05000352110030330352,16359570871176711845”进行加密,并对加密后的内容进行urlencoder编码得到内容为:

“s3df4xwitsdfan1sjjlpotwrsmnvczgflycb5ghnwymvvckyd4ndue%2f%2bjcptxybneugqkmvpbvnf%2bf%2fvhq49priz7aws2cjp”

结合上述表1举例的二维码数据内容,通过上述加密过程可以得到加密后的二维码数据:

https://www.test.com/fp/showqr?r=s3df4xwitsdfan1sjjlpotwrsmnvczgflycb5ghnwymvvckyd4ndue%2f%2bjcptxybneugqkmvpbvnf%2bf%2fvhq49priz7aws2cjp。

以支付宝app为例,用户打开支付宝app,进入发票管家模式,对二维码进行扫描,支付宝app便可以对于扫描的二维码进行识别,解析出该二维码所对应的数据,该数据即为加密后的电子发票信息。

由于并未对电子发票链接地址进行加密,故此,扫码收票模块在对二维码解析后,可以依据该电子发票链接地址,向扫码收票处理模块发送http访问请求,在该请求中可以携带有解析出的电子发票信息。

当用户利用扫码收票模块扫描的是正确的二维码时,此时解析出的二维码数据中的电子发票信息应该是经过加密后的电子发票信息,也即在向扫码收票处理模块发送的请求中携带的是加密后的电子发票信息,为了便于后续对该电子发票信息的验证,需要先对该电子发票信息进行解密处理。

在具体实现中,当所述扫码收票处理模块在接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,可以根据预先存储的密钥,对所述请求中携带的电子发票信息进行解密处理,获取到解密后的电子发票信息。

上述对电子发票信息进行解密的过程具体可以由扫码收票处理模块中的请求处理子模块执行。

举例说明,请求处理子模块对所述请求中携带的电子发票信息进行解密处理后,可以获取到所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码;由此可以向所述获取子模块发送用于获取电子发票版式文件的第二请求;所述第二请求中携带有解密后的电子发票信息。其中,解密后的电子发票信息可以包括发票代码、发票号码和发票校验码等信息。

例如,上述介绍中可以采用des加密密钥“12345678”,应用des对称加密算法对二维码数据进行加密处理,相应的,可以采用解密密钥“12345678”,应用des对称解密算法对电子发票信息进行解密处理。

相应的,

所述获取子模块在接收到请求处理子模块发送的用于获取电子发票版式文件的第二请求后,可以依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

若在电子发票版式文件存储模块中存在与电子发票信息中携带的发票代码、发票号码和发票校验码一致的电子发票版式文件,则所述获取子模块可以从该电子发票版式文件存储模块中获取到该电子发票版式文件,将所述电子发票版式文件发送给所述请求处理子模块;通过该请求处理子模块将所述电子发票版式文件发送给所述扫码收票模块。

以手机的支付宝app为例,在获取到电子发票版式文件后,便可将其保存到支付宝发票管家。之后用户可以从“发票管家”的“我的发票”栏目内打开电子发票版式文件,并可以选择性的将电子发票版式文件保存到手机本地存储空间或者将该电子发票版式文件发送到指定邮箱等操作。

通过上述增加对二维码数据的加密处理,使得二维码数据的安全性得到了保证,从而提升数据传输时的安全性。

图2为本发明实施例提供的一种扫码收取电子发票的系统的结构示意图,该系统包括:二维码生成写入模块21、二维码数据存储模块22、二维码读取模块23、二维码展示模块24、扫码收票模块25、扫码收票处理模块26和电子发票版式文件存储模块27;

所述二维码生成写入模块21,用于将电子发票的相关信息封装成二维码数据,不同的电子发票有其对应的二维码数据,为了便于后续查找,在本发明实施例中,可以将生成的二维码数据写入二维码数据存储模块22中,也即由该二维码数据存储模块22存储生成的二维码数据,其中二维码数据可以以结构化数据方式进行存储。

所述二维码读取模块23,用于根据二维码展示模块24的读取需求,从所述二维码数据存储模块22读取对应的二维码数据,并发送给二维码展示模块24。

在具体实现中,二维码读取模块23可以根据读取需求中包含的数据信息,从所述二维码数据存储模块22中查找是否存在对应的二维码数据;所述数据信息包括:流水号、发票号码、发票代码;若存在,则从所述二维码数据存储模块22中读取所述对应的二维码数据。

二维码展示模块24,可以将接收的所述二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码。

在本发明实施例中,通过生成二维码的方式,使得用户可以通过主动扫描二维码,来获取相关的电子发票版式文件。其中,对于生成的二维码,可以以纸质小票的方式打印出来,或者是展示在商户的电子屏幕上,以便于消费者可以通过扫码收票模块25扫描该二维码。

扫码收票模块25,通过扫描并解析所述二维码,可以获取到所述二维码对应的电子发票的相关信息。其中,电子发票的相关信息可以包括:电子发票信息和电子发票链接地址。

扫码收票模块25扫描二维码的目的在于获取该二维码对应的电子发票版式文件,故此,在扫描解析二维码之后,所述扫码收票模块25还用于依据于所述电子发票链接地址,向所述扫码收票处理模块26发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息。

由上述介绍可知,二维码数据中可以包含有电子发票链接地址,故此,对二维码进行扫描、解析后获取的电子发票的相关信息中应该包含有相应的电子发票链接地址。

以微信app为例,微信app根据解析出的相关信息中包含的电子发票链接地址,可以向扫码收票处理模块26发起相应的http访问请求,用于请求获取电子发票版式文件。在该请求中可以携带有解析出的电子发票信息。

在本发明实施例中,可以设置专门的存储模块,来存储电子发票版式文件,具体的,可以由电子发票版式文件存储模块27,来存储电子发票版式文件。

所述扫码收票处理模块26,在接收到所述扫码收票模块25发送的所述用于获取电子发票版式文件的请求后,可以依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块27中查找是否存在对应的电子发票版式文件;若存在,则将所述电子发票版式文件发送给所述扫码收票模块25。

以手机的微信app为例,在获取到电子发票版式文件后,便可以对将该电子发票版式文件自动保存到微信app的卡包中。之后用户可以从卡包打开电子发票版式文件,并可以选择性的将电子发票版式文件保存到手机本地存储空间或者将该电子发票版式文件发送到指定邮箱等操作。

针对扫码收票处理模块26的具体操作流程,在本发明实施例中,可以将所述扫码收票处理模块26划分为两个子模块,分别为请求处理子模块和获取子模块;

在本发明实施例中,该请求处理子模块可以看做是扫码收票处理模块26的接口端,扫码收票模块25向扫码收票处理模块26发送的请求会被该请求处理子模块接收。

在具体实现中,所述请求处理子模块,用于接收所述扫码收票模块25发送的所述用于获取电子发票版式文件的请求,并将所述请求发送至所述获取子模块。

所述获取子模块,用于依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件。

正确形式的二维码应该是由电子发票的相关信息进行封装、按照二维码格式要求生成的二维码,也即可以从电子发票版式文件存储模块27中找到与该二维码解析出的电子发票信息对应的电子发票版式文件,而根据伪造出的二维码解析出的电子发票信息,无法从电子发票版式文件存储模块27中找到对应的电子发票版式文件。其中,电子发票信息中可以携带有发票代码、发票号码和发票校验码等电子发票的相关信息。

故此,在具体实现中,所述获取子模块可以依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块27中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

若存在,则所述获取子模块将所述电子发票版式文件发送给所述请求处理子模块;通过该请求处理子模块将所述电子发票版式文件发送给所述扫码收票模块25。

在扫码收票模块25向扫码收票处理模块26发送请求时,便建立了与扫码收票处理模块26的通信连接,扫码收票处理模块26中的请求处理子模块便可依据该通信连接,将电子发票版式文件发送给该扫码收票模块25。

由上述技术方案可以看出,通过二维码生成写入模块,将电子发票的相关信息封装成二维码数据,二维码读取模块根据二维码展示模块的读取需求,从二维码数据存储模块读取对应的二维码数据,并发送给二维码展示模块;二维码展示模块,可以将该二维码数据按照二维码格式要求生成对应的二维码,并展示所述二维码;扫码收票模块可以扫描并解析所述二维码,获取到所述二维码对应的电子发票的相关信息;并依据于所述电子发票的相关信息中携带的电子发票链接地址,向扫码收票处理模块发送用于获取电子发票版式文件的请求;所述请求中携带有所述电子发票信息;所述扫码收票处理模块,在接收到所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,依据所述请求中携带的所述电子发票信息,从所述电子发票版式文件存储模块中查找是否存在对应的电子发票版式文件;若存在,则将所述电子发票版式文件发送给所述扫码收票模块。可见,通过将电子发票的相关信息转换成二维码的形式,用户可以利用扫码收票模块主动扫描二维码的方式来获取对应的电子发票,使得用户收取电子发票的方式变得灵活化、主动化。

考虑到二维码数据中可以包含有发票代码、发票号码和发票校验码等重要数据,而这些数据需要在互联网上传输,为了确保数据传输的安全性,可以对二维码数据中包含的这些重要数据进行加密处理后再传输。

在本发明实施例中,可以由二维码生成写入模块21中的二维码生成写入模块对封装后的二维码数据采用加密算法对所述二维码数据进行加密处理,得到加密后的二维码数据。

当二维码生成写入模块对二维码数据进行加密处理后,相应的,在二维码数据存储模块中存储的即为加密处理后的二维码数据,并且二维码展示模块展示的二维码也是根据加密后的二维码数据,按照二维码格式要求,所生成的二维码。

由上述实施例的介绍可知,二维码数据可以包括电子发票链接地址和地址参数,本发明实施例中,对于二维码数据的加密可以只对地址参数中包含的信息进行加密处理,无需对电子发票链接地址进行加密。

由于并未对电子发票链接地址进行加密,故此,扫码收票模块25在对二维码解析后,可以依据该电子发票链接地址,向扫码收票处理模块26发送http访问请求,在该请求中可以携带有解析出的电子发票信息。当用户利用扫码收票模块扫描的是正确的二维码时,此时解析出的二维码数据中的电子发票信息应该是经过加密后的电子发票信息,也即在向扫码收票处理模块26发送的请求中携带的是加密后的电子发票信息,为了便于后续对该电子发票信息的验证,需要先对该电子发票信息进行解密处理。

在具体实现中,当所述扫码收票处理模块26中的请求处理子模块接收到的所述扫码收票模块发送的所述用于获取电子发票版式文件的请求后,可以根据预先存储的密钥,对所述请求中携带的电子发票信息进行解密处理,获取到所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码;并向所述获取子模块发送用于获取电子发票版式文件的第二请求;所述第二请求中携带有解密后的电子发票信息。其中,解密后的电子发票信息可以包括发票代码、发票号码和发票校验码等信息。

相应的,

所述获取子模块在接收到请求处理子模块发送的用于获取电子发票版式文件的第二请求后,可以依据所述电子发票信息中携带的所述发票代码、所述发票号码和所述发票校验码,从所述电子发票版式文件存储模块27中查找是否存在与所述发票代码、所述发票号码和所述发票校验码一致的电子发票版式文件。

若在电子发票版式文件存储模块中存在与电子发票信息中携带的发票代码、发票号码和发票校验码一致的电子发票版式文件,则所述获取子模块可以从该电子发票版式文件存储模块27中获取到该电子发票版式文件,将所述电子发票版式文件发送给所述请求处理子模块;通过该请求处理子模块将所述电子发票版式文件发送给所述扫码收票模块25。

通过上述增加对二维码数据的加密处理,使得二维码数据的安全性得到了保证,从而提升数据传输时的安全性。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

以上对本发明所提供的一种扫码收取电子发票的方法与系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1