发明内容
针对上述技术问题,本申请提供一种网上支付方法、装置及系统,以使用户不需要通过跳转网银进行网上支付,技术方案如下:
根据本申请的第1方面,提供一种网上支付服务器,包括:
绑定模块:用于预先建立支付平台账号与银行卡号的绑定关系;
存储模块:用于存储支付平台账号及与其对应的银行绑定卡号;
获取模块:用于根据支付订单中的支付平台账号,从存储模块获取对应的银行绑定卡号;其中,所述支付账单是由支付平台对输入的支付平台账号进行身份验证后生成;
信息处理模块:包括信息生成单元和信息转换单元,所述信息生成单元用于根据支付订单和所获取的银行绑定卡号生成支付信息;所述信息转换单元用于对所述支付信息进行格式转换,以及对支付结果信息进行格式转换;
通讯模块:包括支付平台通讯单元和银行前置机通讯单元,所述支付平台通讯单元用于接收支付平台生成的支付订单,以及将经过转换后的支付结果信息转发至支付平台;所述银行前置机通讯单元用于将经过转换后的支付信息转发所述银行前置机,以及接收所述银行前置机返回的支付结果信息。
根据本申请的第2方面,提供一种网上支付的方法,包括:
在绑定阶段,预先建立支付平台账号与银行卡号的绑定关系,并对绑定结果进行存储;
在支付阶段:
支付平台对输入的支付平台账号进行身份验证后,生成支付订单,所述支付订单中包含所输入的支付平台账号;
网上支付服务器根据预先建立的绑定关系,获得与支付订单中的支付平台账号对应的银行绑定卡号;
根据支付订单和所获取的银行绑定卡号生成支付信息;
对所述支付信息进行格式转换,并将经过转换后的支付信息转发至银行前置机;
接收银行前置机根据所述支付信息执行付款操作后,返回的支付结果信息;
对所述支付结果信息进行格式转换,并将经过转换后的支付结果信息转发至支付平台。
根据本申请的第3方面,提供一种网上支付系统,包括支付平台以及如前所述的网上支付服务器:
所述支付平台包括:身份验证模块、支付提交模块、订单生成模块和支付接口模块;
所述身份验证模块用于对输入的支付平台账号进行身份验证;
所述支付提交模块用于根据用户选择的银行绑定卡支付方式及输入的支付密码提交支付;
所述订单生成模块用于根据所述支付平台账号生成支付订单;
所述支付接口模块用于将所述支付订单发送至所述网上支付服务器,以及接收所述网上支付服务器转发的支付结果信息。
根据本申请的第4方面,提供一种网上支付平台,包括:
身份验证模块、支付验证模块、订单生成模块、支付接口模块和网上支付服务器,
所述身份验证模块用于对输入的支付平台账号进行身份验证;
所述支付提交模块用于根据用户选择的银行绑定卡支付方式及输入的支付密码提交支付;
所述订单生成模块用于根据所述支付平台账号生成支付订单;
所述支付接口模块用于与所述网上支付服务器接口进行通讯;
所述网上支付服务器包括绑定组件、存储组件、获取组件、信息处理组件和通讯组件,
绑定组件:用于预先建立支付平台账号与银行卡号的绑定关系;
存储组件:用于存储支付平台账号及与其对应的银行绑定卡号;
获取组件:用于根据支付订单中的支付平台账号,从存储组件获取对应的银行绑定卡号;其中,所述支付账单是由支付平台对输入的支付平台账号进行身份验证后生成;
信息处理组件:包括信息生成单元和信息转换单元,所述信息生成单元用于根据支付订单和所获取的银行绑定卡号生成支付信息;所述信息转换单元用于对所述支付信息进行格式转换,以及对支付结果信息进行格式转换;
通讯组件:包括支付平台通讯单元和银行前置机通讯单元,所述支付平台通讯单元用于接收支付平台生成的支付订单,以及将经过转换后的支付结果信息转发至支付平台;所述银行前置机通讯单元用于将经过转换后的支付信息转发所述银行前置机,以及接收所述银行前置机返回的支付结果信息。
与现有技术相比,本申请方案具有以下优点:
1、本申请通过设置独立的网上支付服务器来实现与银行的数据交互,并且与其它服务器在物理上安全隔离,其本身具有很高的安全性能和通讯效率;
2、本申请通过设置所述网上支付服务器并与银行接口,使用户的网上支付过程不再需要跳转网银,可以有效提高系统的通讯效率;再者,由于在网银与支付平台之间的切换涉及两个系统的内部通讯以及外部通讯,因而出错的可能非常高,显然,本申请通过不跳转网银的操作,大大降低了这种出错的可能性;并且,不跳转网银也大大改善了用户体验,用户在一次网上支付过程中,选择支付以后,只需要提交一次支付密码即可确认支付;
3、由于本申请的网上支付方法不涉及网银,因而避免了在网上支付过程中由于网银所导致的风险,并且使用本申请不需要用户输入银行卡号和密码,避免了在用户输入过程中被恶意程序窃取这些信息的可能性,从而提高了网上支付的安全性,并有效地保证了系统的稳定性;
4、本申请对于服务提供商来说,技术实现简单,无技术障碍,无特殊保密算法,成本和风险较低。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图2,是本申请的一种网上支付服务器的结构框图,包括:
存储模块201:用于存储支付平台账号及与其对应的银行绑定卡号;
获取模块202:用于根据所述支付平台账号获取对应的银行绑定卡号;
信息处理模块203:包括信息生成单元2031和信息转换单元2032,所述信息生成单元2031用于根据所述银行绑定卡号和支付订单生成支付信息;所述信息转换单元2032用于对所述支付信息进行格式转换,以及对支付结果信息进行格式转换;
通讯模块204:包括支付平台通讯单元2041和银行前置机通讯单元2042,所述支付平台通讯单元2041用于接收所述支付平台生成的支付订单,以及将经过转换后的支付结果信息转发至支付平台;所述银行前置机通讯单元2042与所述银行前置机专线相连,用于将经过转换后的支付信息转发至银行前置机,以及接收所述银行前置机返回的支付结果信息。
本申请实施例的核心构思在于,不通过网银,使用户可以直接在支付平台进行支付。为保证本申请的具体实施,所述网上支付服务器还包括绑定模块205,该模块包括绑定接口单元2051和绑定校验单元2052,所述绑定接口单元2051用于与银行前置机接口接收绑定信息,以及向所述银行前置机返回绑定结果;所述绑定校验单元2052用于校验所述绑定信息是否合法,获得绑定结果。其中,所述绑定信息至少包括支付平台账号和银行绑定卡号。为进一步确保用户使用支付平台的安全性,所述绑定信息还可以包括证件类型、证件号码、姓名等用户基本信息。
通过设置所述绑定模块205可以在用户、银行和支付平台之间建立绑定关系,应用于实际的具体步骤为:
步骤S1、用户在银行提交支付平台账号和用户基本信息申请银行绑定卡,银行对用户提交的信息进行审核、记录并通知用户银行绑定卡号;
步骤S2、从银行前置机接口接收所述用户的支付平台账号、用户基本信息和银行绑定卡号等绑定信息;
步骤S3、校验所述绑定信息是否合法,如果合法,则向所述银行前置机返回“绑定成功”;如果不合法,则向所述银行前置机返回“绑定失败”。
通过上述绑定过程,可以在用户、支付平台和银行之间建立绑定关系,从而使用户的网上支付过程不再需要跳转网银。
优选的是,所述存储模块201对于所述支付平台账号及与其对应的银行绑定卡号的存储以Key—Value对的形式存储,例如:设置存储数据的文件格式为Key—Value对;再将所述Key对应的Value分别存储于相应的文件中,每一个Key对应一个Value;或者,根据每个Key创建表格,每个表格包括两个字段:Key和Value;再将所述Value存储于与所述Key对应的Value位置。所述Key可以为支付平台账号,所述Value可以为对应的银行绑定卡号,以方便获取模块地获取。
当然,以其它存储方式预置所述存储模块,例如,通过设置映射表进行存储也是可行的,本申请对此不需要进行限定。
优选的是,在以Key—Value对存储的情况下,所述获取模块202根据支付平台账号获取对应的银行绑定卡号的过程为:根据所述Key查找获取对应的Value。相应地,以其它获取方式预置所述获取模块也是可行的,本申请同样对此不需要进行限定。
如图3所示,当用户在支付平台使用银行绑定卡提交支付以后,通过使用本申请的一种网上支付服务器进行网上支付的过程为:
步骤301、接收所述支付平台生成的支付订单;
所述支付平台生成的支付订单包括支付平台账号、支付订单号、金额、时间等信息。
步骤302、根据预置的对应关系,由所述支付平台账号获取对应的银行绑定卡号;
步骤303、根据所述银行绑定卡号和支付订单生成支付信息;
步骤304、对所述支付信息进行格式转换,并将经过转换后的支付信息转发至银行前置机;
所述格式转换通常涉及xml格式和内容的转换,本领域技术人员采用现有技术中的各种方法实现转换均可,本申请对此不需要进行限定。
步骤305、接收所述银行前置机返回的支付结果信息;
步骤306、对所述支付结果信息进行格式转换,并将经过转换后的支付结果信息转发至所述支付平台。
所述格式转换同样涉及xml格式和内容的转换,采用现有技术中的转换方法均可,例如,通过以下代码在支付宝中设置格式转换工具:
为了提高信息通讯的安全性,本申请还包括加/解密模块206:用于对所述经过转换后的支付信息进行加密,以及对所述支付结果信息进行解密。通过设置所述加/解密模块,可以有效提高所述网上支付服务器在通讯过程中的安全性。
优选的是,本申请所述网上支付服务器可以在第三方独立设置,也可以在支付平台单独设置,但是需要保证其在物理上与其它服务器安全隔离。所述网上支付服务器可以实现与银行前置机的所有交互,除上文中提及的数据交互外,该服务器还可以与银行前置机接口进行对账等交互操作。由于这种独立设置的服务器是通过专线与银行连接的,因此,其具有很高的安全性能和通讯效率;并且通过使用该服务器,与银行接口,使用户的网上支付过程不再需要跳转网银,可以有效提高系统的通讯效率;再者,由于在网银与支付平台之间切换会涉及两个系统的内部通讯以及外部通讯,因而出错的可能非常高,显然,本申请通过不跳转网银的操作,大大降低了这种出错的可能性;同时也避免了用户在使用网银过程中的风险,进一步保证了系统的稳定性。
参照图4,是本申请的一种网上支付方法的流程图,包括以下步骤:
步骤401、在支付平台输入支付平台账号和密码进行身份验证;
步骤402、选择使用银行绑定卡进行支付,并输入支付密码提交支付;
步骤403、生成支付订单,并将所述支付订单发送至所述网上支付服务器;
步骤404、根据预置的对应关系,由所述支付平台账号获取对应的银行绑定卡号;
步骤405、根据所述银行绑定卡号和支付订单生成支付信息;
步骤406、对所述支付信息进行格式转换,并将经过转换后的支付信息转发至银行前置机;
步骤407、所述银行前置机根据所述支付信息执行付款操作,并向所述网上支付服务器返回支付结果信息;
步骤408、对所述支付结果信息进行格式转换,并将经过转换后的支付结果信息转发至所述支付平台。
本申请实施例的核心构思在于,不通过网银,使用户可以直接在支付平台进行支付。从而使用户在网上支付时,避免了由网银带来的风险,提高了网上支付的安全性。在这种情况下,使用本申请的方法进行支付以前,需要在用户、支付平台和银行之间建立绑定关系,例如,通过发行支付平台银行的联名卡的形式来绑定。优选的是,本申请通过以下步骤进行绑定:
步骤1、所述银行前置机将用户的绑定信息发送至所述网上支付服务器;
用户在银行申请银行绑定卡后,银行前置机将用户提供的支付平台账号、用户基本信息以及银行发放的银行绑定卡号等信息组成该用户的绑定信息通过银行前置发送至本申请的服务器。其中,所述绑定信息至少要包括支付平台账号和银行绑定卡号。
步骤2、校验所述绑定信息是否合法,获得绑定结果;
本申请的服务器对所述绑定信息进行校验,如果合法,则获得绑定结果为绑定成功,如果不合法,则获得绑定结果为绑定失败。
步骤3、向所述银行前置机返回所述绑定结果。
为了保证在通讯过程中,所述绑定信息的安全性,优选的是,所述银行前置机发送至所述网上支付服务器的绑定信息为经过加密后的绑定信息,在这种情况下,所述网上支付服务器首先需要对所述绑定信息进行解密,只有在可以正确解密的情况下,才对所述绑定信息进行合法性校验。其中,更为优选的是,所述加解密过程为采用非对称加密的公钥体系来进行加密和解密。非对称式加密的加密和解密所使用的不是同一个密钥,通常需要两个密钥:公钥(public key)和私钥(private key)。公钥与私钥是一对,私钥由加密方保存,公钥向所有用户公开,这种公开公钥的方式解决了密钥交换过程中的安全问题。如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。当加密方使用自己的私钥进行数据加密,相当于在数据上做数字签名,解密方用公钥解密数据,由于私钥只有加密方才有,如果解密方能够正常解密,则表明数据一定来自加密方,加密方不能否认,并且保证了数据并非假冒和没有在传输过程中被修改。当然,采用其它加解密的方法也是可行的,本申请对此不作限制。
所述网上支付服务器在进行合法性校验时通常会校验支付平台账号是否存在、证件类型、证件号码和姓名与在支付平台保存的资料是否一致等信息,如果校验无误,则获得绑定成功的结果,即完成了一个用户的绑定,然后所述网上支付服务器将这个绑定成功的结果发送至银行前置机,由银行通知用户已经绑定成功;如果校验有误,则获得绑定失败的结果,同样的,所述网上支付服务器将这个绑定失败的消息发送至银行前置机,由银行通知用户绑定失败。
为了提高本申请所述网上支付服务器与支付平台或银行前置机进行数据交互时的安全性,优选的是,本申请还包括步骤:所述网上支付服务器对所述支付信息进行加密;所述银行前置机对所述支付信息进行解密。在这种情况下,所述网上支付服务器将生成的支付信息进行格式转换后,需要先将经过转换后的所述支付信息进行加密,再转发至银行前置机;相应地,当所述银行前置机接收到所述支付信息后,需要先对所述支付信息进行解密,只有正确解密后才可以根据这个支付信息执行付款操作。
更为优选的是,本申请还可以包括步骤:所述银行前置机对所述支付结果信息进行加密;所述网上支付服务器对所述支付结果信息进行解密。在这种情况下,所述银行前置机执行完付款操作后,会先将支付结果信息进行加密,然后再将加密后的支付结果信息发送至所述网上支付服务器;所述网上支付服务器接收到所述支付结果信息后,需要先对这些支付结果信息进行解密,只有正确解密后才可以将所述支付结果信息进行格式转换,然后再转发至所述支付平台。
上述加解密的方法同样优选采用上述非对称加密的公钥体系来进行加密和解密。当然,采用其它加解密的方法也是可行的,本申请对此不作限制。
为使本领域技术人员更好地理解本申请,以下以一种采用本申请优选的网上支付方法进行网上支付的过程为例详细说明本申请,包括以下步骤:
一、绑定步骤:
A1、用户在银行柜面通过填写支付平台账号及其它基本信息申请银行绑定卡;
A2、银行根据用户提交的信息对用户进行审核,审核确认后生成一个银行绑定卡号或发给用户一张绑定卡,然后将该对应的银行绑定卡号与用户的支付平台账号及其它基本信息等组成绑定信息,经过加密后发送至网上支付服务器;
A3、所述网上支付服务器对所述绑定信息进行解密,然后校验所述绑定信息是否合法,如果合法,则向银行返回绑定成功的消息;
A4、银行通知用户已经绑定成功。
二、支付步骤:
B5、用户在支付平台输入支付平台账号和密码进行身份验证;
B6、通过身份验证后,用户选择使用银行绑定卡的支付方式进行支付,并输入支付密码提交支付;
B7、支付平台根据此笔支付交易生成支付订单,并将所述支付订单发送至所述网上支付服务器;
其中,所述支付订单包括支付平台账号、支付订单号、金额、时间等信息。
B8、所述网上支付服务器根据预置的对应关系,由所述支付平台账号获取对应的银行绑定卡号;
在以Key—Value对存储的情况下,根据支付平台账号获取对应的银行绑定卡号的过程为:根据所述Key查找获取对应的Value。
B9、所述网上支付服务器根据所述银行绑定卡号和支付订单生成支付信息;
B10、所述网上支付服务器对所述支付信息进行格式转换,并将经过转换后的支付信息进行加密,再转发至银行前置机;
B11、所述银行前置机对所述支付信息进行解密,如果可以正确解密,则根据所述支付信息执行付款操作,得到支付结果信息;
B12、所述银行前置机对所述支付结果信息进行加密,再向所述网上支付服务器返回该支付结果信息;
B13、所述网上支付服务器对所述支付结果信息进行解密,如果可以正确解密,则对所述支付结果信息进行格式转换,然后再将经过转换后的支付结果信息转发至所述支付平台。
参考图5,是本申请的一种网上支付系统的结构框图,包括:
网上支付服务器501:包括存储模块5011、获取模块5012、信息处理模块5013和通讯模块5014,所述存储模块5011用于存储支付平台账号及与其对应的银行绑定卡号;所述获取模块5012用于根据所述支付平台账号获取对应的银行绑定卡号;所述信息处理模块5013包括信息生成单元和信息转换单元,所述信息生成单元用于根据所述银行绑定卡号和支付订单生成支付信息;所述信息转换单元用于对所述支付信息进行格式转换,以及对支付结果信息进行格式转换;所述通讯模块5014包括支付平台通讯单元和银行前置机通讯单元,所述支付平台通讯单元用于接收支付平台502生成的支付订单,以及将经过转换后的支付结果信息转发至支付平台502;所述银行前置机通讯单元与银行前置机专线相连,用于将经过转换后的支付信息转发至银行前置机,以及接收所述银行前置机返回的支付结果信息;
支付平台502:包括身份验证模块5021、支付提交模块5022、订单生成模块5023和支付接口模块5024,所述身份验证模块5021用于根据输入的支付平台账号和密码进行身份验证;所述支付提交模块5022用于根据用户选择的支付方式及输入的支付密码提交支付;所述订单生成模块5023用于根据所述支付平台账号生成支付订单;所述支付接口模块5024用于将所述支付订单发送至所述网上支付服务器501,以及接收所述网上支付服务器501转发的支付结果信息。
优选的是,所述网上支付服务器501还包括加/解密模块5015:用于对所述经过转换后的支付信息进行加密,以及对所述支付结果信息进行解密。
参考图6,是应用图5的一种网上支付系统进行网上支付的流程图,包括以下步骤:
步骤601、在支付平台输入支付平台账号和密码,由所述支付平台进行身份验证;
步骤602、用户在支付平台选择使用银行绑定卡进行支付,并输入支付密码通过所述支付平台提交支付;
步骤603、所述支付平台根据所述支付平台账号生成支付订单,并将所述支付订单发送至所述网上支付服务器;
步骤604、所述网上支付服务器根据预置的对应关系,由所述支付平台账号获取对应的银行绑定卡号;
步骤605、所述网上支付服务器根据所述银行绑定卡号和支付订单生成支付信息;
步骤606、所述网上支付服务器对所述支付信息进行格式转换,并将经过转换后的支付信息进行加密,再转发至银行前置机;
步骤607、所述银行前置机对所述支付信息进行解密,如果可以正确解密,则根据所述支付信息执行付款操作,得到支付结果信息;
步骤608、所述银行前置机对所述支付结果信息进行加密,再向所述网上支付服务器返回该支付结果信息;
步骤609、所述网上支付服务器对所述支付结果信息进行解密,如果可以正确解密,则对所述支付结果信息进行格式转换,并将经过转换后的支付结果信息转发至所述支付平台。
为了保证本系统的实施,所述网上支付服务器501还包括绑定模块5016,所述绑定模块进一步包括绑定接口单元和绑定校验单元,所述绑定接口单元用于与银行前置机接口接收绑定信息,以及向所述银行前置机返回绑定结果;所述绑定校验单元用于校验所述绑定信息是否合法,获得绑定结果。
通过上述绑定模块5016在用户、支付平台和银行之间建立绑定关系的方法请参见上文中的相关部分,本申请对此不再赘述。
参考图7,是本申请的一种网上支付平台的结构框图,包括以下模块:
身份验证模块701:用于根据输入的支付平台账号和密码进行身份验证;
支付提交模块702:用于根据用户选择的支付方式及输入的支付密码提交支付;
订单生成模块703:用于根据所述支付平台账号生成支付订单;
支付接口模块704:用于与所述网上支付服务器接口进行通讯;
网上支付服务器705:包括存储组件、获取组件、信息处理组件和通讯组件,所述存储组件用于存储支付平台账号及与其对应的银行绑定卡号;所述获取组件用于根据所述支付平台账号获取对应的银行绑定卡号;所述信息处理组件包括信息生成单元和信息转换单元,所述信息生成单元用于根据所述银行绑定卡号和支付订单生成支付信息;所述信息转换单元用于对所述支付信息进行格式转换,以及对支付结果信息进行格式转换;所述通讯组件包括支付平台通讯单元和银行前置机通讯单元,所述支付平台通讯单元用于接收支付平台生成的支付订单,以及将经过转换后的支付结果信息转发至支付平台;所述银行前置机通讯单元与银行前置机专线相连,用于将经过转换后的支付信息转发至银行前置机,以及接收所述银行前置机返回的支付结果信息;
优选的是,所述网上支付服务器705还包括加/解密组件:用于对所述经过转换后的支付信息进行加密,以及对所述支付结果信息进行解密。
优选的是,所述网上支付服务器705还包括绑定组件,所述绑定组件进一步包括绑定接口单元和绑定校验单元,所述绑定接口单元用于与银行前置机接口接收绑定信息,以及向所述银行前置机返回绑定结果;所述绑定校验单元用于校验所述绑定信息是否合法,获得绑定结果。
需要说明的是,所述网上支付服务器与支付平台在物理上安全隔离,在支付平台独立设置。
由于采用图7所示的系统进行网上支付的具体流程与图6所示的方法一致,相关内容和详细的实施过程已经在前述部分进行了详细描述,因此,在此就不再赘述。
以上对本申请所提供的一种网上支付服务器、支付平台及一种网上支付的方法和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。