基于双向验证的移动付款码扫码支付方法和顾客支付端与流程

文档序号:20583867发布日期:2020-04-29 01:40阅读:513来源:国知局
基于双向验证的移动付款码扫码支付方法和顾客支付端与流程

本发明涉及扫码支付技术领域,尤其涉及一种基于双向验证的移动付款码支付方法和顾客支付端。



背景技术:

随着微信和支付宝线下持续不断地大力推广,目前通过手机app扫码支付已经成为一种时尚,有很多顾客出门几乎不再携带现金,或者只携带少量现金。在购买商品或者服务时,通过向商户展示付款码,方便、快捷地完成交易。

在扫码支付活动中,目前主要使用两种方式完成交易支付:其一是收款码扫码支付,在这种方式下,商户通过展示收款码,由顾客扫描收款码并输入支付金额后通过app与支付平台之间的接口主动完成交易支付,商户通过微信/支付宝提供的查询接口可以得到支付的结果。对于特定商户,收款码是固定不变的,可以打印出来张贴在柜台合适地点。收款码是一个url链接,包含了一串固定不变的字符串参数,支付平台的app能够通过查询自身的数据库知道该字符串参数所代表的含义。其二是付款码扫码支付,顾客通过展示付款码,由商户通过扫描枪扫描到与微信/支付宝有接口的收款系统中完成在线支付。付款码是一串数字,相当于一个有时效性的电子支付凭证,商户扫描获得该凭证后,通过接口将该凭证传递给对应的支付平台。支付平台获得该数字后,通过查询自身的数据库能够理解该数字所代表的含义并完成支付交易并将交易结果返回给商户和客户。为了保障支付安全,微信/支付宝的付款码是动态变化的,目前是每分钟刷新一次。

微信和支付宝都是通过二维码来代表付款码或者收款码。二维码是用一定规则排列的点阵图像来编码信息的方式。相比传统的条码,二维码除了具有一样的容易生成和识别的特性,还具有高容错性、更高密度的信息承载能力、抗污损能力。

图1为现有技术提供的付款码扫码支付的体系架构和流程示意图。如图1所示,点击顾客app的付款码准备付款时,顾客的支付端会向app对应的支付结构发送生成支付凭证请求,支付机构的二维码系统基于支付凭证请求中携带的顾客信息生成支付凭证并返回给app,顾客app展示所述支付凭证生成的付款码以供商户的扫描枪或智能pos机扫描付款码,商户扫描到顾客app的付款码后把付款码的支付凭证和自身商户id发送给支付机构的二维码系统以供支付机构提取支付凭证中的顾客信息,然后向支付机构的支付系统提供顾客信息和商户id以供支付系统从对双方账户进行交易,支付系统完成交易后向顾客app和商户系统返回支付结果。

交易支付过程中,交易双方都应该知道交易对手是谁,是否符合自己的交易意愿。作为收款方,可能这种意愿不一定那么强烈,只要能收到应收的钱即可,而不需要一定是某人付款。但是对于付款方,如果不知道交易对手是谁,钱就可能付给了不应该收款的收款方,而使得应收款方未收到钱款,从而产生交易纠纷。

传统的刷卡支付方式,银行卡作为交易媒介,存在银行卡的面对面传递过程,如果不是符合自己交易意愿的收款方,付款方是可以不把自己的银行卡交给对方的,在银行卡仅仅在付款方和收款方之间传递,是符合物理安全要求的,不会落入第三方之手完成交易。

对于二维码收款码支付方式,因为收款码是收款方出示的,付款方自主扫描收款方提供的收款码后操作并完成付款,代表着交易是符合付款方交易意愿的。

但是现有的在使用付款码的支付方式中,付款方出示二维码支付凭证时,二维码凭证本身并未事先确定收款方是谁。在这种支付方式中,是基于“顾客只会把付款码展示给期望的付款方,因此完成的交易是符合付款方交易意愿的”这一前提。

但是实际上,二维码是一种依靠视觉识别传递信息的通讯方式。也就意味着视觉可达的范围内,任何具有收款权限的人都可以成为收款方,抢在正确收款方之前,通过光学识别设备快速识别二维码来完成收款。这种支付方式中不能保证作为付款媒介的二维码仅在交易双方之间传递的物理安全要求。

付款码被盗刷的情况有:顾客在购买商品时,为了缩短付款时间,常常在排队或者收银员还在商品扫码计价结算时,就打开了付款码,但顾客周围别有用心的人通过手机摄像头扫描顾客打开的付款码并进行小额免密支付完成盗刷;甚至,通过安装监控摄像头拍摄顾客的付款码,远程完成付款码的盗刷。

尽管可以通过增加顾客确认的环节来阻止付款码的盗刷,提高支付安全,但是这种方法牺牲了原有支付过程的便捷性。

因此,如何避免顾客出示付款码时付款码被盗刷,同时有保证支付过程的便捷性,仍然是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例提供一种基于双向验证的移动付款码扫码支付方法和顾客支付端,用以解决现有的付款码扫码支付方法中存在付款码被盗刷,且避免盗刷与保证支付过程的便捷性无法兼容的问题。

第一方面,本发明实施例提供一种基于双向验证的移动付款码扫码支付方法,包括:

接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码;

基于所述商户码,确定商户id;

向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id;

接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码;

接收支付机构返回的支付结果。

优选地,该方法中,所述基于所述商户码确定商户id,具体包括:

基于所述商户码确定支付机构分配给所述商户的支付机构的链接;

访问所述链接,获取商户id。

优选地,该方法中,所述基于所述商户码确定支付机构分配给所述商户的链接,具体包括:

若所述商户码通用于多个支付应用,则基于所述商户码确定顾客支付端对应的支付机构分配给所述商户的顾客支付端对应的支付机构的链接。

优选地,该方法中,所述所述链接用于访问所述支付机构的商户管理系统;

对应地,所述访问所述链接,获取商户id,具体包括:

访问所述链接以使商户管理系统基于所述链接中的商户信息查询商户数据库并提取所述商户信息对应的商户id,获取所述商户管理系统提取的商户id。

第二方面,本发明实施例提供一种基于双向验证的移动付款码扫码支付方法,包括:

接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息;

基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证;

接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id;

采用所述第二商户id解密所述第二支付凭证;

确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

优选地,该方法中,还包括:

接收顾客支付端的商户id请求,返回所述请求中商户信息对应的商户id。

优选地,该方法中,所述接收顾客支付端的商户id请求返回所述请求中商户信息对应的商户id,具体包括:

基于所述商户id请求中携带的商户信息查询商户数据库并提取所述商户信息对应的商户id向顾客支付端返回。

优选地,该方法中,还包括:

将所述第一支付凭证作为验证支付凭证进行存储保留;

对应地,所述确定解密成功,具体包括:

采用所述第二商户id解密所述第二支付凭证得到第三支付凭证,若所述第三支付凭证符合支付凭证的编码规则且存在与所述第三支付凭证相等的验证支付凭证,则解密成功。

第三方面,本发明实施例提供一种基于双向验证的移动付款码扫码支付的顾客支付端,包括:

采集单元,用于接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码;

确定单元,用于基于所述商户码,确定商户id;

支付凭证请求单元,用于向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id;

付款码刷新单元,用于接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码;

接收展示单元,用于接收支付机构返回的支付结果并展示。

第四方面,本发明实施例提供一种基于双向验证的移动付款码扫码支付的支付机构,包括:

第一接收单元,用于接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息;

支付凭证生成单元,用于基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证;

第二接收单元,用于接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id;

解密单元,用于采用所述第二商户id解密所述第二支付凭证;

返回结果单元,用于确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

本发明实施例提供的一种基于双向验证的移动付款码扫码支付方法和顾客支付端,接收到付款命令时,展示无效付款码同时调用前置摄像头去扫描商户扫码设备上的商户码,采集到商户码后获取商户id,请求支付机构生成携带商户id的支付凭证,该支付凭证用于生成支付端的有效付款码,然后再用该有效付款码刷新无效付款码以供商户扫码设备扫描,完成交易。如此,顾客提供的付款码中就携带了预完成交易的商户的信息,支付机构进行双方账户交易时,会验证商户发送的支付请求中携带的商户id与付款码支付凭证中的商户id是不是相符,这样就起到了双向验证的效果,同时,由于刚开始展示无效付款码能让顾客认为付款码正常展示,不易察觉到自己的支付端还在扫描商户扫码设备的过程,顾客支付端快速完成扫描商户码并用基于商户id生成的有效付款码刷新无效付款码。因此,本发明实施例提供的方法和顾客支付端,实现了避免付款码被盗刷的同时保证支付过程的便捷性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术提供的付款码扫码支付的体系架构和流程示意图;

图2为本发明实施例提供的基于双向验证的移动付款码扫码支付方法的流程示意图;

图3为本发明实施例提供的另一基于双向验证的移动付款码扫码支付方法的流程示意图;

图4为本发明实施例提供的基于双向验证的移动付款码扫码支付的顾客支付端的结构示意图;

图5为本发明实施例提供的基于双向验证的移动付款码扫码支付的支付机构的结构示意图;

图6为本发明实施例提供的基于双向验证的移动付款码扫码支付的体系架构和流程示意图;

图7为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有的付款码扫码支付方法,普遍存在盗刷风险,在避免盗刷后又会造成支付过程的便捷性得不到保证的问题。对此,本发明实施例提供了一种基于双向验证的移动付款码扫码支付方法。图2为本发明实施例提供的基于双向验证的移动付款码扫码支付方法的流程示意图,如图2所示,该方法的执行主体为顾客支付端,该方法包括:

步骤210,接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码。

具体地,顾客点击手机上的付款出示付款码给商户扫描,即顾客手机上的付款应用客户端收到付款指令,这时,付款应用客户端展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码。商户的扫码设备可以是扫描枪也可以是智能pos机,将携带有商户信息的商户码贴在扫码设备上,以供扫码设备扫描顾客的付款码时商户码被顾客的前置摄像头扫描到。商户码可以是只能被独家支付应用识别或者多家支付应用都通用。例如,有的商户码只有用户使用支付宝扫描时可以识别,有的商户码可以被支付宝和微信支付通用,用户使用支付宝和微信支付时都可以扫描识别。由于目前顾客手机上展示的是无效付款码,即使被其它人扫描也无法完成从顾客账户扣款。商户码可以是二维码或者条形码,优选二维码。

步骤220,基于所述商户码,确定商户id。

具体地,顾客付款应用客户端扫描到商户码后,可以根据商户码中携带的信息确定商户id,商户id的确定既可以是商户id就携带在商户码中,顾客付款应用提取出商户码中的商户id,也可以是商户码解析出来是顾客支付应用对应的支付机构分配给该商户的链接,顾客付款应用跳转到该链接,获取商户id,此处不作具体限定。

步骤230,向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id。

具体地,顾客的支付应用获取到商户id后,就向支付机构发送生成支付凭证请求,通常该生成支付凭证请求只携带顾客信息,以供支付机构生成包含顾客信息的支付凭证,但本发明实施例中该生成支付凭证请求中还携带了商户id,以供支付机构对基于顾客信息生成的支付凭证在用商户id进行加密生成最后的支付凭证。

步骤240,接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码。

具体地,接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,通过经过商户id加密的支付凭证生成的有效付款码替换掉正在展示的无效付款码以展示有效付款码供商户扫码设备采集,其中,付款码可以是二维码也可以是条形码,优选二维码。

步骤250,接收支付机构返回的支付结果。

具体地,支付机构完成顾客支付账户与商户收款账户的交易后,会向顾客支付端和商户收款端返回支付结果,支付结果包括实际付款金额以及向收款商户付款成功的标识,顾客支付端通常可以看到付款金额以及商户名称。

本发明实施例提供的方法,接收到付款命令时,展示无效付款码同时调用前置摄像头去扫描商户扫码设备上的商户码,采集到商户码后获取商户id,请求支付机构生成携带商户id的支付凭证,该支付凭证用于生成支付端的有效付款码,然后再用该有效付款码刷新无效付款码以供商户扫码设备扫描,完成交易。如此,顾客提供的付款码中就携带了预完成交易的商户的信息,支付机构进行双方账户交易时,会验证商户发送的支付请求中携带的商户id与付款码支付凭证中的商户id是不是相符,这样就起到了双向验证的效果,同时,由于刚开始展示无效付款码能让顾客认为付款码正常展示,不易察觉到自己的支付端还在扫描商户扫码设备的过程,顾客支付端快速完成扫描商户码并用基于商户id生成的有效付款码刷新无效付款码。因此,本发明实施例提供的方法,实现了避免付款码被盗刷的同时保证支付过程的便捷性。

基于上述实施例,该方法中,所述基于所述商户码确定商户id,具体包括:

基于所述商户码确定支付机构分配给所述商户的支付机构的链接;

访问所述链接,获取商户id。

具体地,商户扫码设备上的贴的商户码是一个链接,是支付机构分配给该商户的链接,顾客的支付端扫描商户码后自动跳转到该链接,向支付机构发起请求,获取商户id。

基于上述任一实施例,该方法中,所述基于所述商户码确定支付机构分配给所述商户的链接,具体包括:

若所述商户码通用于多个支付应用,则基于所述商户码确定顾客支付端对应的支付机构分配给所述商户的顾客支付端对应的支付机构的链接。

具体地,若商户码通用于多个支付应用,例如商户码是支付宝和微信支付的通用商户码,即顾客支付宝客户端可以扫描识别该商户码,微信支付客户端也可以扫描识别该商户码,则基于商户码确定顾客支付端对应的支付机构分配给该商户的顾客支付端对应的支付机构的链接。更进一步,顾客支付端扫描到这个通用商户码后,先跳转到一个映射机构,该映射机构从数据库中查找到顾客支付端对应的支付机构分配给该商户的链接,例如商户码是支付宝和微信支付的通用商户码,此时用微信支付端扫描了商户码,则微信支付端提取该商户码的链接信息先跳转到一个映射机构,映射机构根据微信支付端携带的自身应用信息和链接携带的商户信息,将当前的链接映射到微信支付的支付机构分配给该商户的链接,故此时微信支付端得到了一个微信支付的支付机构分配给该商户的链接,以供微信支付端后续跳转到微信支付的支付机构中去获取商户id,因为不同支付应用对应的支付机构给同一商户分配的商户id不同,商户id通常只能做到在同一支付应用的支付机构中通用,但是不同支付应用的支付机构的商户id很少都通用。

基于上述任一实施例,该方法中,所述链接用于访问所述支付机构的商户管理系统;

对应地,所述访问所述链接,获取商户id,具体包括:

访问所述链接以使商户管理系统基于所述链接中的商户信息查询商户数据库并提取所述商户信息对应的商户id,获取所述商户管理系统提取的商户id。

具体地,支付机构分配给该商户的链接是支付机构中的商户管理系统的链接,顾客支付端跳转至该商户管理系统的链接获取商户id时,商户管理系统会提取链接中该商户的信息,然后根据该商户的信息查询商户数据库提取对应的商户id,然后向顾客支付端返回商户id以供顾客支付端获取。

基于上述任一实施例,本发明实施例提供一种基于双向验证的移动付款码扫码支付方法,图3为本发明实施例提供的另一基于双向验证的移动付款码扫码支付方法的流程示意图,如图3所示,该方法的执行主体为支付机构,该方法包括:

步骤310,接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息。

具体地,现有技术中的生成支付凭证请求中只携带顾客信息,而本申请实施例的生成支付凭证请求中还携带了商户id,是为了让支付机构生成携带了商户信息和顾客信息的支付凭证,以达到双向验证的效果。

步骤320,基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证。

具体地,支付机构收到顾客支付端发送的生成支付凭证请求中,会提取该请求中携带的顾客信息和商户id,然后基于顾客信息生成第一支付凭证,再通过商户id对第一支付凭证进行加密得到第二支付凭证,然后向顾客支付端返回第二支付凭证。

步骤330,接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id。

具体地,接收商户收款端发送的支付请求,所述支付请求中携带了第二支付凭证和第二商户id。商户付款端发送的支付请求中携带了商户扫码设备采集的第二支付凭证和商户自身提供的商户id,以供支付机构验证第二支付凭证是否与商户自身提供的商户id匹配。

步骤340,采用所述第二商户id解密所述第二支付凭证。

具体地,用商户自身提供的商户id来解密第二支付凭证。

步骤350,确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

具体地,若解密成功,则商户自身提供的商户id与顾客提供的支付凭证是匹配的,则顾客的支付凭证中携带的商户id就是商户自身提供的商户id,则确定顾客和商户是交易双方,则进行支付请求中的支付交易,并将支付结果返回给商户收款端和顾客支付端。如此,如果收款方无法提供正确的商户id,则到了支付机构这里也无法完成支付交易,即使不法分子可以提供正确的商户id,那顾客的支付金额也是汇款到了正确的商户id对应的商户账号中,不法分子也无法窃取金额。

本发明实施例提供的方法,支付机构生成供顾客支付端展示的付款码时,是先用顾客信息生成第一支付凭证,在用商户id对第一支付凭证加密生成第二支付凭证,当收到商户收款端发送来的支付请求时,会提取支付请求中的商户自身提供的商户id和第二支付凭证,然后,支付机构会用商户自身提供的商户id解密第二支付凭证,若解密成功,则进行支付交易。如此,在收到商户收款端的支付请求时,除了验证商户自身提供的商户id是否是合法商户外,还要验证商户自身提供的商户id是否和支付请求中携带的支付凭证是否相匹配,即实现了双向验证。如此,避免了付款码被盗刷。

基于上述任一实施例,该方法中,还包括:

接收顾客支付端的商户id请求,返回所述请求中商户信息对应的商户id。

具体地,顾客支付应用对应的支付机构中存储有各个商户的商户id,这些都是各个商户在这个支付应用进行注册时分配给各个商户的,当顾客支付端扫描到商户扫码设备上的商户码时,通常不是从商户码中直接提取商户id,这个商户码通常是一个链接,该链接是顾客支付应用的支付机构分配给该商户的链接,顾客支付端扫商户码跳转到该链接后,可以获取商户id。

基于上述任一实施例,该方法中,所述接收顾客支付端的商户id请求返回所述请求中商户信息对应的商户id,具体包括:

基于所述商户id请求中携带的商户信息查询商户数据库并提取所述商户信息对应的商户id向顾客支付端返回。

具体地,通常顾客支付端的商户id请求是通过跳转到顾客支付应用的支付机构分配给该商户的链接中获取,该链接是顾客支付应用对应的支付机构的商户管理系统的链接,商户管理系统收到顾客支付端的商户id请求后,提取商户id请求中携带的商户信息查询商户数据库并提取所述商户信息对应的商户id返回给顾客支付端以供顾客支付端获取商户id。

基于上述任一实施例,该方法中,将所述第一支付凭证作为验证支付凭证进行存储保留;

对应地,所述确定解密成功,具体包括:

采用所述第二商户id解密所述第二支付凭证得到第三支付凭证,若所述第三支付凭证符合支付凭证的编码规则且存在与所述第三支付凭证相等的验证支付凭证,则解密成功。

具体地,支付机构在接收到生成支付凭证请求后生成的基于顾客信息的支付凭证都会作为验证支付凭证进行保留存储在验证支付凭证库中,当支付凭证收到商户收款端的支付请求时,就会用支付请求中携带的商户id去解密支付请求中携带的第二支付凭证,若解密第二支付凭证得到的第三支付凭证符合支付凭证的编码规则且用第三支付凭证去搜索验证支付凭证库时能搜索到与第三支付凭证相同的验证支付凭证,此时判定解密成功。

基于上述任一实施例,本发明实施例提供一种基于双向验证的移动付款码扫码支付的顾客支付端,图4为本发明实施例提供的基于双向验证的移动付款码扫码支付的顾客支付端的结构示意图。如图4所示,所述顾客支付端,包括采集单元410、确定单元420、支付凭证请求单元430、付款码刷新单元440和接收展示单元450,其中,

所述采集单元410,用于用于接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码;

所述确定单元420,用于基于所述商户码,确定商户id;

所述支付凭证请求单元430,用于向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id;

所述付款码刷新单元440,用于接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码;

所述接收展示单元450,用于接收支付机构返回的支付结果并展示。

本发明实施例提供的顾客支付端,接收到付款命令时,展示无效付款码同时调用前置摄像头去扫描商户扫码设备上的商户码,采集到商户码后获取商户id,请求支付机构生成携带商户id的支付凭证,该支付凭证用于生成支付端的有效付款码,然后再用该有效付款码刷新无效付款码以供商户扫码设备扫描,完成交易。如此,顾客提供的付款码中就携带了预完成交易的商户的信息,支付机构进行双方账户交易时,会验证商户发送的支付请求中携带的商户id与付款码支付凭证中的商户id是不是相符,这样就起到了双向验证的效果,同时,由于刚开始展示无效付款码能让顾客认为付款码正常展示,不易察觉到自己的支付端还在扫描商户扫码设备的过程,顾客支付端快速完成扫描商户码并用基于商户id生成的有效付款码刷新无效付款码。因此,本发明实施例提供的顾客支付端,实现了避免付款码被盗刷的同时保证支付过程的便捷性。

基于上述任一实施例,该顾客支付端中,所述确定单元,具体用于:

基于所述商户码确定支付机构分配给所述商户的支付机构的链接;

访问所述链接,获取商户id。

基于上述任一实施例,该顾客支付端中,所述基于所述商户码确定支付机构分配给所述商户的支付机构的链接,具体包括:

若所述商户码通用于多个支付应用,则基于所述商户码确定顾客支付端对应的支付机构分配给所述商户的顾客支付端对应的支付机构的链接。

基于上述任一实施例,该顾客支付端中,所述链接用于访问所述支付机构的商户管理系统;

对应地,所述访问所述链接,获取商户id,具体包括:

访问所述链接以使商户管理系统基于所述链接中的商户信息查询商户数据库并提取所述商户信息对应的商户id,获取所述商户管理系统提取的商户id。

基于上述任一实施例,本发明实施例提供一种基于双向验证的移动付款码扫码支付的支付机构,图5为本发明实施例提供的基于双向验证的移动付款码扫码支付的支付机构的结构示意图。如图5所示,所述支付机构,包括第一接收单元510、支付凭证生成单元520、第二接收单元530、解密单元540和返回结果单元550,其中,

所述第一接收单元510,用于接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息;

所述支付凭证生成单元520,用于基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证;

所述第二接收单元530,用于接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id;

所述解密单元540,用于采用所述第二商户id解密所述第二支付凭证;

所述返回结果单元550,用于确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

本发明实施例提供的支付机构,

基于上述任一实施例,该支付机构中,还包括商户id单元,用于:

接收顾客支付端的商户id请求,返回所述请求中商户信息对应的商户id。

基于上述任一实施例,该支付机构中,所述商户id单元,具体用于:

基于所述商户id请求中携带的商户信息查询商户数据库并提取所述商户信息对应的商户id向顾客支付端返回。

基于上述任一实施例,该支付机构中,还包括验证支付凭证单元,用于:

将所述第一支付凭证作为验证支付凭证进行存储保留;

对应地,所述确定解密成功,具体包括:

采用所述第二商户id解密所述第二支付凭证得到第三支付凭证,若所述第三支付凭证符合支付凭证的编码规则且存在与所述第三支付凭证相等的验证支付凭证,则解密成功。

本发明实施例提供的支付机构,生成供顾客支付端展示的付款码时,是先用顾客信息生成第一支付凭证,在用商户id对第一支付凭证加密生成第二支付凭证,当收到商户收款端发送来的支付请求时,会提取支付请求中的商户自身提供的商户id和第二支付凭证,然后,支付机构会用商户自身提供的商户id解密第二支付凭证,若解密成功,则进行支付交易。如此,在收到商户收款端的支付请求时,除了验证商户自身提供的商户id是否是合法商户外,还要验证商户自身提供的商户id是否和支付请求中携带的支付凭证是否相匹配,即实现了双向验证。如此,避免了付款码被盗刷。

基于上述任一实施例,图6为本发明实施例提供的基于双向验证的移动付款码扫码支付的体系架构和流程示意图。如图6所示,本发明实施例提供的双向验证的移动付款码扫码支付的流程是:首先用户准备付款,打开手机上付款应用的付款码,此时付款码展示无效付款码并使用前置摄像头扫描商户扫描枪上的二维码,商户扫描枪上的二维码是携带了商户信息的商户码,此时二维码是多个支付应用通用的商户码,顾客支付应用扫描商户码后根据商户二维码所含url跳转到二维码翻译机构,二维码翻译机构根据顾客支付应用信息和商户信息映射到顾客支付app对应的支付机构分配给该商户的url,故顾客支付端重定向到app对应支付机构分配给商户的url,跳转到支付机构的商户管理系统,向商户管理系统请求该商户的商户id,商户管理系统提取请求中商户的信息从商户数据库中搜索与该商户信息对应的商户id返回给顾客支付端,然后,顾客支付端向支付机构的二维码系统发起生成支付凭证请求,所述生成支付凭证请求中携带了商户id,支付机构中的二维码系统增加了支付凭证的加解密功能,首先根据顾客信息生成第一支付凭证,并在数据库中建立支付凭证与顾客账号之间的对应关系。随后用商户id对第一支付凭证进行加密,隐藏真实的支付凭证信息,生成加密的第二支付凭证,在加密支付凭证中间接地包含了商户id信息。具体加密算法及加密参数由支付机构私有定义,商户id必须作为加密参数之一。支付机构将加密的第二支付凭证返回给顾客支付app。然后顾客支付app用加密的第二支付凭证生成的有效付款码更新无效付款码,以供商户的扫描枪或者智能pos机扫描,采集顾客二维码成功后,商户系统向支付机构的二维码系统发送支付请求,所述支付请求中携带了加密的第二支付凭证和商户id,支付机构的二维码系统使用解密功能,该功能参数包含商户id和加密后第二支付凭证,解密功能解码输出第三支付凭证。检查第三支付凭证是否符合支付凭证的编码规则,以及在数据库中查找是否有与第三支付凭证相等的第一支付凭证,如果有,则表明解码结果正确,该支付凭证对应的交易可以继续执行。否则中止交易。如果交易可以继续执行。支付机构二维码系统向支付系统发起支付请求。支付系统完成顾客账户的扣款和商户账户的汇款后,向顾客app和商户系统分别返回支付结果。

如果在此过程中,顾客手机屏幕被周围手机从顾客不可察觉角度拍摄,或者被监控探头拍摄并传到远端。因为顾客手机前置摄像头范围没有商户二维码链接,此时手机屏幕所展现的是一个伪二维码,并不是支付凭证,所以此时即使屏幕被偷拍也没有盗刷的可能。如果在手机前置摄像头拍摄到商户二维码链接后并刷新展示了加密后的第二支付凭证所对应的二维码。顾客手机屏幕被周围手机从顾客不可察觉角度拍摄,或者被监控探头拍摄并传到远端。因为第二支付凭证里面通过加密技术间接包含商户的id信息。所以盗刷者如果提供的商户id与实际商户id不符,交易会中止。如果盗刷者提供的商户id与实际商户一致,支付系统也会在顾客和实际商户之间进行转账支付,资金不会流入盗刷者的第三方账户。

图7为本发明实施例提供的电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(communicationsinterface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储在存储器703上并可在处理器701上运行的计算机程序,以执行上述各实施例提供的基于双向验证的移动付款码扫码支付方法,例如包括:接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码;基于所述商户码,确定商户id;向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id;接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码;接收支付机构返回的支付结果。

处理器701还可以调用存储在存储器703上并可在处理器701上运行的计算机程序,以执行上述各实施例提供的基于双向验证的移动付款码扫码支付方法,例如包括:接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息;基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证;接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id;采用所述第二商户id解密所述第二支付凭证;确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于双向验证的移动付款码扫码支付方法,例如包括:接收付款指令,展示无效付款码并调用前置摄像头采集商户的扫码设备上的商户码;基于所述商户码,确定商户id;向支付机构发送生成支付凭证请求,所述请求中携带了顾客信息和所述商户id;接收支付机构返回的用商户id对基于顾客信息生成的第一支付凭证进行加密后的第二支付凭证,以所述第二支付凭证生成的有效付款码更新无效付款码;接收支付机构返回的支付结果。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于双向验证的移动付款码扫码支付方法,例如包括:接收顾客支付端发送的生成支付凭证请求,所述生成支付凭证请求中携带了第一商户id和顾客信息;基于所述顾客信息生成第一支付凭证,采用所述第一商户id对所述第一支付凭证进行加密生成第二支付凭证,向顾客支付端返回所述第二支付凭证;接收商户收款端发送的支付请求,所述支付请求中携带了所述第二支付凭证和第二商户id;采用所述第二商户id解密所述第二支付凭证;确定解密成功,则基于所述支付请求进行商户收款端账号和顾客支付端账号的交易,将支付结果返回所述商户收款端和所述顾客支付端。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1