首页> 中国专利> 离线支付方法及系统、付款终端及收款终端

离线支付方法及系统、付款终端及收款终端

摘要

本发明公开了一种离线支付方法及系统、付款终端及收款终端,该方法包括通过扫描收款二维码获得收款TOKEN签名;对收款TOKEN签名解密获得收款RSA公钥;按照下载顺序获取第一个付款TOKEN签名;对付款TOKEN签名解密获得付款过程密钥;利用收款RSA公钥及付款过程密钥对交易要素加密获得付款凭据;接收收款终端针对动态付款二维码返回的交易成功信息。本发明通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,收款终端扫描以实现离线交易,能够提高离线交易的效率。

著录项

  • 公开/公告号CN113222600A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 中国银行股份有限公司;

    申请/专利号CN202110539026.3

  • 发明设计人 张宇;陈玮;

    申请日2021-05-18

  • 分类号G06Q20/38(20120101);G06Q20/32(20120101);G06Q20/40(20120101);G06K17/00(20060101);G06M1/272(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人谷敬丽;吴学锋

  • 地址 100818 北京市西城区复兴门内大街1号

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明涉及移动支付技术领域,尤其涉及离线支付方法及系统、付款终端及收款终端。

背景技术

本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

二维码支付已成为目前较为普遍的移动支付方式。然而,现有的二维码支付在发生支付操作时,付款方需要具备联网交互条件才能完成支付动作,同时收款方也需要具备联网交互条件才能获得交易结果。因此,当付款方及收款方处于网络条件不够好或者不够完善的地方,例如较为封闭的室内、偏远山区、涵洞以及隧道等等,此时会因为收款方或付款方与后台服务器之间的网络通信不稳定或者无法连接等造成交易耗时较长甚至交易失败的情况发生。

另一方面,由于在支付时收款方和付款方均需要与后台服务器进行通信交互,使得交易速度慢,由此会导致现有的二维码联网支付存在交易效率较低的问题,这种现象在客流量大、支付行为密集的便利店、餐厅等尤为明显。

因此,现有的二维码支付方式存在支付效率低,以及不能离线支付的问题。

发明内容

本发明实施例提供一种离线支付方法,用以在实现离线支付的同时提高支付效率,该离线支付方法包括:

扫描收款终端展示的收款二维码,获得收款终端的收款TOKEN签名;收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

利用与收款加密相逆的方法对收款终端的收款TOKEN签名进行解密,获得包括收款RSA公钥及待收款账号的收款信息;

在接收到输入的付款金额及付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,获得包括付款TOKEN值及付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;

接收收款终端针对动态付款二维码返回的交易成功信息,动态付款二维码包括付款凭据及付款TOKEN签名。

本发明实施例还提供一种付款终端,用以在实现离线支付的同时提高支付效率,该第一终端包括:

收款TOKEN签名获取模块,用于扫描收款终端展示的收款二维码,获得收款终端的收款TOKEN签名;收款TOKEN签名生成模块用于对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

收款信息获取模块,用于利用与收款加密相逆的方法对收款终端的收款TOKEN签名进行解密,获得包括收款RSA公钥及待收款账号的收款信息;

付款TOKEN签名获取模块,用于在接收到输入的付款金额及付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;

付款信息获取模块,用于利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,获得包括付款TOKEN值及付款过程密钥的付款信息;付款TOKEN签名生成模块用于对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

付款加密模块,用于利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;

交易成功信息接收模块,用于接收收款终端针对动态付款二维码返回的交易成功信息,动态付款二维码包括付款凭据及付款TOKEN签名。

本发明实施例还提供一种离线支付方法,用以在实现离线支付的同时提高支付效率,该离线支付方法包括:

向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码;收款二维码包括收款终端的收款TOKEN签名,收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名;动态付款二维码包括付款凭据及付款TOKEN签名;付款终端利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素;

在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息。

本发明实施例还提供一种收款终端,用以在实现离线支付的同时提高支付效率,该第二终端包括:

收款二维码展示模块,用于向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码;收款二维码包括收款终端的收款TOKEN签名,收款终端还包括收款TOKEN签名生成模块,用于对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

第二付款TOKEN签名获取模块,用于扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名;动态付款二维码包括付款凭据及付款TOKEN签名;付款加密模块收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;付款终端包括付款TOKEN签名生成模块,用于对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

第二付款信息获取模块,用于利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

收款解密模块,用于利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素;

交易成功信息发送模块,用于在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息。

本发明实施例还提供一种离线支付系统,用以在实现离线支付的同时提高支付效率,该离线支付系统包括上述实施例所述付款终端及上述实施例所述收款终端。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述离线支付方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述离线支付方法的计算机程序。

本发明实施例中,通过扫描收款终端展示的收款二维码获得收款终端的收款TOKEN签名;对收款TOKEN签名进行解密获得包括收款RSA公钥及待收款账号的收款信息;按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;对获取的付款TOKEN签名进行解密获得包括付款TOKEN值及付款过程密钥的付款信息;利用收款RSA公钥及付款过程密钥,对包括待收款账号及付款TOKEN值的交易要素进行加密获得付款凭据;最后接收收款终端针对动态付款二维码返回的交易成功信息。本发明实施例通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,进而利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,以便收款终端扫描实现离线交易,能够提高离线交易的效率。

附图说明

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

图1为本发明实施例提供的离线支付方法的实现流程图;

图2为本发明实施例提供的离线支付方法中生成付款TOKEN签名的实现流程图;

图3为本发明实施例提供的离线支付方法的另一实现流程图;

图4为本发明实施例提供的付款终端的功能模块图;

图5为本发明实施例提供的付款终端中付款TOKEN签名生成模块407的结构框图;

图6为本发明实施例提供的付款终端的另一功能模块图;

图7为本发明实施例提供的离线支付方法的实现流程图;

图8为本发明实施例提供的离线支付方法中生成收款TOKEN签名的实现流程图;

图9为本发明实施例提供的离线支付方法的另一实现流程图;

图10为本发明实施例提供的离线支付方法的又一实现流程图;

图11为本发明实施例提供的收款终端的功能模块图;

图12为本发明实施例提供的收款终端中收款TOKEN签名生成模块408的结构框图;

图13为本发明实施例提供的收款终端的另一功能模块图;

图14为本发明实施例提供的收款终端的又一功能模块图;

图15为本发明实施例提供的离线支付方法的实现流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

图1示出了本发明实施例提供的离线支付方法的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

如图1所示,应用于付款终端的离线支付方法,其包括:

步骤101,扫描收款终端展示的收款二维码,获得收款终端的收款TOKEN签名;收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

步骤102,利用与收款加密相逆的方法对收款终端的收款TOKEN签名进行解密,获得包括收款RSA公钥及待收款账号的收款信息;

步骤103,在接收到输入的付款金额及付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

步骤104,利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,获得包括付款TOKEN值及付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

步骤105,利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;

步骤106,接收收款终端针对动态付款二维码返回的交易成功信息,动态付款二维码包括付款凭据及付款TOKEN签名。

在进行离线支付时,收款终端向付款终端展示收款二维码,该收款二维码包括收款终端的收款TOKEN签名。其中,收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名。进而,付款终端扫描收款终端展示的收款二维码,通过利用与收款加密相逆的方法对收款TOKEN签名解密,从而获得包括收款RSA公钥及待收款账号的收款信息。另外,收款信息还包括收款TOKEN值及收款随机数。

鉴于付款终端包括多个付款TOKEN签名,付款终端在对收款TOKEN签名解密得到收款信息后,接收用户输入的付款金额及在接收到用户输入的付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名。其中,付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名。

在获取到付款TOKEN签名后,利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,从而获得包括付款TOKEN值及付款过程密钥的付款信息。另外,付款信息还包括付款RSA公钥、付款随机数、付款应用计数器。其中,付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥。

付款终端在获得收款信息中的收款RSA公钥及付款信息中的付款过程密钥后,利用收款RSA公钥及付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密,从而获得付款凭据。其中,交易要素还包括收款信息中的收款TOKEN值及收款随机数、付款金额及交易时间。最后,付款终端将付款凭据及付款TOKEN签名生成动态付款二维码,以便收款终端扫描该动态付款二维码获取其中的交易要素,以完成离线收款。收款终端在实现离线交易后发送交易成功信息至付款终端,即付款终端接收收款终端针对动态付款二维码返回的交易成功信息。

在本发明实施例中,通过扫描收款终端展示的收款二维码获得收款终端的收款TOKEN签名;对收款TOKEN签名进行解密获得包括收款RSA公钥及待收款账号的收款信息;按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;对获取的付款TOKEN签名进行解密获得包括付款TOKEN值及付款过程密钥的付款信息;利用收款RSA公钥及付款过程密钥,对包括待收款账号及付款TOKEN值的交易要素进行加密获得付款凭据;最后接收收款终端针对动态付款二维码返回的交易成功信息。本发明实施例通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,进而利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,以便收款终端扫描实现离线交易,能够提高离线交易的效率。

图2示出了本发明实施例提供的离线支付方法中生成付款TOKEN签名的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高生成付款TOKEN签名的复杂性,进而提高交易安全性,如图2所示,对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名,包括:

步骤201,利用待付款账号对应的付款应用计数器生成付款随机数;

步骤202,对付款TOKEN值、待付款账号对应的付款应用计数器,以及利用付款应用计数器生成的付款随机数进行合并散列获得付款散列值;

步骤203,利用加密算法主密钥对付款散列值进行加密,生成付款过程密钥;

步骤204,将付款TOKEN值、付款随机数、付款应用计数器及付款过程密钥合并进行SHA-2散列,获得付款SHA-2验证值;

步骤205,利用付款RSA私钥对待付款账号的付款TOKEN值、付款随机数、付款应用计数器、付款过程密钥及付款SHA-2验证值进行加密,获得付款信息签名;

步骤206,利用SHA-2算法对付款公钥进行散列,获得付款公钥SHA-2验证值;

步骤207,将付款RSA公钥、交易时间及付款公钥SHA-2验证值合并,生成付款公钥签名信息;

步骤208,利用银行RSA私钥对付款信息签名及付款公钥签名信息加密,生成付款TOKEN值对应的付款TOKEN签名。

其中,待付款账号例如可以是用户在付款终端设置的待付款银行卡号,或者用户在付款终端设置的包含金融支付功能的APP账号,通过该APP账号调用待付款银行卡号完成支付。其中,付款终端利用待付款账号(例如待付款银行卡号)生成若干个付款TOKEN值。加密算法可以包括3DES加密算法,本领域技术人员可以理解的是,加密算法还可以包括除上述3DES加密算法之外的其它加密算法,本发明实施例对此不作特别的限制。

在本发明实施例中,对付款TOKEN值进行付款加密生成对应的付款TOKEN签名,能够提高生成付款TOKEN签名的复杂性,进而提高交易安全性。

图3示出了本发明实施例提供的离线支付方法的再一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了进一步提高交易安全性,如图3所示,在上述方法步骤的基础上,离线支付方法还包括:

步骤301,向付款后台发送付款TOKEN及签名下载请求;

步骤302,接收付款后台针对付款TOKEN及签名下载请求返回的多个付款TOKEN值及其对应的付款TOKEN签名;

步骤303,从付款后台下载并保存多个付款TOKEN值及其对应的付款TOKEN签名,展示为付款二维码。

付款终端在获取付款TOKEN签名生成付款二维码时,向付款后台发送付款TOKEN及签名下载请求。付款后台在接收到付款终端发送的付款TOKEN及签名下载请求后,针对付款TOKEN及签名下载请求返回多个付款TOKEN值及其对应的付款TOKEN签名至付款终端,进而付款终端下载并保存多个付款TOKEN值及其对应的付款TOKEN签名,展示为付款二维码。

在本发明实施例中,从付款后台下载付款TOKEN值及其对应的付款TOKEN签名,能够进一步提高交易安全性。

本发明实施例还提供一种离线支付方法,应用于付款后台,该离线支付方法包括:

接收付款终端发送的付款TOKEN及签名下载请求;

针对付款TOKEN及签名下载请求返回多个付款TOKEN值及其对应的付款TOKEN签名。

付款后台在接收到付款终端发送的付款TOKEN及签名下载请求后,针对付款TOKEN及签名下载请求返回多个付款TOKEN值及其对应的付款TOKEN签名至付款终端,供付款终端下载并保存。

其中,在进行离线支付前,付款后台用于生成并保存证书密钥信息,并将证书密钥信息同步至收款后台(详见后续实施例部分)。其中,证书密钥信息包括CA根证书、银行RSA公私钥对及其索引编号、3DES算法主密钥、收款RSA公私钥对,付款RSA公私钥对。付款终端还用于从付款后台下载CA根证书、银行RSA公私钥对及其索引编号等。

本发明实施例还提供一种付款终端,如下面的实施例所述。由于这些付款终端解决问题的原理与应用于付款终端的离线支付方法相似,因此这些付款终端的实施可以参见方法的实施,重复之处不再赘述。

图4示出了本发明实施例提供的付款终端的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

参考图4,所述付款终端所包含的各个模块用于执行图1对应实施例中的各个步骤,具体请参阅图1以及图1对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述付款终端包括收款TOKEN签名获取模块401、收款信息获取模块402、付款TOKEN签名获取模块403、付款信息获取模块404、付款加密模块405、交易成功信息接收模块406、付款TOKEN签名生成模块407。

收款TOKEN签名获取模块401,用于扫描收款终端展示的收款二维码,获得收款终端的收款TOKEN签名。收款终端包括:收款TOKEN签名生成模块408,用于对收款TOKEN值进行收款加密生成对应的收款TOKEN签名。

收款信息获取模块402,用于利用与收款加密相逆的方法对收款终端的收款TOKEN签名进行解密,获得包括收款RSA公钥及待收款账号的收款信息。

付款TOKEN签名获取模块403,用于在接收到输入的付款金额及付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名。

付款信息获取模块404,用于利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,获得包括付款TOKEN值及付款过程密钥的付款信息。付款终端还包括:付款TOKEN签名生成模块407,用于对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥。

付款加密模块405,用于利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据。

交易成功信息接收模块406,用于接收收款终端针对动态付款二维码返回的交易成功信息,动态付款二维码包括付款凭据及付款TOKEN签名。

在本发明实施例中,收款TOKEN签名获取模块401通过扫描收款终端展示的收款二维码获得收款终端的收款TOKEN签名;收款信息获取模块402对收款TOKEN签名进行解密获得包括收款RSA公钥及待收款账号的收款信息;付款TOKEN签名获取模块403按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;付款信息获取模块404对获取的付款TOKEN签名进行解密获得包括付款TOKEN值及付款过程密钥的付款信息;付款加密模块405利用收款RSA公钥及付款过程密钥,对包括待收款账号及付款TOKEN值的交易要素进行加密获得付款凭据;最后交易成功信息接收模块406接收收款终端针对动态付款二维码返回的交易成功信息。本发明实施例通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,进而利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,以便收款终端扫描实现离线交易,能够提高离线交易的效率。

图5示出了本发明实施例提供的付款终端中付款TOKEN签名生成模块407的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高生成付款TOKEN签名的复杂性,进而提高交易安全性,参考图5,所述付款TOKEN签名生成模块407所包含的各个单元用于执行图2对应实施例中的各个步骤,具体请参阅图2以及图2对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述付款TOKEN签名生成模块407包括付款随机数生成单元501、付款散列值获取单元502、付款过程密钥获取单元503、付款SHA-2验证值获取单元504、付款信息签名获取单元505、付款公钥SHA-2验证值获取单元506、付款公钥签名信息获取单元507及付款TOKEN签名生成单元508。

付款随机数生成单元501,用于利用待付款账号对应的付款应用计数器生成付款随机数。

付款散列值获取单元502,用于对付款TOKEN值、待付款账号对应的付款应用计数器,以及利用付款应用计数器生成的付款随机数进行合并散列获得付款散列值。

付款过程密钥获取单元503,用于利用加密算法主密钥对付款散列值进行加密,生成付款过程密钥。

付款SHA-2验证值获取单元504,用于将付款TOKEN值、付款随机数、付款应用计数器及付款过程密钥合并进行SHA-2散列,获得付款SHA-2验证值。

付款信息签名获取单元505,用于利用付款RSA私钥对待付款账号的付款TOKEN值、付款随机数、付款应用计数器、付款过程密钥及付款SHA-2验证值进行加密,获得付款信息签名。

付款公钥SHA-2验证值获取单元506,用于利用SHA-2算法对付款公钥进行散列,获得付款公钥SHA-2验证值。

付款公钥签名信息获取单元507,用于将付款RSA公钥、交易时间及付款公钥SHA-2验证值合并,生成付款公钥签名信息。

付款TOKEN签名生成单元508,用于利用银行RSA私钥对付款信息签名及付款公钥签名信息加密,生成付款TOKEN值对应的付款TOKEN签名。

在本发明实施例中,对付款TOKEN值进行付款加密生成对应的付款TOKEN签名,能够提高生成付款TOKEN签名的复杂性,进而提高交易安全性。

图6示出了本发明实施例提供的付款终端的再一功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了进一步提高交易安全性,参考图6,所述付款终端所包含的各个模块用于执行图3对应实施例中的各个步骤,具体请参阅图3以及图3对应实施例中的相关描述,此处不再赘述。本发明实施例中,在上述模块结构的基础上,所述付款终端还包括付款TOKEN下载请求发送模块601、付款TOKEN及签名接收模块602及付款TOKEN及签名保存模块603。

付款TOKEN下载请求发送模块601,用于向付款后台发送付款TOKEN及签名下载请求。

付款TOKEN及签名接收模块602,用于接收付款后台针对付款TOKEN及签名下载请求返回的多个付款TOKEN值及其对应的付款TOKEN签名。

付款TOKEN及签名保存模块603,用于从付款后台下载并保存多个付款TOKEN值及其对应的付款TOKEN签名,展示为付款二维码。

在本发明实施例中,从付款后台下载付款TOKEN值及其对应的付款TOKEN签名,能够进一步提高交易安全性。

本发明实施例还提供一种付款后台,该付款后台包括:

付款TOKEN及签名下载请求接收模块,用于接收付款终端发送的付款TOKEN及签名下载请求;

付款TOKEN及签名发送模块,用于针对付款TOKEN及签名下载请求返回多个付款TOKEN值及其对应的付款TOKEN签名。

图7示出了本发明实施例提供的离线支付方法的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

如图7所示,应用于收款终端的离线支付方法,其包括:

步骤701,向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码;收款二维码包括收款终端的收款TOKEN签名,收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

步骤702,扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名;动态付款二维码包括付款凭据及付款TOKEN签名;付款终端利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

步骤703,利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

步骤704,利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素;

步骤705,在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息。

离线支付交易中收款终端在进行收款时,首先收款终端向付款终端展示二维码,以便付款终端根据扫描的收款二维码生成动态付码款二维。其中,收款二维码包括收款终端的收款TOKEN签名,收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名。该动态付款二维码包括付款凭据及付款TOKEN签名。

进而,收款终端扫描付款终端展示的动态付款二维码,从中解析出付款终端的付款TOKEN签名。其中,付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名。另外,付款终端利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据。

收款终端在解析动态付款二维码得到付款终端的付款TOKEN签名后,利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,从而获得包括付款过程密钥的付款信息。其中,付款信息还包括付款RSA公钥、付款随机数、付款应用计数器。另外,付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥。

在获得付款信息中的付款过程密钥后,利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素。其中,交易要素还包括收款信息中的收款TOKEN值及收款随机数、付款金额及交易时间。最后,在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息。

在本发明实施例中,向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码,扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名,利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息,利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素,在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息,能够在实现离线交易的同时,提高离线交易的效率。

图8示出了本发明实施例提供的离线支付方法中生成收款TOKEN签名的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高生成收款TOKEN签名的复杂性,进而提高交易安全性,如图8所示,对收款TOKEN值进行收款加密生成对应的收款TOKEN签名,包括:

步骤801,利用待收款账号对应的收款应用计数器生成收款随机数;

步骤802,对收款TOKEN值、待收款账号对应的收款应用计数器,以及利用收款应用计数器生成的收款随机数进行合并散列获得收款散列值;

步骤803,利用加密算法主密钥对收款散列值进行加密,生成收款过程密钥;

步骤804,将收款TOKEN值、待收款账号、收款随机数及收款过程密钥合并进行SHA-2散列,获得收款SHA-2验证值;

步骤805,利用收款RSA私钥对收款TOKEN值、待收款账号、收款随机数、收款过程密钥及收款SHA-2验证值进行合并加密,获得收款信息签名;

步骤806,利用SHA-2算法对收款公钥进行散列,获得收款公钥SHA-2验证值;

步骤807,将收款RSA公钥及收款公钥SHA-2验证值合并,生成收款公钥签名信息;

步骤808,利用银行RSA私钥对收款信息签名及收款公钥签名信息加密,生成收款TOKEN值对应的收款TOKEN签名。

其中,待收款账号例如可以是商户在收款终端设置的待收款银行卡号,或者商户在收款终端设置的包含金融支付功能的APP账号,通过该APP账号调用待收款银行卡号完成收款。其中,收款终端利用待收款账号(例如待收款银行卡号)生成收款TOKEN值。加密算法可以包括3DES加密算法,本领域技术人员可以理解的是,加密算法还可以包括除上述3DES加密算法之外的其它加密算法,本发明实施例对此不作特别的限制。

在本发明实施例中,对收款TOKEN值进行收款加密生成对应的收款TOKEN签名,能够提高生成收款TOKEN签名的复杂性,进而提高交易安全性。

图9示出了本发明实施例提供的离线支付方法的另一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了进一步提高交易安全性,如图9所示,在上述方法步骤的基础上,离线支付方法,还包括:

步骤901,向收款后台发送收款TOKEN及签名下载请求;

步骤902,接收收款后台针对收款TOKEN及签名下载请求返回的收款TOKEN值及其对应的收款TOKEN签名;

步骤903,下载并保存收款TOKEN值及其对应的收款TOKEN签名,展示为收款二维码;

收款终端向收款后台发送收款TOKEN及签名下载请求。收款后台在接收到收款终端发送的收款TOKEN及签名下载请求后,针对收款TOKEN及签名下载请求返回收款TOKEN值及其对应的收款TOKEN签名至收款终端,进而收款终端下载并保存收款TOKEN值及其对应的收款TOKEN签名,展示为收款二维码。

在本发明实施例中,从收款后台下载收款TOKEN值及其对应的收款TOKEN签名,能够进一步提高交易安全性。

本发明实施例还提供一种离线支付方法,应用于收款后台,该离线支付方法包括:

接收收款终端发送的收款TOKEN及签名下载请求;

收款后台在接收到收款终端发送的收款TOKEN及签名下载请求后,向收款终端返回收款TOKEN值及其对应的收款TOKEN签名。

收款后台在接收到收款终端发送的收款TOKEN及签名下载请求后,针对收款TOKEN及签名下载请求返回多个收款TOKEN值及其对应的收款TOKEN签名至收款终端,供收款终端下载并保存。

其中,在进行离线支付前,收款后台用于生成并保存证书密钥信息,并将证书密钥信息同步至付款后台。其中,证书密钥信息包括CA根证书、银行RSA公私钥对及其索引编号、3DES算法主密钥、收款RSA公私钥对,收款RSA公私钥对。收款终端还用于从收款后台下载CA根证书、银行RSA公私钥对及其索引编号等。

图10示出了本发明实施例提供的离线支付方法的又一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高离线交易效率,如图10所示,在上述方法步骤的基础上,离线支付方法还包括:

步骤1001,在联机时利用收款过程密钥对付款TOKEN签名及付款凭据进行加密生成交易密文,发送至收款后台;

步骤1002,接收收款后台对交易密文解密验证后反馈的扣款通知消息。

收款终端在向付款终端发送交易成功信息后,利用收款过程密钥对付款TOKEN签名及付款凭据进行加密生成交易密文,在交易发生后的某个时间,例如每日定时联机或者日终批量联机将交易密文发送至收款后台,收款后台在对交易密文解密验证后进行收款扣账,同时将扣款通知消息反馈给收款终端,以便收款终端接收该扣款通知消息。

在本发明实施例中,在联机时利用收款过程密钥对付款TOKEN签名及付款凭据进行加密生成交易密文,发送至收款后台,接收收款后台对交易密文解密验证后反馈的扣款通知消息,能够提高离线交易效率。

本发明实施例还提供一种收款终端,如下面的实施例所述。由于这些收款终端解决问题的原理与应用于收款终端的离线支付方法相似,因此这些收款终端的实施可以参见方法的实施,重复之处不再赘述。

图11示出了本发明实施例提供的收款终端的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

参考图11,所述收款终端所包含的各个模块用于执行图7对应实施例中的各个步骤,具体请参阅图7以及图7对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述收款终端包括收款二维码展示模块1101、第二付款TOKEN签名获取模块1102、第二付款信息获取模块1103、收款解密模块1104、交易成功信息发送模块1105及收款TOKEN签名生成模块408。

收款二维码展示模块1101,用于向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码;收款二维码包括收款终端的收款TOKEN签名,收款TOKEN签名生成模块408,用于对收款TOKEN值进行收款加密生成对应的收款TOKEN签名。

第二付款TOKEN签名获取模块1102,用于扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名;动态付款二维码包括付款凭据及付款TOKEN签名;付款加密模块收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;付款终端包括付款TOKEN签名生成模块407,用于对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名。

第二付款信息获取模块1103,用于利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥。

收款解密模块1104,用于利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素。

交易成功信息发送模块1105,用于在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息。

在本发明实施例中,收款二维码展示模块1101向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码,第二付款TOKEN签名获取模块1102扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名,第二付款信息获取模块1103利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息,收款解密模块1104利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素,交易成功信息发送模块1105在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息,能够在实现离线交易的同时,提高离线交易的效率。

图12示出了本发明实施例提供的收款终端中收款TOKEN签名生成模块408的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高生成收款TOKEN签名的复杂性,进而提高交易安全性,参考图12,所述收款TOKEN签名生成模块408所包含的各个单元用于执行图8对应实施例中的各个步骤,具体请参阅图8以及图8对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述收款TOKEN签名生成模块408包括收款随机数生成单元1201、收款散列值获取单元1202、收款过程密钥生成单元1203、收款SHA-2验证值获取单元1204、收款信息签名获取单元1205、收款公钥SHA-2验证值获取单元1206、收款公钥签名信息获取单元1207及收款TOKEN签名生成单元1208。

收款随机数生成单元1201,用于利用待收款账号对应的收款应用计数器生成收款随机数。

收款散列值获取单元1202,用于对收款TOKEN值、待收款账号对应的收款应用计数器,以及利用收款应用计数器生成的收款随机数进行合并散列获得收款散列值。

收款过程密钥生成单元1203,用于利用加密算法主密钥对收款散列值进行加密,生成收款过程密钥。

收款SHA-2验证值获取单元1204,用于将收款TOKEN值、待收款账号、收款随机数及收款过程密钥合并进行SHA-2散列,获得收款SHA-2验证值。

收款信息签名获取单元1205,用于利用收款RSA私钥对收款TOKEN值、待收款账号、收款随机数、收款过程密钥及收款SHA-2验证值进行合并加密,获得收款信息签名。

收款公钥SHA-2验证值获取单元1206,用于利用SHA-2算法对收款公钥进行散列,获得收款公钥SHA-2验证值。

收款公钥签名信息获取单元1207,用于将收款RSA公钥及收款公钥SHA-2验证值合并,生成收款公钥签名信息。

收款TOKEN签名生成单元1208,用于利用银行RSA私钥对收款信息签名及收款公钥签名信息加密,生成收款TOKEN值对应的收款TOKEN签名。

在本发明实施例中,对收款TOKEN值进行收款加密生成对应的收款TOKEN签名,能够提高生成收款TOKEN签名的复杂性,进而提高交易安全性。

图13示出了本发明实施例提供的付款终端的另一功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了进一步提高交易安全性,参考图13,所述付款终端所包含的各个模块用于执行图9对应实施例中的各个步骤,具体请参阅图9以及图9对应实施例中的相关描述,此处不再赘述。本发明实施例中,在上述模块结构的基础上,所述付款终端还包括收款TOKEN下载请求发送模块1301、收款TOKEN及签名接收模块1302及收款TOKEN及签名保存模块1303。

收款TOKEN下载请求发送模块1301,用于向收款后台发送收款TOKEN及签名下载请求。

收款TOKEN及签名接收模块1302,用于接收收款后台针对收款TOKEN及签名下载请求返回的收款TOKEN值及其对应的收款TOKEN签名。

收款TOKEN及签名保存模块1303,用于下载并保存收款TOKEN值及其对应的收款TOKEN签名,展示为收款二维码。

在本发明实施例中,从收款后台下载收款TOKEN值及其对应的收款TOKEN签名,能够进一步提高交易安全性。

本发明实施例还提供一种收款后台,该收款后台包括:

收款TOKEN及签名下载请求接收模块,用于接收收款终端发送的收款TOKEN及签名下载请求;

收款TOKEN及签名发送模块,用于收款后台在接收到收款终端发送的收款TOKEN及签名下载请求后,向收款终端返回收款TOKEN值及其对应的收款TOKEN签名。

图14示出了本发明实施例提供的付款终端的又一功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在本发明的一实施例中,为了提高离线交易效率,参考图14,所述付款终端所包含的各个模块用于执行图10对应实施例中的各个步骤,具体请参阅图10以及图10对应实施例中的相关描述,此处不再赘述。本发明实施例中,在上述模块结构的基础上,所述付款终端还包括加密发送模块1401及扣款通知接收模块1402。

加密发送模块1401,用于在联机时利用收款过程密钥对付款TOKEN签名及付款凭据进行加密生成交易密文,发送至收款后台。

扣款通知接收模块1402,用于接收收款后台对交易密文解密验证后反馈的扣款通知消息。

在本发明实施例中,加密发送模块1401在联机时利用收款过程密钥对付款TOKEN签名及付款凭据进行加密生成交易密文,发送至收款后台,扣款通知接收模块1402接收收款后台对交易密文解密验证后反馈的扣款通知消息,能够提高离线交易效率。

图15示出了本发明实施例提供的离线支付方法的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:

如图15所示,离线支付方法,其包括:

步骤701,收款终端向付款终端展示收款二维码,以便付款终端根据扫描的收款二维码生成动态付款二维码;收款二维码包括收款终端的收款TOKEN签名,收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

步骤101,付款终端扫描收款终端展示的收款二维码,获得收款终端的收款TOKEN签名;收款终端通过对收款TOKEN值进行收款加密生成对应的收款TOKEN签名;

步骤102,付款终端利用与收款加密相逆的方法对收款终端的收款TOKEN签名进行解密,获得包括收款RSA公钥及待收款账号的收款信息;

步骤103,付款终端在接收到输入的付款金额及付款确认指令后,按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;付款终端通过对每个付款TOKEN值进行付款加密生成对应的付款TOKEN签名;

步骤104,付款终端利用与付款加密相逆的方法对获取的付款TOKEN签名进行解密,获得包括付款TOKEN值及付款过程密钥的付款信息;付款终端根据付款TOKEN值、待付款账号对应的付款应用计数器,以及付款应用计数器生成的付款随机数生成付款过程密钥;

步骤105,付款终端利用收款信息中的收款RSA公钥及付款信息中的付款过程密钥,对包括收款信息中的待收款账号及付款信息中的付款TOKEN值的交易要素进行加密获得付款凭据;

步骤702,收款终端扫描付款终端展示的动态付款二维码,获得付款终端的付款TOKEN签名;动态付款二维码包括付款凭据及付款TOKEN签名;

步骤703,收款终端利用与付款加密相逆的方法对付款终端的付款TOKEN签名进行解密,获得包括付款过程密钥的付款信息;

步骤704,收款终端利用收款RSA公钥及付款信息中的付款过程密钥,对付款终端的付款凭据进行解密,获得包括待收款账号及付款TOKEN值的交易要素;

步骤705,收款终端在接收到交易要素无误的确认指令时,向付款终端发送交易成功信息;

步骤106,付款终端接收收款终端针对动态付款二维码返回的交易成功信息,动态付款二维码包括付款凭据及付款TOKEN签名。

在本发明实施例中,通过扫描收款终端展示的收款二维码获得收款终端的收款TOKEN签名;对收款TOKEN签名进行解密获得包括收款RSA公钥及待收款账号的收款信息;按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;对获取的付款TOKEN签名进行解密获得包括付款TOKEN值及付款过程密钥的付款信息;利用收款RSA公钥及付款过程密钥,对包括待收款账号及付款TOKEN值的交易要素进行加密获得付款凭据;最后接收收款终端针对动态付款二维码返回的交易成功信息。本发明实施例通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,进而利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,以便收款终端扫描实现离线交易,能够提高离线交易的效率。

本发明实施例还提供一种离线支付系统,所述离线支付系统包括上述实施例所述的付款终端及上述实施例所述的收款终端。在上述的基础上,所述离线支付系统还包括上述实施例所述的付款后台及上述实施例所述的收款后台。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述离线支付方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述离线支付方法的计算机程序。

综上所述,本发明实施例中,通过扫描收款终端展示的收款二维码获得收款终端的收款TOKEN签名;对收款TOKEN签名进行解密获得包括收款RSA公钥及待收款账号的收款信息;按照下载顺序获取从付款终端下载的第一个付款TOKEN签名;对获取的付款TOKEN签名进行解密获得包括付款TOKEN值及付款过程密钥的付款信息;利用收款RSA公钥及付款过程密钥,对包括待收款账号及付款TOKEN值的交易要素进行加密获得付款凭据;最后接收收款终端针对动态付款二维码返回的交易成功信息。本发明实施例通过对收款TOKEN签名解密获得收款RSA公钥,对付款TOKEN签名解密获得付款过程密钥,进而利用收款RSA公钥及付款过程密钥对交易要素进行加密获得付款凭证以形成动态付款二维码,以便收款终端扫描实现离线交易,能够提高离线交易的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号