一种动态二维码的生成方法、系统及终端设备技术方案

技术编号:22502581 阅读:17 留言:0更新日期:2019-11-09 02:43
本发明专利技术公开了一种动态二维码的生成方法,包括以下步骤:S1、获取动态二维码的初始数据,并按照预设规则将初始数据拼接成待签名串;初始数据中包括:至少两种支付方式的数据;S2、对待签名串进行国密算法的签名操作,得到签名串;S3、将签名串写入签名域中,与初始数据的子域组成动态数据域;S4、动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;S5、将动态二维码数据写入预设的二维码矩阵中,形成动态二维码。通过实施本发明专利技术,构造了可支持多种支付方式主扫的动态二维码,并将主扫、被扫以及非接支付方式设置在同一终端设备上,增加了付款的多样性,提高了用户付款的效率与体验,最佳的适应了各类支付场景。

A generation method, system and terminal equipment of dynamic QR code

The invention discloses a method for generating a dynamic two-dimensional code, which comprises the following steps: S1. Obtaining the initial data of the dynamic two-dimensional code, and splicing the initial data into a string to be signed according to the preset rules; the initial data includes: data of at least two payment methods; S2. Performing signature operation of the state secret algorithm on the string to be signed to obtain the signature string; S3. Writing the signature string into the signature domain In, the dynamic data domain is composed of the sub domain of the initial data; S4, the dynamic data domain, UnionPay domain name address and offline dynamic code identification form the dynamic QR code data; S5, the dynamic QR code data is written into the preset QR code matrix to form the dynamic QR code. Through the implementation of the invention, a dynamic two-dimensional code which can support the main scanning of multiple payment methods is constructed, and the main scanning, scanned and non connected payment methods are set on the same terminal device, which increases the diversity of payment, improves the efficiency and experience of user payment, and best adapts to various payment scenarios.

【技术实现步骤摘要】
一种动态二维码的生成方法、系统及终端设备
本专利技术涉及二维码
,尤其涉及一种动态二维码的生成方法、系统及终端设备。
技术介绍
随着消费市场的多样性和规模不断扩大,二维码与闪付消费的应用场景和客户也越来越多,对于二维码产品的要求越来越多样,原来的用户消费在中小型商店只能主扫静态二维码,且静态二维码有付款上限和支付的单一性,极大的影响着支付的体验。例如,该静态二维码是微信的二维码,则用户只能通过微信进行扫码支付,并不通过支付宝或者其他支付方式进行扫码支付。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术中静态二维码支付单一性的缺陷,提供一种动态二维码的生成方法、系统及终端设备。本专利技术解决其技术问题所采用的技术方案是:构造一种动态二维码的生成方法,包括以下步骤:S1、获取动态二维码的初始数据,并按照预设规则将所述初始数据拼接成待签名串;所述初始数据中包括:至少两种支付方式的数据;S2、对所述待签名串进行国密算法的签名操作,得到签名串;S3、将所述签名串写入签名域中,与所述初始数据的子域组成动态数据域;S4、所述动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;S5、将所述动态二维码数据写入预设的二维码矩阵中,形成动态二维码。优选地,在本专利技术所述的动态二维码的生成方法中,所述初始数据还包括:商户编号、订单编号、订单时间、交易金额以及公钥索引。优选地,在本专利技术所述的动态二维码的生成方法中,所述按照预设规则将所述初始数据拼接成待签名串的步骤包括:对所述初始数据的数据元采用key=value的形式按照名称首字母进行排序,并以&作为连接符拼接成待签名串,其中key为数据名称,value为数据值。优选地,在本专利技术所述的动态二维码的生成方法中,所述步骤S2包括:使用国密算法SM3对所述待签名串进行摘要操作,使用自身生成的私钥证书SM2中的签名私钥对摘要后的待签名串进行签名操作,并进行Base64编码,转化为网络字节序列,得到编码后的签名串。优选地,在本专利技术所述的动态二维码的生成方法中,所述步骤S5包括:将所述动态二维码数据写入包含有位置探测图形、位置探测图形分隔符、定位图形、校正图形、格式信息以及版本信息的预设二维码矩阵中,形成动态二维码。本专利技术还构造了一种动态二维码的生成系统,包括:初始数据获取模块,用于获取动态二维码的初始数据,所述初始数据中包括:至少两种支付方式的数据;待签名模块,用于按照预设规则将所述初始数据获取模块获取到的初始数据拼接成待签名串;签名模块,用于对所述待签名模块拼接后的待签名串进行国密算法的签名操作,得到签名串;写入模块,用于将所述签名模块签名后的签名串写入签名域中,与所述初始数据的子域组成动态数据域,所述动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;以及,将所述动态二维码数据写入预设的二维码矩阵中,形成动态二维码。优选地,在本专利技术所述的动态二维码的生成系统中,所述初始数据还包括:商户编号、订单编号、订单时间、交易金额以及公钥索引。优选地,在本专利技术所述的动态二维码的生成系统中,所述待签名模块包括:排序模块,用于对所述初始数据获取模块获取到的初始数据的数据元采用key=value的形式按照名称首字母进行排序,其中key为数据名称,value为数据值;拼接模块,用于将所述排序模块排序后的初始数据以&作为连接符拼接成待签名串。优选地,在本专利技术所述的动态二维码的生成系统中,所述签名模块,包括:摘要模块,用于使用国密算法SM3对所述待签名模块拼接后的待签名串进行摘要操作;加密模块,用于使用自身生成的私钥证书SM2中的签名私钥对所述摘要模块进行摘要操作后的待签名串进行签名加密操作,得到签名串;编码模块,用于对所述加密模块签名加密操作后的签名串进行Base64编码,转化为网络字节序列,得到编码后的签名串。本专利技术还构造了一种终端设备,包括:上述任一项所述的动态二维码的生成系统、用于显示所述动态二维码的显示器、以及用于扫描付款方二维码的二维码读取器、以及用于与付款方的非接触式IC卡进行无线通信的非接触式IC卡读卡器。通过实施本专利技术,本专利技术构造了可支持多种支付方式主扫的动态二维码,并将主扫、被扫以及非接支付方式设置在同一终端设备上,解决了原来用户在中小型型商店只能主扫静态码的付款方式,且对网络要求状态较高的缺陷,用户可根据实际情况,例如用户主扫支付时网络状况较差情况下,用户可在主扫、被扫以及非接支付方式之间选择任意一种支付方式进行支付,极大地方便了用户,增加了付款的多样性,提高了用户付款的效率与体验,最佳的适应了各类支付场景。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术动态二维码的生成方法的流程图;图2是本专利技术动态二维码的生成系统的模块框图;图3是本专利技术商户终端与银联全渠道交易系统的通信过程图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。在本专利技术中,根据适用场景以及发起方式的不同,目前二维码可以分为主扫模式,即付款人主读模式,以及被扫模式,即付款人被读模式。主扫模式是指收款人展示二维码,付款人扫描二维码;被扫模式是指付款人展示二维码,收款人扫描二维码。参见图1,图1是本专利技术动态二维码的生成方法的流程图,本专利技术构造了一种动态二维码的生成方法,包括以下步骤:S1、获取动态二维码的初始数据,并按照预设规则将初始数据拼接成待签名串;初始数据中包括:至少两种支付方式的数据、商户编号、订单编号、订单时间、交易金额以及公钥索引;S2、对待签名串进行国密算法的签名操作,得到签名串;S3、将签名串写入签名域中,与初始数据的子域组成动态数据域;S4、动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;S5、将动态二维码数据写入预设的二维码矩阵中,形成动态二维码。具体地,在步骤S1中:获取动态二维码的初始数据,并按照预设规则将初始数据拼接成待签名串,包括:接收用户或商户输入的生成动态二维码的命令,主动获取包括至少两种支付方式的数据、商户编号、订单编号、订单时间、公钥索引以及输入的交易金额的初始数据,对初始数据的数据元采用key=value的形式按照名称首字母进行排序,并以&作为连接符拼接成待签名串,其中,key为数据名称,value为数据值。例如:初始数据:name=zhang和age=2,name和age无法区分,但以&作为连接符便可清晰区分每个字符串。在本实施例中,支付方式包括微信、支付宝、云闪付等支付方式。在步骤S2中:对待签名串进行国密算法的签名操作,得到签名串,包括:使用国密算法SM3对待签名串进行摘要操作,把数据压缩,减少数据进行加密的时间,提高效率;使用自身生成的私钥证书SM2中的签名私钥对摘要后的待签名串进行签名操作,并进行Base64编码,转化为网络字节序列,易于传输,得到编码后的签名串。其中,私钥自身保存,用于加密,而公钥上传至后台,用于解密。而Base64是一种基于64个可打印字符来表示二进制数据的方法。SM2是非对称加密算法,SM3是摘要算法。在步骤S3和S4中:将签名串写入签名域中,与初始数据的子域组成动态数据域;所述动态数据域、银联域本文档来自技高网...

【技术保护点】
1.一种动态二维码的生成方法,其特征在于,包括以下步骤:S1、获取动态二维码的初始数据,并按照预设规则将所述初始数据拼接成待签名串;所述初始数据中包括:至少两种支付方式的数据;S2、对所述待签名串进行国密算法的签名操作,得到签名串;S3、将所述签名串写入签名域中,与所述初始数据的子域组成动态数据域;S4、所述动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;S5、将所述动态二维码数据写入预设的二维码矩阵中,形成动态二维码。

【技术特征摘要】
1.一种动态二维码的生成方法,其特征在于,包括以下步骤:S1、获取动态二维码的初始数据,并按照预设规则将所述初始数据拼接成待签名串;所述初始数据中包括:至少两种支付方式的数据;S2、对所述待签名串进行国密算法的签名操作,得到签名串;S3、将所述签名串写入签名域中,与所述初始数据的子域组成动态数据域;S4、所述动态数据域、银联域名地址以及脱机动态码标识组成动态二维码数据;S5、将所述动态二维码数据写入预设的二维码矩阵中,形成动态二维码。2.根据权利要求1所述的动态二维码的生成方法,其特征在于,所述初始数据还包括:商户编号、订单编号、订单时间、交易金额以及公钥索引。3.根据权利要求1所述的动态二维码的生成方法,其特征在于,所述按照预设规则将所述初始数据拼接成待签名串的步骤包括:对所述初始数据的数据元采用key=value的形式按照名称首字母进行排序,并以&作为连接符拼接成待签名串,其中key为数据名称,value为数据值。4.根据权利要求1所述的动态二维码的生成方法,其特征在于,所述步骤S2包括:使用国密算法SM3对所述待签名串进行摘要操作,使用自身生成的私钥证书SM2中的签名私钥对摘要后的待签名串进行签名操作,并进行Base64编码,转化为网络字节序列,得到编码后的签名串。5.根据权利要求1所述的动态二维码的生成方法,其特征在于,所述步骤S5包括:将所述动态二维码数据写入包含有位置探测图形、位置探测图形分隔符、定位图形、校正图形、格式信息以及版本信息的预设二维码矩阵中,形成动态二维码。6.一种动态二维码的生成系统,其特征在于,包括:初始数据获取模块,用于获取动态二维码的初始数据,所述初始数据中包括:至少两种支付方式的数据...

【专利技术属性】
技术研发人员:张思哲张波郭颂
申请(专利权)人:深圳市优博讯科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1