一种基于Corda数据库的支付方法及系统
技术领域
本申请涉及支付技术领域,特别涉及一种基于Corda数据库的支付方法及系统。
背景技术
第三方支付是具备一定实力和信誉保障的独立机构,采用与各大银行签约的方式,提供与银行支付结算系统接口的交易支持平台的网络支付方式。
在第三方支付模式中,买方选购商品后,使用第三方平台提供的账户进行货款支付(货款支付给第三方平台在银行设立的银行账户中),并由第三方平台通知卖家货款到账、要求发货;买方收到货物,检验货物,并且进行确认后,再通知第三方平台付款;第三方平台再将款项转至卖家账户,由银行根据相应指令进行操作,从第三方平台的银行账户中的款项转账给卖家指定的银行账户中。其中指令中包括了卖家的销售信息以及转账双方的银行账户信息。
由上述过程可知,第三方支付平台与银行之间的交互信息中包括了卖家和买家交易的隐私信息以及支付信息,传统技术中,对第三方支付平台的要求之一是支付数据安全和支付系统安全稳定。
随着大数据时代的到来,全球对个人隐私数据保护意识的提高,使得第三方支付中的数据隐私安全成为相关领域人员必须考虑的问题。
由于传统第三方支付平台是中心化存储和处理,其很好地保证了数据的隐私性,但是,一旦第三方支付平台的存储设备和/或服务器发生损毁或瘫痪,数据很难恢复,支付流程也无法进行。因此,传统第三方支付平台无法保证数据安全和系统安全。
随着区块链技术的发展,基于区块链的支付系统随之而生。由于区块链的分布式存储的特性,基于区块链的支付系统解决了中心化存储和处理导致的数据安全的问题,但是由于区块链上的交易是全域广播,数据隐私的问题无法解决。
因此,无论是基于中心化存储和处理的传统第三方支付平台还是基于新兴的区块链技术的第三方支付平台,都无法同时解决数据隐私问题和数据安全问题。
综上,提供一种第三方支付平台,保证数据安全的同时,能解决数据隐私的问题,是本来领域技术人员亟待解决的问题。
发明内容
为解决上述技术问题,本申请实施例提供一种基于Corda数据库的支付方法及系统,以达到提高第三方支付机构支付的安全性和数据隐私性的目的,技术方案如下:
一种基于Corda数据库的支付方法,包括:
响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享;
在所述目标卖家提交支付请求时,所述第三方支付机构依据所述目标卖家的账户信息,执行支付交易。
优选的,所述第三方支付机构依据所述目标卖家的账户信息,执行支付交易,包括:
处理器生成与所述支付请求对应的状态数据包,并将所述支付请求中的支付信息写入所述状态数据包;
所述目标卖家在提交支付交易确认信息时,将所述目标卖家的签名写入所述状态数据包;
所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则将第三方支付机构的签名写入所述状态数据包;
若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
优选的,若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易,包括:
所述处理器生成随机公钥,并利用所述随机公钥对所述状态数据包中的信息进行加密,得到包含加密信息的状态数据包,并将所述包含加密信息的状态数据包作为目标状态数据包;
所述处理器比较所述目标状态数据包与所述状态数据包是否一致;
若一致,则从所述目标状态数据包中检测是否包含所述目标卖家的签名及所述第三方支付机构的签名;
若包含,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
优选的,所述第三方支付机构依据所述目标卖家的账户信息,执行支付交易,包括:
处理器生成与所述支付请求对应的状态数据包,并生成随机公钥,利用所述随机公钥对所述支付请求中的支付信息进行加密,并将加密的支付信息写入所述状态数据包;
所述目标卖家在提交支付交易确认信息时,利用所述随机公钥对所述目标卖家的签名进行加密,并将加密的目标卖家的签名写入所述状态数据包;
所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则利用所述随机公钥对所述第三方支付机构的签名进行加密,并将加密的第三方支付机构的签名写入所述状态数据包;
若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
优选的,所述状态数据包中还包括:
状态数据包中信息的修改权限,所述修改权限所有者为所述第三方支付机构及所述目标卖家。
优选的,所述处理器生成与所述支付请求对应的状态数据包之前,还包括:
所述处理器生成支付交易协议,并验证所述支付交易协议中交易双方的签名是否符合要求;
若符合,则对所述支付请求对应的支付订单协议进行签名。
一种基于Corda数据库的支付系统,包括:处理器、第三方支付机构的服务器和目标卖家的服务器;
所述处理器,用于响应所述第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享;
所述第三方支付机构的服务器,用于在所述目标卖家提交支付请求时,依据所述目标卖家的账户信息,执行支付交易。
优选的,所述处理器还用于生成与所述支付请求对应的状态数据包,并将所述支付请求中的支付信息写入所述状态数据包;
所述目标卖家的服务器,用于在提交支付交易确认信息时,将所述目标卖家的签名写入所述状态数据包;
所述处理器还用于若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则将第三方支付机构的签名写入所述状态数据包;
所述处理器还用于若检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
优选的,所述处理器具体用于:
生成随机公钥,并利用所述随机公钥对所述状态数据包中的信息进行加密,得到包含加密信息的状态数据包,并将所述包含加密信息的状态数据包作为目标状态数据包;
比较所述目标状态数据包与所述状态数据包是否一致;
若一致,则从所述目标状态数据包中检测是否包含所述目标卖家的签名及所述第三方支付机构的签名;
若包含,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
优选的,所述处理器还用于生成与所述支付请求对应的状态数据包,并生成随机公钥,利用所述随机公钥对所述支付请求中的支付信息进行加密,并将加密的支付信息写入所述状态数据包;
所述目标卖家的服务器,用于在提交支付交易确认信息时,利用所述随机公钥对所述目标卖家的签名进行加密,并将加密的目标卖家的签名写入所述状态数据包;
所述处理器还用于若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则利用所述随机公钥对所述第三方支付机构的签名进行加密,并将加密的第三方支付机构的签名写入所述状态数据包;
所述处理器还用于若检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
与现有技术相比,本申请的有益效果为:
在本申请中,响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享,保证目标卖家的账户信息只能被建立信任机制的第三方支付结构及银行访问,不会被全域广播,保证卖家账户信息的隐私,提高目标卖家的账户信息的安全性,基于此,在所述目标卖家提交支付请求时,第三方支付机构依据的目标卖家的账户信息的安全性相对较高,可以提高执行支付交易的安全性。
综上,本发明技术方案解决现有区块链支付系统的数据隐私问题的同时,由于Corda本身的分布式账本平台特性,同时解决了传统第三方支付平台中心化存储和处理导致的数据安全问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种基于Corda数据库的支付方法实施例1的流程图;
图2是是本申请提供的一种数据共享的示意图;
图3本申请提供的一种基于Corda数据库的支付方法实施例2的流程图;
图4是本申请提供的一种基于Corda数据库的支付方法实施例3的流程图;
图5是本申请提供的一种基于Corda数据库的支付方法实施例4的流程图;
图6是本申请提供的一种基于Corda数据库的支付系统的逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种基于Corda数据库的支付方法,包括:响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享;在所述目标卖家提交支付请求时,所述第三方支付机构依据所述目标卖家的账户信息,执行支付交易。在本申请中,可以提高第三方支付机构执行支付交易的支付安全性。
接下来对本申请提供的基于Corda数据库的支付方法进行介绍,如图1所示的,为本申请提供的一种基于Corda数据库的支付方法实施例1的流程图,该方法包括以下步骤:
步骤S11、响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享。
Corda数据库可以理解为一种去中心数据库。Corda数据库的特点可以参见已有技术中Corda数据库的介绍(如,原著作者为麦克·赫恩,由恒生研究院旗下区块链技术社区51chain翻译的“Corda:分布式账本”),在此不再赘述。
在目标卖家的账户信息在第三方支付机构与银行之间共享后,第三方支付机构和银行均存储有目标卖家的账户信息,实现目标卖家的账户信息的备份存储,方便账户信息的访问。并且,可以避免其中一方的数据损毁和故障使得信息永久损毁的情况发生。
可以理解的是,第三方支付机构对应的节点与银行对应的节点之间未建立信任机制的卖家的账户信息,是不允许被共享的。如图2所示,Corda数据库中支付公司对应的节点中记录着用户ID为1、4、5的账户信息,1、5用户为到账银行C的客户,在支付公司与银行C之间建立用户1和5的信任机制之后,支付公司和银行C可以共享用户1、5的账户信息,但是支付公司对应的节点中用户4的账户信息及银行C对应的节点中用户2和3的账户信息不被共享,用户4的账户信息仅可以被支付公司访问,用户2和3的账户信息仅可以被银行C访问。
所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享的方式,可以实现数据库中在第三方支付机构与银行之间共享的目标卖家的账户信息不会被全域广播,可以保证卖家账户信息的隐私,提高卖家账户信息的安全性。
步骤S12、在所述目标卖家提交支付请求时,所述第三方支付机构依据所述目标卖家的账户信息,执行支付交易。
支付请求可以包括但不局限于:提现请求或付款请求。
在目标卖家提交支付请求时,第三方支付机构可以依据从Corda数据库中获取的目标卖家的账户信息,执行支付交易。
在本申请中,响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享,保证目标卖家的账户信息只能被建立信任机制的第三方支付结构及银行访问,不会被全域广播,保证卖家账户信息的隐私,提高目标卖家的账户信息的安全性,基于此,在所述目标卖家提交支付请求时,第三方支付机构依据的目标卖家的账户信息的安全性相对较高,可以提高执行支付交易的安全性。
并且,基于Corda数据库的支付方法还具备以下优点:
基于Corda的数据库中采用流架构,提升了信息细节的传输并加入了相关密码学的加密保护。
事务分离,交易的结构像Mekle树一样,买卖双方可以在不知道对方信息的情况下进行交易,可保证数据的隐私性。
作为本申请另一可选实施例,参照图3,为本申请提供的一种基于Corda数据库的支付方法实施例2的流程示意图,本实施例主要是对上述实施例1描述的基于Corda数据库的支付方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S21、响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享。
步骤S21的详细过程可以参见实施例1中步骤S11的相关介绍,在此不再赘述。
步骤S22、在所述目标卖家提交支付请求时,处理器生成与所述支付请求对应的状态数据包,并将所述支付请求中的支付信息写入所述状态数据包。
处理器可以理解为Corda数据库系统中的处理器。
支付请求中的支付信息可以理解为:支付相关的信息,如交易金额、币种等。
本实施例中,所述处理器生成与所述支付请求对应的状态数据包之前,还可以包括:
A11、所述处理器生成支付交易协议,并验证所述支付交易协议中交易双方的签名是否符合要求。
是否符合要求可以理解为:是否符合第三方支付机构与支付交易的规范要求。
若符合,则执行步骤A12。
A12、则对所述支付请求对应的支付订单协议进行签名。
对所述支付请求对应的支付订单协议进行签名,保证支付订单协议的有效性。
步骤S23、所述目标卖家在提交支付交易确认信息时,将所述目标卖家的签名写入所述状态数据包。
将所述目标卖家的签名写入所述状态数据包,表明目标卖家已同意执行支付交易。
步骤S24、所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则将所述第三方支付机构的签名写入所述状态数据包。
所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则可以确定目标卖家已同意执行支付交易,并提交支付交易确认信息,因此需要将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则将第三方支付机构的签名写入所述状态数据包。
步骤S25、若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则可以确定交易双方均通过核验,可以进行交易,因此,处理器发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
步骤S22-S25为实施例1中步骤S12的一种具体实施过程。
作为本申请另一可选实施例,参照图4,为本申请提供的一种基于Corda数据库的支付方法实施例3的流程示意图,本实施例主要是对上述实施例2描述的基于Corda数据库的支付方法的细化方案,如图4所示,该方法可以包括但并不局限于以下步骤:
步骤S31、响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享。
步骤S32、处理器生成与所述支付请求对应的状态数据包,并将所述支付请求中的支付信息写入所述状态数据包。
步骤S33、所述目标卖家在提交支付交易确认信息时,将所述目标卖家的签名写入所述状态数据包。
步骤S34、所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则将第三方支付机构的签名写入所述状态数据包。
步骤S31-S34的详细过程可以参见实施例2中步骤S21-S24的相关介绍,在此不再赘述。
步骤S35、所述处理器生成随机公钥,并利用所述随机公钥对所述状态数据包中的信息进行加密,得到包含加密信息的状态数据包,并将所述包含加密信息的状态数据包作为目标状态数据包。
所述处理器生成随机公钥,并利用所述随机公钥对所述状态数据包中的信息进行加密,可以提高状态数据包中的信息的安全性,降低被盗用的风险,从而保证后续交易的安全性。
步骤S36、所述处理器比较所述目标状态数据包与所述状态数据包是否一致。
若一致,则执行步骤S37。
所述处理器比较所述目标状态数据包与所述状态数据包是否一致,可以理解为:
所述处理器利用与所述随机公钥对应的解密代码对所述目标状态数据包中的信息进行解密,得到解密后的信息;
并比较解密后的信息与所述状态数据包中的信息是否一致。
步骤S37、从所述目标状态数据包中检测是否包含所述目标卖家的签名及所述第三方支付机构的签名。
若包含,则执行步骤S38。
在步骤S36比较得到目标状态数据包与状态数据包一致的情况下,可以进一步检测目标状态数据包中检测是否包含目标卖家的签名及第三方支付机构的签名,进一步提高交易前信息处理的安全性,保证后续交易的安全性。
步骤S38、发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
步骤S38的详细过程可以参见实施例2中步骤S25中发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易的相关介绍,在此不再赘述。
步骤S35-S38可以理解为实施例2中步骤S25的一种具体实施过程。
作为本申请另一可选实施例,参照图5,为本申请提供的一种基于Corda数据库的支付方法实施例4的流程示意图,本实施例主要是对上述实施例1描述的基于Corda数据库的支付方法的细化方案,如图5所示,该方法可以包括但并不局限于以下步骤:
步骤S41、响应第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享。
步骤S41的详细过程可以参见实施例1中步骤S11的相关介绍,在此不再赘述。
步骤S42、在所述目标卖家提交支付请求时,处理器生成与所述支付请求对应的状态数据包,并生成随机公钥,利用所述随机公钥对所述支付请求的支付信息进行加密,并将加密的支付信息写入所述状态数据包。
本实施例中,处理器在生成与支付请求对应的状态数据包的同时,生成随机公钥,并利用随机公钥对支付请求中的支付信息进行加密,可以提高支付信息的安全性。
本实施例中,处理器生成与所述支付请求对应的状态数据包之前,还可以包括以下步骤:
B11、所述处理器生成支付交易协议,并验证所述支付交易协议中交易双方的签名是否符合要求。
若符合,执行步骤B12。
B12、对所述支付请求对应的支付订单协议进行签名。
B11-B12的详细过程可以参见实施例2中A11-A12的相关介绍,在此不再赘述。
步骤S43、所述目标卖家在提交支付交易确认信息时,利用所述随机公钥对所述目标卖家的签名进行加密,并将加密的目标卖家的签名写入所述状态数据包。
利用所述随机公钥对所述目标卖家的签名进行加密,可以提高目标卖家的签名的安全性。
步骤S44、所述处理器若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则利用所述随机公钥对所述第三方支付机构的签名进行加密,并将加密的第三方支付机构的签名写入所述状态数据包。
利用所述随机公钥对所述第三方支付机构的签名进行加密,可以提高第三方支付机构的签名的安全性。
在利用随机公钥对支付信息、目标卖家的签名及第三方支付机构的签名进行实时加密的情况下,可以进一步提高信息的安全性,从而提高后续交易的安全性。
步骤S45、若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
若所述处理器检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易,可以包括:
C11、所述处理器利用随机公钥对所述状态数据包中的信息进行解密,得到解密后的支付信息、目标卖家的签名及第三方支付机构的签名,并比较解密后的支付信息与Corda数据库中存储的支付信息是否一致,及解密后的目标卖家的签名与Corda数据库中存储的目标卖家的签名是否一致,及解密后的第三方支付机构的签名与Corda数据库中存储的第三方支付机构的签名是否一致;
若均一致,则执行步骤C12。
C12、从所述状态数据包中检测是否包含所述目标卖家的签名及所述第三方支付机构的签名;
若包含,则执行步骤C13。
C13、发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
在实施例2至实施例4中,状态数据包还可以包括:状态数据包中信息的修改权限,所述修改权限所有者为所述第三方支付机构及所述目标卖家。
修改权限所有者为所述第三方支付机构及所述目标卖家,可以避免状态数据包中的信息被随意篡改,提高状态数据包中信息的安全性。
接下来对本申请提供的基于Corda数据库的支付系统进行介绍,下文介绍的基于Corda数据库的支付系统与上文介绍的基于Corda数据库的支付方法可相互对应参照。
请参见图6,基于Corda数据库的支付系统包括:处理器11、第三方支付机构的服务器12和目标卖家的服务器13。
所述处理器11,用于响应所述第三方支付机构与银行之间的数据共享请求,在Corda数据库中建立所述第三方支付机构对应的节点与所述银行对应的节点之间目标卖家的账户信息的信任机制,以实现所述目标卖家的账户信息在所述第三方支付机构与所述银行之间的共享;
所述第三方支付机构的服务器12,用于在所述目标卖家提交支付请求时,依据所述目标卖家的账户信息,执行支付交易。
本实施例中,所述处理器11还用于生成与所述支付请求对应的状态数据包,并将所述支付请求中的支付信息写入所述状态数据包;
所述目标卖家的服务器13,用于在提交支付交易确认信息时,将所述目标卖家的签名写入所述状态数据包;
所述处理器11还用于若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构12核验是否进行交易,若进行交易,则将第三方支付机构的签名写入所述状态数据包;
所述处理器11还用于若检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
本实施例中,所述处理器11具体用于:
生成随机公钥,并利用所述随机公钥对所述状态数据包中的信息进行加密,得到包含加密信息的状态数据包,并将所述包含加密信息的状态数据包作为目标状态数据包;
比较所述目标状态数据包与所述状态数据包是否一致;
若一致,则从所述目标状态数据包中检测是否包含所述目标卖家的签名及所述第三方支付机构的签名;
若包含,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
本实施例中,所述处理器11还用于生成与所述支付请求对应的状态数据包,并生成随机公钥,利用所述随机公钥对所述支付请求中的支付信息进行加密,并将加密的支付信息写入所述状态数据包;
所述目标卖家的服务器13,用于在提交支付交易确认信息时,利用所述随机公钥对所述目标卖家的签名进行加密,并将加密的目标卖家的签名写入所述状态数据包;
所述处理器11还用于若在所述状态数据包中检测到所述目标卖家的签名,则将支付交易确认信息发送至所述第三方支付机构,以使所述第三方支付机构核验是否进行交易,若进行交易,则利用所述随机公钥对所述第三方支付机构的签名进行加密,并将加密的第三方支付机构的签名写入所述状态数据包;
所述处理器11还用于若检测到所述状态数据包中包含所述目标卖家的签名及所述第三方支付机构的签名,则发送支付指令至所述第三方支付机构,以使所述第三方支付机构依据所述目标卖家的账户信息及所述支付信息,执行支付交易。
本实施例中,所述处理器11生成与所述支付请求对应的状态数据包之前,还可以包括:
所述处理器11生成支付交易协议,并验证所述支付交易协议中交易双方的签名是否符合要求;
若符合,则对所述支付请求对应的支付订单协议进行签名。
本实施例中,上述状态数据包中还可以包括:
状态数据包中信息的修改权限,所述修改权限所有者为所述第三方支付机构及所述目标卖家。
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种基于Corda数据库的支付方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。