一种基于模块化自动组装支付网关系统的方法与流程

文档序号:12722007阅读:280来源:国知局
一种基于模块化自动组装支付网关系统的方法与流程

本发明涉及在线支付技术领域,尤其涉及提供一个封装各种支付渠道接口以实现对外提供统一支付网关的方法,更具体的,涉及一种基于模块化自动组装支付网关系统的方法。



背景技术:

在线支付是指卖方与买方通过因特网上的电子商务网站进行交易时,银行及其他第三方为其提供网上资金结算服务的一种业务,它为支付方提供了一个安全、快捷、方便的电子商务应用环境和网上资金结算工具。

随着互联网技术的发展,在线支付越来越多地被应用于各种电商平台当中。区别于传统线下支付过程,在线支付具有更方便,更快捷的优点,也正是这些优点让在线支付快速被大众接受。然而,电商平台在面对接入支付渠道的过程中,需要基于对费率、接入难度、受众等因素的考虑,并结合自身情况而选择一种或者多种支付渠道。当电商平台选择多种支付渠道时,比如同时接入支付宝、支付宝、财付通、银联,由于它们各自提供不同的接入接口,电商平台必须针对每一个支付渠道投入学习成本及接入成本,形成对人力财力的浪费,而且对于各个支付渠道产生的交易也不能进行集中化管理;从运营角度分析,不同的支付渠道带来不同的对账体系,无疑也会增加电商平台的运营成本。

中国专利申请“一种支付方法、支付网关及支付客户端”(专利申请号:201280003041.5)提出了支付网关接收包含用户身份信息和支付信息的付款请求;解密所述付款请求,提取所述用户身份信息和支付信息;根据所述用户身份信息,在支付通道列表中查找到与所述用户身份信息对应的支付通道;通过所述支付通道将所述付款请求发送给支付客户端进行认证;接收所述支付客户端发送的认证通过的付款请求,并将所述通过认证的付款请求转发给支付服务器;获得支付结果,并将所述支付结果返回给付款请求发起方。本发明能提高安全支付的通用性,避免支付信息被截获、窃听和篡改的安全风险。然而此件专利只提出了一种标准化的支付流程,但并未提及支持多种支付渠道连接,也未涉及为多种类的商户提供一个通用的支付接口。

专利“支付网关解决方案再电子商务网站中的应用方法”(专利申请号:200810029001.3)公开了一个服务于电子商务商户的统一的网上交易支付平台,该平台系统定义一个对接商户系统的开放接口,商户系统通过这一接口能使终端现有流行的银行支付系统完成网上交易,而不必针对每家银行的支付系统进行设计;同时系统还提供了完善的商家后台管理功能。然而,该专利并未提出如何扩展现有流行的银行的支付接口,依然没有解决扩展银行接口带来的多种复杂问题。



技术实现要素:

本发明的目的是,提出基于模块化自动组装支付网关系统的方法,当电商平台与任一支付渠道连接时,通过自动抽取该支付渠道关于支付的多个接口,包括支付接口、提现接口、在线通知接口、异步通知接口、退款接口、退款通知接口、查询接口,并将上述这些接口封装抽象为一个支付网关,以提供基于支付网关的支付流程,包括支付、退款及对账等,实现支付流程标准化,使电商平台能借助自动化形成的支付网关与任一支付渠道对接,降低电商平台的连接成本,帮助电商平台在快速发展的互联网中做到快速集成;加之同时,各个支付渠道相互独立,最大程度地实现低耦合扩展。

本发明的技术方案为:一种基于模块化自动组装支付网关系统的方法,具体包括:

步骤1:当电商平台与任一支付渠道连接时,自动抽取该支付渠道关于支付的7个接口;即基于支付流程,按照支付涉及的支付、提现、通知、退款及查询这5个环节,构建支付网关的7个接口模块,包括:支付接口模块、提现接口模块、在线通知接口模块、异步通知接口模块、退款接口模块、退款通知接口模块及查询接口模块;

特别地,支付网关的模块结构实现一套支付网关可以为多个支付渠道使用,不同支付渠道的使用权限隔离;

所述支付接口模块:用于提供提现服务、直接支付、在线通知、异步通知、查询服务、退款服务、退款通知;

所述退款接口模块:用于电商平台向支付渠道发起退款请求,最终依靠退款通知接口确认最终退款结果;

所述提现接口模块:类似退款接口,提现的接口提交只是记录提现信息,支付网关会根据后台的定时任务,统一的将提现任务提交给支付渠道;

所述在线通知接口模块:一方面用于支付渠道将支付结果信息提交至支付网关,另一方面用于支付网关将支付结果信息提交电商网站,告知电商网站支付状态;

所述异步通知接口模块:在线通知接口的补充,用于不间断地且直接地在支付渠道和支付网关之间传递支付结果信息;

所述退款通知接口模块:退款是非实时的,所以退款结果以异步的方式提交给商户预留的异步通知接口中;

所述查询接口模块:用于提供单条或者多条的支付订单状态查询;

步骤2:任何一个接入电商平台的支付渠道,支付网关按照步骤1构建的接口模块,各个模块针对支付渠道抽取并形成相应的7个支付接口,实现支付渠道的对接电商平台;同时,支付网关会按照7个接口功能需要,将电商平台的支付信息构造成支付渠道需要的接口参数,提交给支付渠道处理;

特别地,支付渠道和支付网关的接口模块存在依赖关系,任何一个新接入的支付渠道仅需要依赖接口模块,经过接口定义后即可实现支付渠道的对接;

特别地,不同支付渠道形成专属于自己的支付接口,保证支付渠道之间的相互独立性;

步骤3:面向电商平台,抽象一套方便电商用户使用的支付接口模块,支付接口模块的内容包含,获取支付收银台接口、选择渠道接口、同步接收支付结果接口、异步接收支付结果接口、提交退款接口、提交提现接口、退款状态异步通知接口、提现状态异步通知接口、查询订单状态接口;其中:

所述获取支付收银台接口:用于订单信息的展示和用户选择适合的支付渠道,并利用MD5加密方法对订单信息加密,保证电商平台和支付网关在订单提交过程中,防止用户是否篡改收银台信息;

所述选择渠道接口:通过支付收银台接口能调用渠道提交支付接口,若由支付网关提供的收银台调用该接口,则电商平台无需关心该接口的使用;若电商平台生成收银台,则支付网关会提供电商商户支持的支付渠道列表查询接口,以供电商商户来构造自己的收银台页面,用户在该收银台上选择渠道后,需要按照支付网关提供的支付接口,提交支付参数,并最终跳转到支付渠道的支付页面进行支付;

所述同步接收支付结果接口:和支付渠道同步返回给支付网关类似,支付网关也会根据商户在请求支付的过程中提交的同步返回支付结果的地址,同步返回支付结果给商户。

所述异步接收支付结果接口:根据商户提交支付网关的异步通知支付结果的接口,支付网关定时的将支付结果异步的通知给商户,直到商户确认收到了支付结果。

所述提交退款接口:支付网关提供给商户的退款接口,分为有密接口和无密的接口;有密接口是商户系统在支付网关预留支付密码,提交退款时使用支付密码退款,无密接口是由商户系统直接提交给支付网关;

所述提交提现接口:类似退款接口,提交提现接口仅记录提现信息,支付网关会根据后台的定时任务,统一的将提现任务提交给支付渠道。

所述退款状态异步通知接口:退款是非实时的,所以支付结果以异步的方式提交给商户系统预留的异步通知接口中;

所述提现状态异步通知接口:提现是非实时的,所以支付结果以异步的方式提交给商户系统预留的异步通知接口中;

所述查询订单状态接口:用于提供单条或者多条的支付订单状态查询。

步骤1接口是面向支付渠道的,比如支付宝、银联;步骤3的接口是面向电商平台的。

步骤4:基于步骤1和步骤3自动组装形成的支付网关,由支付网关维护电商平台和支付渠道之间的管理;具体为:每个电商系统根据自身情况选择支付渠道的接入,由支付网关维护该电商系统在支付渠道中的配置信息,包括开发者令牌,签名秘钥等;支付网关不支持业务对接,所有电商平台接入支付渠道的业务参数仍需自己申请,支付网关只是负责维护业务参数;

步骤5:当支付网关收到电商平台用户提交的支付、退款、提现申请时,首先验证电商平台用户请求的合法性,其一是收银台数据的验证,其二是请求来源方的验证;

在收银台数据的验证过程中,电商平台预先将订单信息提交给支付网关,由支付网关利用MD5算法加密订单信息,形成关于订单的MD5签名;支付网关将形成的MD5签名返回到收银台页面中;当用户在电商平台提交订单请求时,电商平台通过支付收银接口获取支付渠道,并在选择自己需要的支付渠道后,由支付网关利用MD5算法对本次订单请求中的订单信息进行加密,形成MD5签名;通过比对两个MD5签名,验证用户是否篡改收银台信息;

在请求来源方验证过程中,支付网关会对电商平台发送过来请求及商户保留的秘钥信息进行MD5加密,形成签名;然后对比该签名和商户发送过来的签名是否一致,如果一致则说明商户的请求是合法的,且数据没有被篡改。

步骤6:经验证成功,支付网关将电商平台的请求信息通过相应的支付接口、提现接口、退款接口传至支付渠道处理;当支付渠道响应请求后,支付渠道将请求处理的结果再通过相应的支付通知接口、提现通知接口、退款通知接口以同步或异步的方式传至支付网关,再由支付网关按照电商平台预留在支付网关中接收请求结果的地址,将请求的处理结果告知电商平台;

特别地,按照支付渠道的要求,支付网关和支付渠道之间的数据交互以加签和解签的方式验证数据的安全性,支付渠道和支付网关各自保存签名串,在双方信息传递过程中,发送方按照MD5加密,对传输数据加签名串,接收方按照MD5算法对相同数据加密;通过验证两次加密结果是否一致,如果一致则数据验证通过,如果不一致则数据验证不通过。

本发明与现有技术相比,有益效果:

(1)本发明通过构建通用的支付网关结构,使电商平台与支付渠道连接时,支付渠道能自动按照支付网关结构抽象成相应的接口,进而建立与电商平台的连接,使电商平台能借助自动化形成的支付网关与任一支付渠道对接,降低电商平台的连接成本,实现支付流程标准化;

(2)本发明通过将支付接口、提现接口、在线通知接口、异步通知接口、退款接口、退款通知接口、查询接口封装抽象为一个支付网关,提供基于支付网关的支付流程,包括支付、退款及对账等,实现支付流程标准化,帮助电商平台在快速发展的互联网中做到快速集成;加之,各个支付渠道相互独立,最大程度地实现低耦合扩展。

附图说明

图1为本发明实施例中支付网关设计结构图;

图2为本发明实施例中支付渠道和支付接口模块的关系示意图;

图3为本发明实施例中支付网关实现支付流程图;

图4为本发明实施例中订单信息加签示意图;

图5为本发明实施例中支付网关与电商平台及支付渠道的相互关系图。图5的上中下三图中,上下图均表示与中图相对应的商户、支付渠道和支付配置的具体明细。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图1为本发明实施例中支付网关设计结构图。基于支付流程,按照支付涉及的提现、支付、通知、退款及查询这5个环节,构建通用的支付网关结构,主要包括7个接口模块,具体为:支付接口模块、提现接口模块、在线通知接口模块、异步通知接口模块、退款接口模块、退款通知接口模块及查询接口模块;

所述支付接口模块:用于提供提现服务、直接支付、在线通知、异步通知、查询服务、退款服务、退款通知;

所述退款接口模块:用于电商平台向支付渠道发起退款请求,最终依靠退款通知接口确认最终退款结果;

所述提现接口模块:类似退款接口,提现的接口提交只是记录提现信息,支付网关会根据后台的定时任务,统一的将提现任务提交给支付渠道;

所述在线通知接口模块:一方面用于支付渠道将支付结果信息提交至支付网关,另一方面用于支付网关将支付结果信息提交电商网站,告知电商网站支付状态;

所述异步通知接口模块:在线通知接口的补充,用于不间断地且直接地在支付渠道和支付网关之间传递支付结果信息;

所述退款通知接口模块:退款是非实时的,所以退款结果以异步的方式提交给商户预留的异步通知接口中;

所述查询接口模块:用于提供单条或者多条的支付订单状态查询;

图2为本发明实施例中支付渠道和支付接口模块的关系示意图。任何一个接入电商平台的支付渠道,支付网关按照接口模块,各个模块针对欲接入支付渠道抽取并形成相应的7个支付接口;本发明实施例中的支付网关结构保证了一套支付网关可以为多个支付渠道使用,不同支付渠道之间的使用权限隔离。

支付渠道和支付网关的接口模块存在依赖关系,任何一个新接入的支付渠道仅需要依赖接口模块,经过接口定义后即可实现支付渠道的对接,不同支付渠道形成专属于自己的支付接口,保证支付渠道之间的相互独立性;

支付宝支付渠道和银联支付渠道的接入,会分别针对两种支付渠道,各自独立形成支付接口、提现接口、在线通知接口、异步通知接口、退款接口、退款通知接口及查询接口;

图3为本发明实施例中支付网关实现支付流程图,支付网关不仅提供标准同样提供了标准退款以及提现和对账的流程,具体包括:

步骤1:订单支付流程,步骤包括:步骤1-1:会员在电商网站中选定产品并生成产品订单,本步骤按照电商平台规定的购物流程,在电商平台中完成;

步骤1-2:电商平台获取支付收银台接口,根据支付收银台界面选择需要的支付渠道;

步骤1-3:获取选择渠道提交支付接口,将步骤1-2中已选择的支付渠道,将订单数据提交至该支付渠道对应的支付网关;

步骤1-4:支付网关根据用户选择的支付渠道,构造提交给支付渠道的相关请求,并跳转到支付渠道中支付,支付网关的实现步骤如下:

步骤1-4-1:由支付网关维护电商平台和支付渠道之间的管理,参阅图5所示的本发明实施例中支付网关与电商平台及支付渠道的相互关系图。每个电商系统会根据自己的情况选择支付渠道,并由支付网关维护该电商系统在支付渠道中的配置信息,例如开发者令牌,签名秘钥等。

在图5所示的关系中,支付网关只负责技术集成的角色,业务上并不对接支付渠道,所有电商系统需要接入的支付渠道的业务参数还是需要自己申请,支付网关只是负责维护业务参数;

步骤1-4-2:支付网关收到电商平台提交的支付请求,验证该请求的合法性。合法性的验证包含两个方面,一个是验证步骤2中的收银台数据是否被篡改,具体为:电商平台将订单信息(订单号,订单金额等)提交给支付网关,支付网关会对以上敏感信息加上特殊的密串,通过MD5加密成一个特殊字符串,本发明实施例本中订单信息加签内容如图4所示;支付网关会将该签名内容返回到收银台页面中;当从收银台页面选择好支付渠道后再次提交支付请求的过程中,支付网关会同样对订单号和订单金额做同样的签名处理,和收银台传到支付网关的签名做对比,以验证用户是否篡改收银台信息;

另一个验证该请求是否来自于商户,验证方法也是同步骤2中的验证方法,支付网关会对电商平台发送过来的请求,加上和商户保留的秘钥信息,做MD5的签名,然后对比该签名和商户发送过来的签名是否一致,如果一致则说明商户的请求是合法的,且数据没有被篡改。

步骤1-4-3:支付网关根据收到的支付信息,提取出需要支付的渠道,支付网关将其命名channelCode,每个支付渠道会对应一个channelCode,支付网关根据channelCode以及商户编号信息获取商户和支付渠道的配置信息(开发者令牌,加密秘钥等),支付网关会根据这些信息,将需要支付的信息构造成支付渠道需要的接口参数并提交给支付渠道。

步骤1-5:用户在支付渠道中支付订单;

步骤1-6:支付成功后,支付渠道通过在线通知接口,以浏览器跳转方式将支付结果信息传递至支付网关;

步骤1-7:待支付网关接收到支付结果后,支付网关通过同步接收支付结果接口,以同样的浏览器跳转的方式跳转至电商平台预留给支付网关的同步接收支付结果的地址,告知电商平台当前订单的支付状态。

步骤1-8:在支付结果由支付渠道向电商平台同步的过程中,因人为及网络因素同步失败,则进行支付结果的异步传递;支付渠道通过异步通知接口,将支付结果直接传至支付网关;

步骤1-9:支付网关通过异步接收支付结果接口,将将支付结果传至电商平台预留给支付网关的同步接收支付结果的地址,告知电商平台当前订单的支付状态。

步骤2:退款流程,具体包括:步骤2-1:用户通过电商平台向支付网关提交退款申请;

步骤2-2:待支付网关接收到电商平台的退款申请后,向电商平台反馈已接收退款请求;

步骤2-3:支付网关通过退款接口定时向支付渠道提交退款申请;

步骤2-4:待支付渠道接受退款申请后,同步返回给支付网关已接收退款请求;

步骤2-5:支付渠道处理退款申请,退款成功后,支付渠道通过退款通知接口,将退款处理结果告知支付网关;

步骤2-6:支付网关通过退款状态异步通知接口,将退款处理结果通过退款状态异步通知接口告知电商平台的用户;

步骤3:提现流程,具体包括:步骤3-1:用户通过电商平台向支付网关提交提现申请;

步骤3-2:待支付网关接收到电商平台的提现申请后,向电商平台反馈已接收提现请求;并将提现请求发至支付渠道处理;

步骤3-3:待提现请求处理成功后,支付渠道通过在异步通知接口,将提现处理结果返回至电商平台;

步骤3-4:支付网关通过提现状态异步通知接口,将提现结果传至电商平台预留给支付网关的接收提现结果的地址;

步骤4:对账流程,具体包括:步骤4-1:电商平台获取每日支付订单,向支付网关发送查询订单状态请求;

步骤4-2:电商平台通过查询订单状态接口,将查询请求发至支付网关;

步骤4-3:支付网关接收到请求后,通过查询服务接口,提交渠道做状态查询。

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