20条“路由规则”解析
一个公司接的通道多了,路由就成了必需品。
即使不做路由系统,完全依靠代码实现,但依然需要路由模型和逻辑。
那么,路由筛选最优通道就需要一系列的筛选规则,路由规则就成了路由系统的重中之重。
我们就来梳理一下,常见的路由规则有哪些,以及这些规则的内容是什么。
一、两种规则种类
路由规则可以分成2大类,分组规则和筛选规则。
分组规则顾名思义就是对通道进行分组。
为什么要分组呢?
我们知道,路由筛选是多种类的,不仅仅是筛选收款通道,还有付款通道、鉴权通道、实名通道等等。
因此,如果一笔请求是付款业务,那么你就完全没必要去判断鉴权通道,否则你将全部通道都做一次判断,那路由的效率损失和性能消耗是非常大的。
这样的话,在请求来了以后,通过分组条件对通道快速进行分组筛选,先精确过滤掉大部分通道以后,再进行精细筛选,效果就更好了。
分组维度如何设定呢?
其实分组条件一般不会太多,就如对人群进行分组一样,可以通过性别进行分组,男性、女性;可以通过籍贯进行分组,南方人、北方人。
通道分组条件常见的如:交易类型,账户类型,卡种,银行等。
你看我们在收银台选择银行卡付款时,会有2个分组,B2C还是B2B,信用卡还是借记卡,这就是明显的分组。
因此,如果用户是信用卡,那么仅支持借记卡交易的通道就肯定不适用。
分组条件的设置就是这个原理。
进行分组以后,剩下的更少的几个通道,再进行筛选规则的筛选。
比如通过卡种做了分组以后,剩下的全部是支持信用卡的通道,再进一步筛选,这时候的要筛选的通道数量明显减少。
每经过一个筛选规则的过滤,都会剔除掉一部分通道,直到最后剩下1条通道或者0条,如果是0条的话,这笔交易可能就无法完成支付了。
二、何时需要建立“规则链”
上面我们讲了通道规则往往会分为分组规则和筛选规则2大类,二者共同构成一个逻辑链条。
一个平台只有一个规则链吗?不一定。
如果你是一家非常小的公司,或者支付业务非常单一的公司,只有收款业务,那么一条链就够了,就是判断这笔收款走哪条收款通道。
但是,如果你是一家业务种类非常多,通道种类非常多的公司,一条链可能就不够了。
比如:
从支付产品来看,可能不同的支付产品需要的规则链不同,例如网银支付、快捷支付,通道的属性不同,需要校验条件不一样;但大部分条件是一样的,比如快捷支付设置了用户等级筛选条件,只有VIP用户才配用快捷支付,而网银不受这个限制,那么快捷支付的规则链中就多了一个“用户VIP筛选”。
从业务种类来看,支付、付款、鉴权、实名等不同的业务,其分组条件和筛选条件就完全不同。
例如,鉴权类业务,需要路由筛选出最优的鉴权通道,那么,鉴权类筛选里就有如“鉴权项数量”的筛选过滤,你要鉴权3项,而一条仅支持2项鉴权的鉴权通道就不满足了。
因此,需要将整体业务进行抽象,抽象出多条规则链条。
不同类型的企业通道类型不同,整个规则体系的设计方法论一样,只不过具体规则内容不同。
为了更好分析下面的内容,我们假设是一家三方支付机构;
三方支付机构的通道来自网联、银联、银行以及其他的三方机构,通道种类非常多,数量也比较多,能分析的规则就比较多;
就更容易覆盖普通企业的路由条件。
三、交易参数和通道属性
路由的基本逻辑是匹配,根据交易参数,匹配通道的属性,以获得最合适的通道。
所以,研究路由规则就不得不研究匹配逻辑,而研究匹配逻辑就不得不了解交易参数和通道的基本属性。
1. 交易传入的参数
其实就是路由的请求接口要求传进来的参数,可能不同的路由业务要求的参数不同,比如支付传参和鉴权传参就不一样。
比如支付参数,你必须传进来商户号吧,这样路由系统才知道是哪个商户的交易,你必须传进来银行卡种吧,毕竟借记卡和信用卡所能用的通道不同,等等。
当然了,传什么不是机械的,是由你的路由规则决定的,换句话说就是路由需要什么就传什么。
2. 通道属性
通道属性也可以认为是通道的画像,支持什么类型的支付,支付什么行业,什么时候维护,哪家银行的通道等等。
有了这些属性,才能与交易的特征进行匹配。
四、设定分组规则
分组规则前面介绍了,是为了快速缩减通道范围。
分组条件往往是交易在请求路由系统时的必传参数,而且多是通道的可枚举的离散属性。
什么是离散呢,就是一个一个的,比如卡种,就是信用卡、借记卡。
相对于离散就是连续,如时间,成本,就是连续条件,你不能用成本对通道进行分组,除非通过设定成本区间将成本这种连续的属性,变成离散属性。
如将通道成本分成三个区间[0,0.5)[0.5,0.8)[0.8, ∞),就可以通过成本区间将通道进行分组。
常见的分组条件有:
- 交易类型,是消费支付、还是付款、还是鉴权;也就是这条通道支持的交易属性是什么,是支付通道、付款通道还是鉴权通道。
- 账户类型,是对个人还是对公账户;就是这条通道是支持个人支付还是企业支付。
- 卡种,是借记卡还是信用卡,这也是通道的属性之一,支持借记卡支付还是信用卡支付,当然,有些通道两类卡都支持。
- 银行,这是哪家银行的,招商、工行还是农行,因为像银行卡类交易或者付款,往往同行支付体验更好,成本更低,跨行的支付成本更高一些。
通过上述4个分组条件对通道进行分组,可以快速缩小要筛选通道的数量。
不同的规则链可以选择对应的分组条件,如鉴权规则链,如果接的都是银联的服务,那么就不需要银行这个分组条件了。
五、常见的筛选规则
在通道完成分组以后,那么就需要在剩下的通道当中进行更精细的筛选了。
筛选规则就是指定通过哪些通道属性来过滤通道。
比如,通道状态可不可用啊,需不需要报备啊,有没有白名单限制啊,营业时间到没到啊,有没有行业限制啊,这个商家有没有特别定制啊……
其中,有些是通道的固有属性,例如有效状态;有些是需要进行加工计算的属性,列如本笔交易在某一条通道的交易成本。
经过一系列井然有序的筛选以后,能用的通道越来越少,最后几条筛选规则彻底杀死筛选。
比如成本最低优先,会出现一个排序,除非有2条通道的成本一样,否则一般能选出唯一的通道。
如果最后所有规则都执行完了还没选出唯一的,还剩3条,怎么办?
那么这个时候,要不就是你的路由规则设定有瑕疵,要不就是通道过于重复,这时候就需要优化路由规则链,比如对同类通道强制性增加一个优先级排序,当都满足时,谁最优先。
常见的筛选规则有以下这些:
1. 通道状态
这是通道的固有属性,配置在通道信息中,一般是开通、关闭两个值,每次交易要过滤掉处于“关闭”状态的通道。
2. 营业时间
不管怎样,你得等别人开始营业才能去办理业务,也就是通道的营业时间维护,7*24小时的通道就不用说了,那些有固定营业时间的通道不是所有时间都支持交易的,比如人行的大额系统就有固定的营业时间。
3. 鉴权过滤项
在银行卡支付时,需要填写付款卡信息,用户填了多少决定了能走哪些通道,有的通道可能需要都填,有的通道可能不太严格;一般可以执行,必填必验,可填可验,必填不验。
4. 银行短信验证
有些通道会下发短信验证,有些通道不会,根据业务的诉求可能有些交易需要短信强验证,那么根据交易是否需要验证来过滤通道;如果你选了一个不会下发短信的通道执行一个需要进行短信验证的交易处理,那么通道就选错了。
5. 行业准入过滤
通道有时候也术业有专攻,有些行业的交易风险高,可能就不允许,所以需要根据交易的行业类型,过滤掉不支持该行业的通道过滤掉。
6. 签约过滤
有些通道需要用户的卡进行签约,没有签约的卡的支付便不支持。
对于经过一系列筛选剩下的通道去看其需不需要签约,如果不需要那么就直接可用,留下该通道;如果需要签约并且不需要短信验证,那么也留下;如果需要签约也需要短信验证,那么就通过交易传进来的卡号判断该卡在此通道是否已经签约,如果没有签约,就过滤掉该通道。
7. 限额过滤
每一类通道都有限额,不是所有金额的支付都能走所有的通道。
根据交易传进来的金额,和通道本身的限额区间进行比对,决定该通道是否可用。
8. 商户白名单
有些通道需要设置商户白名单,名单之外的商户的支付请求不能走该通道。
通过交易传进来的商户编号来判断该商户在不在通道的白名单里,如果在则可以走该通道,如果不在则不能走该通道。
9. 通道卡黑名单过滤
有些卡比较奇怪,在某些通道就是支付成功率低,就是老出问题,那么就强制性把该卡种或者一张具体的卡添加到通道的卡黑名单中。
只要是交易传进来的卡信息在某条通道的卡黑名单中,那么就不走该通道了。
10. 最少鉴权项优先
肯定是鉴权项越少越便宜,用户支付体验越好,支付成功率越高。
所以,都满足的情况下,选择验证项少的通道,根据通道属性的验证项进行筛选。
11. 签约通道优先
优先选择那些需要签约的通道,这个可能不太好理解,不是签约就比较繁琐么,为啥要选需要签约的通道呢?
这个还是长远考虑,签约以后今后的支付体验会更好,更容易成功。
1)优先级最高优先
通过通道优先级这个属性对通道进行排序,选择优先级最高的通道。
通道优先级的设定一般根据通道的历史支付成功率、成本优势等等完成,优先级越高越说明通道质量越高,选择高优先级通道往往可以提高支付成功率降低支付成本。
比如同样是快捷支付通道,同类卡种,某些通道就是好,成本低,支付成功率又高,那么它的优先级就更高。
这个就像选择供应商一样,商品质量好、价格低、配货时效快,如果同一个商品多家供应商都能提供时,那你肯定优先选择该供应商。
2)成本最低优先
支付机构肯定要赚钱,所以支付成本越低利润空间就越高。
那必然会选择成本最低的通道完成支付请求,根据通道的成本维护和交易传进来的金额,实时计算该笔交易走该通道的成本是多少。
然后在剩下的通道中选择计算出的成本最低的那条通道。
当然还有一些其他的规则,比如商户定制、银行定制、行业定制、直联签约优先等等,可以根据实际的需求,设置更多的分组规则和筛选规则。
不管怎样,无论多少规则基本逻辑都是一样的,就是通过交易特征去匹配通道特征或者进行某方面的优先性判断。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!