支付系统 — 支付路由

本文阐述了支付路由系统如何通过降低成本、优化用户体验来提高支付效率。介绍从初期的单一接口,到中期接入多渠道后的路由流程,包括交易类型与支付渠道的选择、分组规则、筛选规则,以及渠道属性在路由中的作用。最后,概述了路由系统在实际场景中的应用和策略调整。
摘要由CSDN通过智能技术生成

本文主要介绍下支付中路由系统的主要流程。

支付路由的作用

降低成本:越便宜越好;
提高用户体验:用户支付的越爽越好;越快越好;成功率越高越好。
确保有可用通道:多个选择,确保能完成支付。

初期

在自由微信或者支付宝支付渠道的情况下,我们可以直接在暴露出一些接口给使用方调用即可。这种方式的优势是简单快速,本地调用更加直接高效稳定。与此同时也会存在一些诟病:

  • 业务系统与支付系统位于同一个系统,系统任何一次变更都会影响整个系统。
  • 扩展性问题。接入新支付渠道,需要新暴露一个支付服务接口。业务系统需要改动代码。也就是说,业务系统承担路由系统的功能。
  • 复用性。新支付渠道,其实除了与支付渠道交互相关代码之外,其他代码可以复用。

简易版支付

中期

由于各种支付限制和业务的发展,需要接入更多的渠道。
实际上支付系统一般需要对接多个支付渠道,一是为了保证系统的可靠性,不能因为单一渠道的问题影响整个支付系统。二是为了提高支付能力,不同渠道提供支付能力不同。三是为了降低支付成本。
当系统中接入了多个渠道的时候,为了可以正确选择支付渠道支付,因此就需要设计渠道路由系统。
支付路由
从上图可以看到路由系统功能其实很简单,根据一定的规则分发支付请求到正确的渠道。

交易类型与支付渠道

支付方式与支付渠道的关系:
系统如果接入了多个渠道,那么对于一笔交易来说,将会有多个支付渠道可以扣款。
假设如下场景:在平台A下单购买一双鞋子200元,然后结算时在收银台中使用招行借记卡进行支付【已签约】。然后此请求最终提交到了支付系统扣款,对于路由系统来说,1⃣️首先需要获取到支持招行借记卡并且已经签约过的渠道列表,2⃣️然后从支持招行借记卡的渠道中挑选出来费率最低、成功率最高、限额范围内、并发量范围内的渠道,3⃣️最终如果还有多个渠道可以选择,就可以选择一个最近最近未使用过的,至此路由就完成了。最后向最终确定的渠道发起请求执行扣款。以上过程为简略版,省略了许多细节,不代表实际中就是这么简单。
通过上述的过程应该已经大概了解了路由的大致流程了吧。

路由层架构图

支付路由架构图

渠道
什么是渠道?

渠道是指可以进行账户操作的一些支付机构,包括但不限于银行,例如 银联、招行直连、快钱等等。

渠道的属性

编码:gh-kj-001
名称:工行协议支付
类型:协议,网银,打款
状态: 开启,关闭
所属银行: 工商银行
卡种:借记卡
其他

渠道属性的作用

渠道属性的一个关键用途就是路由选择的依据,路由的规则配置其实就是根据渠道属性去配置的,什么属性的渠道能用,什么类型的渠道属性不能用。

路由规则

路由规则就是支付请求来了筛选渠道的条件;比如那个银行的,什么卡等。路由最核心的是规则以及筛选模型。
路由规则主要分两类:

1. 分组规则

为了提升筛选效率,我们先对通道按照组合规则进行分组,分组规则需要的标识用户身份信息参数是上游请求方必填的,而关于卡片信息的一些参数是路由内部解析出来的。比如按照以下属性进行分组:

  • 交易类型:支付、打款、签约
  • 账户类型:对私、对公
  • 卡种:借记卡、贷记卡
  • 银行:工商银行、招商银行、北京银行等
2. 筛选规则

经过通道的分组筛选,最后确定了一个列表,然后再通过筛选规则筛选出需要的渠道道,比如以下筛选规则:

  • 已签约渠道:选择已经签约过的
  • 状态:开启
  • 成本最低优先:选择成本最低的
  • 成功率最高优先:选择最近成功率最高的
  • 响应时间最小优先:选择最近响应最快速的
  • 高权重优先:权重
  • 优先级
  • ……
路由分组规则

通过上述的分组规则和筛选规则,就可以得出筛选的规则树如下图:
渠道分组树
例如支付请求为:支付-对私-借记卡-工行,那么就可以快速定位到一个渠道组了:[银联,工行直连,快钱]。

路由筛选规则

在这里插入图片描述
经过一系列筛选规则后筛选出一个渠道。
如果在筛选过程中发现自由一个渠道可选择,那么就直接使用当前渠道。

例如:用户签约了快钱和工行直连渠道。支付请求上送了 支付-对私-借记卡-工行,1000元。那么就可以根据路由分组规则定位到[银联,工行直连,快钱]渠道,,根据状态路由过滤出[工行直连],然后根据签约表过滤出[银联,工行直连],根据成本路由过滤出[工行直连],此时自由一个通道可用,就直接短路使用工行直连渠道发起支付请求。反之,如果在筛选过程中发现快钱和工行直连渠道的状态都是不可用时,就需要返回对应的code码,引导用户重新签约其它支付渠道。

至此简略版已描述完毕。
以上就是个人对于支付路由的一些理解和描述,其中大部分都非常粗略,但是整体的流程就是这个样子。企业中会对其做各种更加深入的细化和调整,不尽相同,还需适时调整。
如果有错误或不足的地方,请多多留言指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值