支付-渠道路由
前言
路由选择场景有2个,分别称之为前置路由和后置路由,作用如下:
前置路由:收银台展示那些支付方式的路由,不同的用户,不同的商品组合可能用户要看到不同的支付方式以及排序
后置路由:选择哪条支付通道去提交用户的支付请求,根据支付的属性去匹配通道的属性,选择最适合该笔支付的支付渠道
路由的实现原理
路由的目的是基于交易特征筛选最匹配的通道,路由三要素:
- 交易特征
- 通道
- 匹配模型
路由要素
- 通道的基础属性
- 路由的规则体系
路由原理模型
路由的规则体系
一个公司接的通道多了,路由就成了必需品。即使不做路由系统,完全依靠代码实现,但依然需要路由模型和逻辑,那么,路由筛选最优通道就需要一系列的筛选规则,路由规则就成了路由系统的重中之重。路由规则可以分成2大类,分组规则和筛选规则。
分组规则
分组规则顾名思义就是对通道进行分组,我们知道,路由筛选是多种类的,不仅仅是筛选收款通道,还有付款通道、鉴权通道、实名通道等等。因此,如果一笔请求是付款业务,那么你就完全没必要去判断鉴权通道,否则你将全部通道都做一次判断,那路由的效率损失和性能消耗是非常大的。
这样的话,在请求来了以后,通过分组条件对通道快速进行分组筛选,先精确过滤掉大部分通道以后,再进行精细筛选,效果就更好了。其实分组条件一般不会太多,通道分组条件常见的如:交易类型,账户类型,卡种,银行等。你看我们在收银台选择银行卡付款时,会有2个分组,B2C还是B2B,信用卡还是借记卡,这就是明显的分组。进行分组以后,剩下的更少的几个通道,再进行筛选规则的筛选。
每经过一个筛选规则的过滤,都会剔除掉一部分通道,直到最后剩下1条通道或者0条,如果是0条的话,这笔交易可能就无法完成支付了。
交易参数和通道属性
路由的基本逻辑是匹配,根据交易参数,匹配通道的属性,以获得最合适的通道。
比如支付参数,你必须传进来商户号,这样路由系统才知道是哪个商户的交易,你必须传进来银行卡种,毕竟借记卡和信用卡所能用的通道不同等等,传什么不是机械的,是由你的路由规则决定的,路由需要什么就传什么。
通道属性
通道属性也可以认为是通道的画像,支持什么类型的支付,支付什么行业,什么时候维护,哪家银行的通道等等,有了这些属性,才能与交易的特征进行匹配。
![通道属性]https://img2024.cnblogs.com/blog/1370746/202501/1370746-20250117142941479-141598981.png)
分组规则
分组规则前面介绍了,是为了快速缩减通道范围,分组条件往往是交易在请求路由系统时的必传参数,而且多是通道的可枚举的离散属性。常见的分组条件有:
- 交易类型:B2B 还是 C2B
- 账户类型:对个人还是对公账户
- 卡种:借记卡还是信用卡
- 银行:招商、工行还是农行
筛选规则
在通道完成分组以后,那么就需要在剩下的通道当中进行更精细的筛选了,筛选规则就是指定通过哪些通道属性来过滤通道。
其中,有些是通道的固有属性,例如有效状态;有些是需要进行加工计算的属性,列如本笔交易在某一条通道的交易成本。如果最后所有规则都执行完了还没选出唯一的,比如还剩3条,怎么办?
那么这个时候,要不就是你的路由规则设定有瑕疵,要不就是通道过于重复,这时候就需要优化路由规则链,比如对同类通道强制性增加一个优先级排序,当都满足时,谁最优先,或者随机选择一个。
常见的筛选规则有以下这些:
- 通道状态:这是通道的固有属性,配置在通道信息中,一般是开通、关闭两个值,每次交易要过滤掉处于“关闭”状态的通道
- 营业时间:通道的营业时间维护
- 鉴权过滤项:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南