1.一种带可见光与条码双向认证的在线支付方法,其特征在于具体步骤为:
(1)建立一套带可见光与条码双向认证的在线消费装置,包括:电子钱包、充值消费机和服务器;
电子钱包,包括:可见光发射模块、条码扫描模块、控制模块、输入模块、显示模块和数据接口;可见光发射模块,用于根据控制模块输入的信息,生成并发送可见光信号;条码扫描模块,用于扫描识别条码,并将识别的结果输出给控制模块;控制模块,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块,驱动可见光发射模块发送可见光信号;2、接收条码扫描模块的扫描结果输出,并对扫描结果进行验证;3、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块的信息;4、能够通过数据接口与服务器进行数据交互,进行包括消费、充值、余额查询、日志查询在内的信息的上传下载操作; 输入模块,用于向控制模块输入包括支付金额、查询密码、支付密码、操作指令在内的信息;显示模块,用于显示支付金额、密码输入界面、操作指令以及提示信息;数据接口,用于提供电子钱包的联网功能,提供与服务器连接并进行数据交换、数据维护和升级的功能;
充值消费机,包括:可见光接收模块、条码显示模块、读写控制模块、键盘模块、显示器、通信模块;可见光接收模块,用于接收可见光信号,并将可见光信号处理还原成对应的数字信号,再将数字信号还原成数据包;条码显示模块,用于根据读写控制模块的输入信息,生成并显示出条码;读写控制模块,用于:1、接收可见光接收模块的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块;3、提供数据接口,通过通信模块与服务器进行包括收款、查询、操作信息在内的读写操作的上传和下载;键盘模块,用于向读写控制模块输入交易金额、交易密码、操作指令;显示器,用于显示交易金额、密码输入界面、操作指令以及提示信息;通信模块,用于通过有线或者无线的方式,连接上位机或者接入网络,从而与服务器相连;
服务器,用于:1、与充值消费机通过通信模块建立上传、下载的数据连接;2、与电子钱包通过数据接口建立上传、下载的数据连接;3、提供本在线支付方法的后台服务支持;4、提供整个在线支付装置与金融系统的资金流动的接口;5、为充值消费机、电子钱包发放或取消授权,提供包括:密钥更新、算法更新和升级、使用权限调整、有效期调整、电子钱包充值、充值消费机缴款、电子钱包和充值消费机公开信息查询在内的服务;6、保存包括:授权用户清单、黑名单、操作日志汇总、充值消费机清单、电子钱包和充值消费机的使用权限、电子钱包的余额、电子钱包和充值消费机的有效期在内的信息;
授权用户清单,用于保存包括:已经授权可以进行在线支付的电子钱包的身份标识、使用权限、有效期、电子钱包持有者的身份信息;黑名单,用于保存授权用户清单中,因欠费、挂失、有不正当使用记录而被拒绝支付交易的那部分电子钱包的身份标识信息;支付接口,用于提供整个在线支付装置与金融系统的资金流动的接口;操作日志汇总,用于保存包括所有充值消费机、电子钱包的查询、充值、消费的操作的时间、支付金额、支付过程数据参数在内的信息;充值消费机清单,用于保存包括:已经授权可以进行在线支付交易的充值消费机的身份标识、使用权限、有效期、充值消费机持有者的身份信息;
服务器用于给包括上述充值消费机的模块及其功能的设备发放权限,使其具备接受装置内的电子钱包进行支付的功能;服务器用于给包括上述电子钱包的模块以及功能的设备发放权限,使其具备向装置内的充值消费机进行支付的功能;同时由服务器给用户发放一个授权,授权方式是发放一个授权实体硬件设备,或者是为已有设备的用户提供一个授权号;并为设备充值,写入电子钱包身份标识、使用权限、有效期、电子钱包的支付密码和查询密码、电子钱包持有者的身份信息;
(2)步骤(1) 建立的在线消费装置,支付方法由持有身份标识为CID的充值消费机的收款方和持有身份标识为QID的电子钱包的付款方共同完成,一个由收款方发起的支付流程如下:ZX1,由收款方发出收款请求,处理流程包含如下步骤:
ZX1.1,收款方在充值消费机上输入待接收的收款金额JR1;
ZX1.2,读写控制模块根据ZX1.1输入的收款金额JR1,生成一个含有收款金额JR1和充值消费机的身份标识CID1的收款请求SKQQ1,并将收款请求SKQQ1输出到条码显示模块;
ZX1.3,通过通信模块将收款请求SKQQ1上传到服务器;并从服务器下载一个收款随机码SKSJ1;
ZX1.4,条码显示模块根据收款请求SKQQ1和收款随机码SKSJ1生成一个条码并显示出来,并开始等待接收付款方的响应;如果在一个设定的等待时间内未收到来自付款方的响应,则刷新条码显示模块,等待下一个的收款请求的输入;
ZX2,付款方接受来自收款方的收款请求,并根据收款请求做出付款响应,处理流程包含如下步骤:
ZX2.1,电子钱包用条码扫描模块扫描识别收款方的条码显示模块,得到收款请求SKQQ2和收款随机码SKSJ2;
ZX2.2,控制模块根据收款请求SKQQ2,得到收款金额JR2和充值消费机的身份标识CID2,电子钱包通过连接服务器,进行核验:
1)核验充值消费机的身份标识CID2,确认该身份标识CID2的充值消费机,是否为经过授权且未列入黑名单;
2)核验服务器给充值消费机下载的收款随机码SKSJ1和电子钱包收到的收款随机码SKSJ2是否一样;
如果以上两个核验有至少一个不通过,则在显示模块上显示服务器核验不通过的信息;否则如果两个核验都通过,将JR2、CID2和付款提示信息显示在显示模块上,并等待付款方确认;
ZX2.3,如果付款方同意支付,就通过输入模块输入同意支付的指令,并进入到ZX2.4;
如果付款方输入不同意支付的指令或者在一定设定的时间内不予确认是否同意,则退出支付流程;
ZX2.4,电子钱包得到同意支付的指令后,在显示模块上显示输入密码的提示;
ZX2.5,用户根据ZX2.4中密码输入的提示由输入模块输入支付密码ZFMM2;
ZX2.6,控制模块获得由输入模块输入的支付密码ZFMM2,并生成一个含有电子钱包身份标识QID2、支付同意ZFTY2、支付金额FKJR2、收款请求SKQQ2和支付密码ZFMM2的数据包,并将该数据包输出到可见光发射模块,由可见光发射模块将数据包以可见光信号的形式发送出去,并开始等待收款方的响应;如果在一个设定的等待时间内未收到来自收款方的响应,则结束操作,退出支付流程;
ZX3,收款方根据付款方发送的付款响应,发出做出收款受理,处理流程包含如下步骤:
ZX3.1,由充值消费机的可见光接收模块接收可见光信号,并转换成数据包,再输出给读写控制模块;
ZX3.2,读写控制模块从数据包中提取出电子钱包身份标识QID3、收款请求SKQQ3、支付金额FKJR3、支付同意ZFTY3、支付密码ZFMM3;通过通信模块向服务器上传提取出的信息,并由服务器进行如下5个验证:
1)验证电子钱包身份标识QID3是否并未列入黑名单中,如果电子钱包身份标识QID3在黑名单中,为验证不通过;否则为验证通过;
2)收到数据包里的收款请求SKQQ3与由收款方发送的SKQQ1是否一致,如果两者一致,为验证通过;否则为验证不通过;
3)付款响应的数据包里的支付金额FKJR3是否与由收款方发送的收款金额JR1一致,如果两者一致,为验证通过;否则为验证不通过;
4)支付密码ZFMM3是否与服务器上保存的身份标识为QID3电子钱包支付密码一致;如果两者一致,为验证通过;否则为验证不通过;
5)支付金额FKJR3是否大于身份标识为QID3电子钱包的余额;如果余额足够则验证通过;否则如果余额不足为验证不通过;
以上5个都验证通过时,服务器返回一个验证确认码YSQR3给充值消费机并进入ZX3.3,否则只要有至少一个验证不通过,服务器返回验证不通过的信息给充值消费机,再由读写控制模块向显示器发送一个验证不通过的提示信息,通过显示器告知收款方的用户,同时结束操作,退出支付流程;当验证为余额不足时,还提示余额不足的提示信息;
ZX3.3,读写控制模块生成一个包括了收款金额JR1、充值消费机身份标识CID1、电子钱包身份标识QID3、支付同意ZFTY3、收款码SKM3、验证确认码YSQR3的受理信息SLX3,并将受理信息SLX3输出到条码显示模块;
ZX3.4,条码显示模块根据受理信息SLX3生成一个条码并显示出来,并开始等待接收服务器的响应;如果在一个设定的等待时间内未收到来自服务器的响应,则刷新条码显示模块,结束本次支付的流程操作,退出支付流程;
ZX4,支付方接收来自收款方的收款受理信息,并据此做出付款答复,付款方的处理流程包括:
ZX4.1,电子钱包用条码扫描模块扫描识别收款方的条码显示模块,得到受理信息SLX4;
ZX4.2,控制模块根据受理信息SLX4,得到收款金额JR4、充值消费机的身份标识CID4、电子钱包身份标识QID4、支付同意ZFTY4、收款码SKM4、验证确认码YSQR4,通过数据接口向服务器上传提取出的信息,并由服务器进行如下5个验证:
1)收款金额JR2与收款金额JR4是否一致;
2)充值消费机的身份标识CID2与CID4是否一致;
3)电子钱包身份标识QID2与QID4是否一致;
4)支付同意ZFTY2与支付同意ZFTY4是否一致;
5)充值消费机接收到的服务器返回的验证确认码YSQR3与电子钱包从收到的受理信息SLX4提取的验证确认码YSQR4是否一致;
如果以上5个对比都分别一致,为验证通过,进入ZX4.3;如果只要有一个对比不一致,则为验证不通过,就由服务器生成一个验证不通过的信息发送给电子钱包和充值消费机;
再由控制模块向显示模块发送一个验证不通过的提示信息,通过显示模块告知付款方,同时结束操作,退出支付流程;
ZX4.3,服务器更新身份标识为QID4的电子钱包的余额,记录本次付款操作的时间、收款金额JR4、充值消费机的身份标识CID4、支付码ZFM4、收款码SKM4,并给电子钱包和充值消费机发送一个收款完成码SKWC;
ZX4.4,电子钱包接收到收款完成码SKWC,通过控制模块向显示模块发送一个支付完成的提示信息,通过显示模块显示出来以告知付款方,同时结束操作,退出支付流程;
ZX4.5,电子钱包收到验证不通过的信息,再由控制模块向显示模块发送一个验证不通过的提示信息,通过显示模块告知付款方,同时结束操作,退出支付流程;
ZX5,收款方接收服务器的信息,处理流程包含如下步骤:
ZX5.1,充值消费机接收到收款完成码SKWC或者验证不通过的信息,如果接收到收款完成码SKWC,通过读写控制模块向显示器发送一个支付完成的提示信息,通过显示器显示出来以告知收款方,同时结束操作,退出支付流程;如果接收到验证不通过的信息,则通过读写控制模块向显示器发送一个验证不通过的提示信息,通过显示器显示出来以告知收款方,同时结束操作,退出支付流程;
在支付流程中,从电子钱包接收充值消费机发送的数据,以及从充值消费机接收电子钱包发送的数据, 都可能在收发过程中存在无法识别的可能,所以在支付流程中,对于无法识别的数据,以及因为无法接收数据而导致无法识别的情况,装置都会在一个设定的等待时间超时后,单方面结束支付流程;
在支付流程中,从电子钱包向充值消费机发送的数据,以及从充值消费机向电子钱包发送的数据, 可能在收发过程中存在数据的丢失、被篡改、伪造的可能性,因此在支付流程中,对每次收到的关键数据,都假定当前收到的数据与支付流程的前面的步骤生成的或者接收到的数据不一样,需要对比验证,由此保证收发数据的真实、完整。