具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例具体可以实现在一种如图1所示的***中,其中包括:离线支付服务器、移动终端和扫描设备。
扫描设备中配置了无线通信模块,比如WIFI模块,以及串口模块,在扫描设备的存储器中安装有操作***。扫描设备中配置了扫描元件,具体用于扫描二维码并分析进行处理。例如:扫描设备可以是POS(point of sale,销售终端)、扫描枪或者其他集成了一种或者多种支付功能的扫描设备。具体的,扫码设备(比如POS机)中,可以集成一个安全程序,用于解密离线码的有效性,其中,有效性可以理解为时间有效性、身份有效性、地理位置有效性、动态因子等等,的结合。
移动终端具体可以实做成单独一台设备,或整合于各种不同的媒体数据播放***中,诸如智能手机、平板电脑(Tablet Personal Computer)、膝上型电脑(LaptopComputer)、个人数字助理(personal digital assistant,简称PDA)或可穿戴式设备(Wearable Device)等。移动终端上可以通过安装的应用程序或者APP,用于登录离线支付服务器;以及根据用户的操作生成离线码。
离线支付服务器具体可以是单独作成的服务器设备,比如:机架式、刀片、塔式或者机柜式的服务器设备,也可以采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是由多个服务器设备组成的服务器集群。
本发明实施例提供一种快速支付方法,如图2a所示,包括:
S1、扫码设备扫描移动终端显示的离线码并解密,得到动态因子和验证信息。
其中,所述验证信息至少包括:地理信息和时间信息,所述离线码由所述移动终端利用所述动态因子处理所述验证信息得到的。所述验证信息至少包括:地理信息和时间信息,所述离线码由所述移动终端利用所述动态因子处理所述验证信息得到的。离线码的具体表现形式可以是一种二维码。
例如:如图3所示的,移动终端可以在有无线网络的情况下,先登录离线支付服务器,并从离线支付服务器中请求获取动态因子。所述动态因子中包括了所述移动终端的授权信息,所述授权信息用于表示用户信用等级,其中,用户信用等级与所述授权信息的时效性正相关、与允许离线支付的地理范围正相关、与离线支付额度正相关。移动终端需要先获取授权信息,有了授权才可以走后续的离线支付流程。没有授权信息时,由于无法证明该用户的信用等级,因此不能享受离线服务。
在实际应用中,离线支付服务器可以将授权信息和其他用于验证安全性的信息加密至动态因子中,并将动态因子返回给已登录的移动终端。例如:移动终端上的APP在打开离线服务时(比如离线公交刷卡服务),在有网络的情况下,会收到到分析服务端最新发送的动态因子,动态因子是通过非对称加密计算得出,如图4所示的,离线支付服务器接收移动终端上的APP的登录请求,登录请求也用于请求获取动态因子,离线支付服务器在获取最新的加密公钥后,利用该移动终端的请求信息、离线支付服务器当前的时间信息、离线支付的有效时间等参数或者数据,通过加密公钥进行非对称加密,非对称加密的结果即作为动态因子返回给移动终端,移动终端则将动态因子存储在本地。
S2、通过私钥信息解密所述动态因子,并根据所述动态因子的解密结果和所述验证信息,验证所述离线码的合法性。
由于动态因子存储在本地,使得移动终端显示离线码和扫码设备扫描离线码的过程都可以处于离线状态,即实现了扫描支付的两端全部离线,不需要再通过无线网络走在线流程,从而大大加快了扫描支付的处理速度。例如:如图5所示的,用于存储动态因子的动态库,具体可以内嵌在移动终端的APP程序内,比如:形成后缀为.SO的文件,主要的是对离线码数据进行加密等算法处理。具体的加密算法在动态库内部实现,通常情况下其他技术人员接触不到,也无法反编译,有效的防止算法泄露。
并且,在离线交易中,移动终端仅显示离线码即可,移动终端对于被扫描的过程并不知情,仅仅是被扫了,并不用与扫码设备进行进一步的交互,从而最大程度得降低了交互次数,实现了极快速的扫描支付。
S3、记录通过了合法性验证的离线码,并展示验证成功消息。
其中,展示验证成功消息的具体方式,可以是通过提示语音或者提示文字、图案的形式展示。进一步的还包括:扫码设备与离线支付服务器建立连接后,从所述离线支付服务器获取私钥信息并存储。
其中,扫码设备可以在有无线网络的情况下与离线支付服务器建立连接,具体与离线支付服务器建立连接的方式,可以采用周期性与分析服务建立连接、扫码设备定位至指定地点后与分析服务建立连接、由人工触发与分析服务建立连接等方式。而具体与离线支付服务器建立连接的时机,可以依据本实施例的实际应用设定。
具体的,扫码设备(比如POS机)每天或者每隔一段时间,都会向支付***中的离线支付服务器签到,在签到的同时也从离线支付服务器获取了最新的私钥信息,私钥信息在通信的过程中也是进行了非对称加密处理。扫码设备签到成功后,扫码设备内的动态库对私钥信息进行解密处理。使得扫码设备通过定期向离线支付服务器签到获取最新的私钥信息。私钥信息中包括了用于非对称加密/解密处理所需使用的私钥,私钥信息的具体内容可以依据所采用的加密/解密方式设定。
还包括:记录通过了合法性验证的离线码,在所述扫码设备与所述离线支付服务器再次建立连接后,向所述离线支付服务器上报扫描记录。
其中,所述离线支付服务器用于根据上报扫描记录执行交易流程。验证合法后,扫码设备会将离线码等信息作为扫描记录先存储在本地,当扫码设备转入在线状态后,会将扫描记录发送给离线支付服务器,并进一步由支付***执行具体的交易流程,然后移动终端会在在线状态下收到相关消费提现的信息。
由于目前已有的扫码支付***,在支付速度上最快也还是秒级,在很多快速支付场景中,尤其是公共交通场所等人流量大、需要极快速完成小额支付的场景,都难以应用目前已有的扫码支付***,还是采用传统的投币、公交卡等支付手段,例如:用户在使用公交卡刷卡乘坐公共交通工具时,由于目前公交卡主要为非接触式射频卡,用户在使用和携带过程中,容易造成公交卡的弯折损坏、卡面的磨损致使卡面图案模糊等人为损耗。当用户乘坐公共交通工具使用单次公交卡时,也大多使用小额票款购买单次公交卡,同样需要工作人员对小额票款进行清点结算。且由于该可复用的预付费公交卡不记名、不挂失,丢失后会给用户造成很大的损失,并且还需要用户去指定的网点购买、充值和退款,同样给用户造成很多不便。
本实施例中,移动终端(运行支付类的APP)获取授权信息;移动端钱包获取动态因子;根据动态因子等信息生成离线二维码;POS机等扫码设备从离线服务***获取私钥信息并存储本地;扫码设备验证离线二维码并进行解密。
通过引入了离线码,扫码设备在离线情况下完成对离线码的校验,并完成支付交易。本实施例可应用在移动终端和扫码设备均离线时的支付场景,当用户开通支付应用的离线码功能之后,可通过使用移动终端完成对扫码设备的离线支付,能够快速、安全的完成支付交易,无需在线联网,避免了现有技术中扫码支付太慢、传统支付又不便的问题。
在本实施例步骤S1中,所述扫码设备与离线支付服务器建立连接,包括:
所述扫码设备处于在线状态时,登录所述离线支付服务器并签到,并从所述离线支付服务器更新私钥信息。
其中,超过有效期的私钥信息失效。例如:如图6所示的,POS机终端每天使用前都会到离线支付服务器来签到(获取最新私钥信息),私钥在通信的过程中也是进行了非对称加密处理。POS机签到成功后,POS机内的动态库对私钥信息进行解密处理。即POS机通过定期向离线支付服务器签到获取最新私钥。
在本实施例中,还包括:
每隔指定周期:所述扫码设备处于在线状态时,登录所述离线支付服务器并签退。若所述扫码设备超过预设时间未登录所述离线支付服务器并签退,则触发报警流程。
其中,若距离上次签退时间过久,则需要启动报警流程,即针对数据丢失的情况给予救济。例如:扫码设备可以在每一次转入在线状态就向所述离线支付服务器上报扫描记录,并触发离线支付服务器执行相应的交易流程;也可以是,扫码设备在每次签退后,才触发离线支付服务器执行相应的交易流程,从而给持有扫码设备的商户进行结账,扫码设备可以每天签到/签退一次。对于网端的支付***来说,用户出示离线码上车时,网端的支付***并没有给用户实际扣款,只有扫码设备将扫描记录上传后,网端才会对用户账户扣款以及给商户进行结账,用户账户的余额不足是则可以采用信用透支的支付方式,并通知用户。
在本实施例步骤S4中,所述在所述扫码设备与所述离线支付服务器再次建立连接后,向所述离线支付服务器上报扫描记录,包括:
在所述扫码设备由离线状态转入在线状态后,与所述离线支付服务器建立连接,并向所述离线支付服务器上报扫描记录。例如:公交车每次停靠在一个站点时,接入该站点的路由器的无线网络,车载的扫码设备由离线状态转入在线状态,与所述离线支付服务器建立连接。
或者,在所述扫码设备登录所述离线支付服务器并签退时,向所述离线支付服务器上报扫描记录。例如:POS机每日签退(或者每趟车签退)时联网,向离线支付服务器上传的扫描到的离线码,并添加POS机的加密标签,离线支付服务器需要验证离线码和加密标签是否正确。而POS机验证用户出示的离线码是否合法,向离线支付服务器上传的为验证合法的离线码。
在公交车的上车支付场景下,扫码设备可以每日或者每趟车的频率进行签到,每次签到交换最新的私钥,私钥有有效期限当日或者当趟车。每次联网状态下,扫码设备都可以上送数据并更新私钥,从而提高公交车离线扫码支付的速度并提高离线支付的安全性。
进一步的,本实施例中所述动态因子中包括了所述移动终端的授权信息,所述授权信息用于表示用户信用等级。
其中,用户信用等级与所述授权信息的时效性正相关、与允许离线支付的地理范围正相关、与离线支付额度正相关。具体的,可以对用户信用划分等级,比如:最低信用的用户需要强制联网,按照信用等级从低到高,可以依次提高离线码的有效时长,根据用户的分级控制额度、离线的时效性。同样的,也可以对商户信用划分等级,比如:最低低信用的商户需要强制联网,按照信用等级从低到高,可以依次提高离线码的有效时长,根据商户的分级控制额度、离线的时效性。
在本实施例步骤S3中,所述根据所述动态因子的解密结果和所述验证信息,验证所述离线码的合法性,包括:
当所述扫码设备检测到判定条件中的任意一项不成立时,判定所述离线码的不合法,所述判定条件包括:
所述时间信息所表示的时刻,在所述授权信息的有效时长内。
和,所述地理信息所指向的位置,在所述允许离线支付的地理范围内。
和,所述离线码对应的交易金额,在所述授权信息所表示的支付额度内。
本实施例中所提及的判定条件,不仅可以包括上述三项,还可以包括但不限于其他适应具体场景的判定条件,这些判定条件可以根据具体场景的情况,结合本实施例的内容进行设计,例如:所述判定条件还包括:同一移动终端连续2次的离线支付的时间间隔小于预设值等。如图7所示的,车载的POS机解密验证离线码时,POS机中的动态库获取到离线码内容,主要对离线码内容进行解密,解密出动态因子、授权信息、客户端时间、地理信息。校验动态因子中的授权信息、时间、地理信息的合法性。所有校验结果通过则认为离线码信息是合法的。校验授权的合法性、离线码时效性、地理位置的合理性。对于公交车的使用环境,反映了移动终端时间、位置关系的时间信息和地理信息具有一定的关联性,比如地点A,时间为夜班车的运营时间段等,那么所产生的离线码就只能应用在地点A、且时间为夜班车的运营时间段的公交车上。
进一步的,列举一个公交车的场景下的POS机校验二维码的实例,具体包括:
当所述扫码设备的当前坐标位于指定区域时,所述扫码设备转入离线状态,扫描移动终端显示的离线码并解密。当所述扫码设备的当前坐标离开指定区域时,所述扫码设备转入在线状态,与所述离线支付服务器再次建立连接,并向所述离线支付服务器上报扫描记录。其中:
a、需校验二维码的长度、二维码标识(如8开头),长度标识不合法的告知商户二维码无效,即规则不合法;
b、二维码有效期:服务端当自然日有效,当天同一台设备重复的二维码,告知商户二维码无效(二维码重复)。不同设备同一个二维码均可支付。同一个码同一个设备只能被使用;
c、移动终端的二维码每分钟有效且自动刷新。缺省10分钟内客户端有效。下单时客户端时间与二维码时间相差10分钟,即下单失败;
d、扫码设备要记录最近10分钟的离线码信息防止重复刷。
基于该实例,本实施例所提供的具体流程也可以应用在飞机或者远洋船舶等经常会出现离线断网的场景中,实现飞机上的、远洋船舶上的商品贩卖,实时补票等交易行为。
从用户使用的角度,在这些场景中离线交易并下单校验的过程包括:
1、用户打开支付APP,展示二维码(用于离线支付的专属二维码,如乘车码和员工码)。
2、商户通过扫码枪扫描二维码,将二维码及商户信息(商户号)、商品相关信息(金额、商品类型编码、单号,公交线路、食堂档口)等信息调线下支付***下单支付。
3、线下支付***对进行参数校验、验签和校验商户合同。验签失败,并通知商户失败。记录并返回失败原因:参数不合法、验签失败、无合同或合同到期。
4、验签失败、参数不合法或合同到期的下单失败的订单由公交公司承担损失,此类订单不结算给商户,也不创建支付订单。
5、合同、验签通过,解密二维码内容(会员ID、),通过会员ID校验会员信息。解密的ID校验会员信息失败,记录失败原因。
6、二维码有效期当自然天有效,即:当天的订单必须当天完成支付请求,否则将失败处理,此类订单不结算给商户。记录失败原因。即不进行代付。
7、二维码有效期是当天,规则正确,但是解密二维码失败,记录二维码无效(二维码被破解)。一个二维码只能被使用一次,重复使用时,支付失败,记录失败原因(已被支付)。
8、失败了不进行代付的场景包括:参数不合法、验签失败、合同到期或无合同、二维码过了有效期,二维码被破解(无法解密),二维码重复使用。
9、因离线支付,线下***接收到支付请求并进行扣款的时间与用户消费的时间存在偏差,因此线下支付接口需支持商户传入商户消费时间,商户消费时间的具体字段格式可以包括:年月日时分秒(yyyy-mm-dd hh:mm:ss)。
本发明实施例还提供一种快速支付方法,具体可以应用在如图1所示的移动终端上,具体包括:
S21、移动终端登录离线支付服务器后,获取动态因子,所述动态因子中包括了所述移动终端的授权信息,所述授权信息用于表示用户信用等级;
S22、利用所述动态因子处理验证信息得到离线码,所述验证信息至少包括:地理信息和时间信息;
S23、通过所述移动终端的显示屏显示所述离线码,以便于扫描设备扫描所述离线码并验证所述离线码的合法性。
对于网端的支付***来说,用户出示离线码上车时,网端的支付***并没有给用户实际扣款,只有扫码设备将扫描记录上传后,网端才会对用户账户扣款以及给商户进行结账,用户账户的余额不足是则可以采用信用透支的支付方式,并通知用户。本实施例中,移动终端(运行支付类的APP)获取授权信息;移动端钱包获取动态因子;根据动态因子等信息生成离线二维码;POS机等扫码设备从离线服务***获取私钥信息并存储本地;扫码设备验证离线二维码并进行解密。并且,在离线交易中,移动终端仅显示离线码即可,移动终端对于被扫描的过程并不知情,仅仅是被扫了,并不用与扫码设备进行进一步的交互,从而最大程度得降低了交互次数,实现了极快速的扫描支付。
通过引入了离线码,扫码设备在离线情况下完成对离线码的校验,并完成支付交易。本实施例可应用在移动终端和扫码设备均离线时的支付场景,当用户开通支付应用的离线码功能之后,可通过使用移动终端完成对扫码设备的离线支付,能够快速、安全的完成支付交易,无需在线联网,避免了现有技术中扫码支付太慢、传统支付又不便的问题。
本发明实施例还提供一种快速支付设备,具体可以应用在如图1所示的扫描设备上,其包括:
下载模块,用于与离线支付服务器建立连接后,从所述离线支付服务器获取私钥信息并存储;
扫描模块,用于扫描移动终端显示的离线码并解密,得到动态因子和验证信息,所述验证信息至少包括:地理信息和时间信息,所述离线码由所述移动终端利用所述动态因子处理所述验证信息得到的;
验证模块,用于通过所述私钥信息解密所述动态因子,并根据所述动态因子的解密结果和所述验证信息,验证所述离线码的合法性;
上传模块,用于记录通过了合法性验证的离线码,在所述扫码设备与所述离线支付服务器再次建立连接后,向所述离线支付服务器上报扫描记录,所述离线支付服务器用于根据上报扫描记录执行交易流程。
进一步的,还包括:
更新模块,用于所述扫码设备处于在线状态时,登录所述离线支付服务器并签到,并从所述离线支付服务器更新私钥信息,其中,超过有效期的私钥信息失效;
其中,所述更新模块,还用于每隔指定周期:所述扫码设备处于在线状态时,登录所述离线支付服务器并签退;若所述扫码设备超过预设时间未登录所述离线支付服务器并签退,则触发报警流程;
所述上传模块,具体用于在所述扫码设备由离线状态转入在线状态后,与所述离线支付服务器建立连接,并向所述离线支付服务器上报扫描记录;或者,在所述扫码设备登录所述离线支付服务器并签退时,向所述离线支付服务器上报扫描记录。
所述验证模块,具体用于当所述扫码设备检测到判定条件中的任意一项不成立时,判定所述离线码的不合法,所述判定条件包括:所述时间信息所表示的时刻,在所述授权信息的有效时长内;和,所述地理信息所指向的位置,在所述允许离线支付的地理范围内;和,所述离线码对应的交易金额,在所述授权信息所表示的支付额度内。
其中,所述动态因子中包括了所述移动终端的授权信息,所述授权信息用于表示用户信用等级,用户信用等级与所述授权信息的时效性正相关、与允许离线支付的地理范围正相关、与离线支付额度正相关。
本实施例中,移动终端(运行支付类的APP)获取授权信息;移动端钱包获取动态因子;根据动态因子等信息生成离线二维码;POS机等扫码设备从离线服务***获取私钥信息并存储本地;扫码设备验证离线二维码并进行解密。
通过引入了离线码,扫码设备在离线情况下完成对离线码的校验,并完成支付交易。本实施例可应用在移动终端和扫码设备均离线时的支付场景,当用户开通支付应用的离线码功能之后,可通过使用移动终端完成对扫码设备的离线支付,能够快速、安全的完成支付交易,无需在线联网,避免了现有技术中扫码支付太慢、传统支付又不便的问题。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。