“短路”顾名思义是最短的路。短路路由算法是指有多个物理通道或逻辑通道可用时,匹配规则优先级最高的通道,不看费率,不看分组,忽略其他规则。短路路由中的匹配条件有行业、商户号、交易类型、支付品牌、交易金额、卡号段、有效时间段等。注意,短路路由中的规则是优先原则,如果短路中的通道不可用,还是会按照基础路由和分组路由规则分配交易量。
短路路由一般作用于以下3种情形。
情形一:某通道不占优势,但是贴补营销费用后,用户或平台的整体体验或者收益反而最高。比如招行信用卡交易,银联通道虽然不占优势,但有段时间有大规模贴补市场的活动,平台出于保证用户体验的原则,在活动期间会将交易分配给银联通道。
情形二:某新通道上线,通道质量未知,所以不能全量放开,需要先选择某个行业下的具体小商户进行测试。比如配置短路路由,交易优先走新通道,观察交易稳定情况,再评估是否全量放开。
情形三:某通道不占优势,但却是重点战略合作客户和流量场景,需要在其流量场景里优先使用它的通道。
关于上述场景是如何通过短路路由进行的,具体设计如图1所示。
图1 短路路由规则创建页
关于“短路路由规则创建”,说明如下。
1)配置“规则ID”项。规则ID可以直接由小到大自动生成,只要不重复就行。规则ID是后续查询、定位等用途的依据。
2)配置“规则信息名称”项。配置与编号相对应的名称,以便于规则查找和通过名称知道通道内容,如图1中的“酒店商户农行直连通道优先”。
3)配置“优先级”项。设定此优先级规则,数字越小,优先级越高。图1中的优先级为1。
4)配置“匹配条件”项。设定匹配条件,根据交易平台上送交易参数匹配规则,按照优先级由高至低进行,命中后,直接下发此“逻辑通道”。
如图1所示,匹配条件常见要索如下,其中短路通道为农行直连通道。
·行业类型。将商户分成若干行业,根据商户所在的行业类型去匹配通道。
应用:在图1中,设置的行业类型为“酒店”,代表酒店行业的商户交易是优先走农行直连通道的。
·商户号。每个商户在接入时,都会分配有一个ID以作区分,这个ID就是商户号。之前在介绍基础路由时提过,基础路由不设置商户号,如果某些特别大的商户有需求,可以通过这里的短路路由模块进行设定,优先走某个通道。注意,商户号在这里并非必填项,如果只希望控制行业而不关心具体商户,这里可为空。
应用:具体设定见图1,配置ID为0000001、00000222这两个商户,代表酒店行业的0000001、0000222这两个商户在交易时优先走农行直连通道。
·支付方式。用于设定匹配条件为支付方式的短路规则,如信用卡、借记卡、网银等,符合的支付方式优先走设置的通道。
应用:在图1中,配置的支付方式为信用卡,代表酒店行业的0000001、0000222这两个商户在进行支付方式为信用卡的交易时优先走农行直连通道。
·支付品牌。用于设定支付方式下所涵盖的具体支付品牌,也就是我们常用的银行卡的短路规则,如农业银行信用卡、工商银行信用卡。支付品牌在这里不是必填项,如不输入,则代表对某一个或多个支付方式的短路规则;如输入,则代表对某一个或多个支付方式下的具体支付品牌的短路规则。
应用:在图1中,配置的支付品牌为“农业银行信用卡”,代表酒店行业的0000001、00000222这两个商户在进行支付方式为信用卡、支付品牌为农业银行信用卡的交易时优先走农行直连通道。
·交易类型。用于设定支付品牌对应交易类型的短路规则。交易类型是支付平台交易时的必要参数,如消费、预授权、鉴权等,几乎没有通道能覆盖所有交易类型,因此这里一般都是必填项。
应用:在图1中,配置的交易类型为“消费”,代表酒店行业的0000001、0000222这两个商户在进行支付方式为信用卡、支付品牌为农业银行信用卡、交易类型为消费的交易时优先走农行直连通道。
·卡号段。卡号段是比支付品牌更细的粒度,如果支付系统为了精细化处理,希望实现对于不同的卡号段优先走不一样的通道,就可以配置这个字段。
每张银行卡都有自己的卡号区间,这个区间是由银行卡前六或前八位决定的,叫作卡BIN(发卡行识别码)。不同银行的银行卡有不同的卡BIN,同一家银行不同种类的卡也会有不同的卡BIN,如招行Visa双标卡和招行普通银联卡的卡BIN可能就不一样。如果不需要区分卡号段,那么可以选择填写全部或者为空。
应用:在图1中,配置的卡号段为“全部”,代表酒店行业的0000001、0000222这两个商户在进行支付方式为信用卡、支付品牌为农业银行信用卡、交易类型为消费、卡号段不区分的交易时优先走农行直连通道。
·交易币种。用于设置不同的交易币种优先通道。如果业务只有国内业务,不涉及交易币种时,此字段可以忽略。
应用:在图1中,配置的交易币种为“RMB人民币”,代表酒店行业的0000001、00000222这两个商户在进行支付方式为信用卡、支付品牌为农业银行信用卡、交易类型为消费、卡号段不区分、交易币种为人民币的交易时优先走农行直连通道。
·有效时间。用于设置规则的作用时间,比如提前配置好,待到了设定的开始时间自动生效,或者只希望在未来一段时间内有效,到了结束时间自动失效。有效时间不是必填项,如果希望立即生效、一直有效,那么就将这个条件留空。
应用:在图1中,配置的有效时间为空。代表酒店行业的0000001、0000222这两个商户在任何时间内进行支付方式为信用卡、支付品牌为农业银行信用卡、交易类型为消费、卡号段不区分、交易币种为人民币的交易都优先走农行直连通道。
5)配置“输出结果”项。根据上述设置的各项条件,路由服务将交易分配给优先级最高的通道,比如图1中的农行直连通道。
大家可能会考虑到如果有同样的优先级怎么办,或者同样的优先级中,其他条件一样,有的只到行业,有的到行业内具体商户的规则。
其实大家可以根据自身平台需要,定义好不同的处理方式。下面给出几种处理方式供参考。
处理方式一:同样优先级中,有具体商户的,优先应用具体商户的短路规则。
这么设计的理由在于,当设置的短路规则只到行业时,这些规则是相对宽泛的;后来设置具体商户,说明有了具体的对象,有不同的通道需求,这样配置时更简单,交易时看规则就可以知道预期结果。
所以优先满足具体的对象,再满足宽泛的行业需要。
例如,有两个短路规则,都是酒店行业的:一个末配置具体商户,输出通道为农行信用卡直连通道;一个配置商户为0001,输出通道为银联农行信用卡通道;优先级均设为1。那么在0001商户交易时,其他条件都符合的情况下,因为配置了其商户号的专属通道,所以会优先分配至银联农行信用卡通道。而同样是酒店行业的,商户0002因为没有专属通道,路由就会分配至农行信用卡直连通道。
处理方式二:同样优先级中,按照基础路由成本进行,或者进行路由降级,进行分组路由和基础路由。
这么设计的理由在于认为同样优先级的规则同样重要,那么为了保证公平,就完全按照路由中其他优先级规则自动计算出最优通道。
例如,有两个短路规则,都是酒店行业的:一个末配置具体商户,输出通道为农行信用卡直连通道;一个配置商户为0001,输出通道为银联农行信用卡通道,优先级均设为1。那么在0001商户交易时,其他条件都符合的情况下,因为其符合两条短路路由规则,且这两条规则输出通道不一样,所以就会按照基础路由中的费率比较两个通道成本,谁成本低,就将交易分配给谁,保证了交易成本最低。
处理方式三:同样优先级中,优先分配交易至配置时间最近的短路规则。
这么设计主要是出于“偷懒”。在系统接入大量商户后,存在大量的规则,再加上运营人员可能交接过多次,不清楚过往配置。为了便于配置和不出错,就直接优先用最新的规则。
例如,同样是酒店行业,运营人员接手,看到系统存在很多酒店行业短路规则,但不知道过去为什么这么配置、能不能改,也不敢动。
但是需求过来,自己只知道当下0001商户要优先走银联农行信用卡通道,因此运营人员配置了新规则。0001商户在使用农行信用卡交易时,短路路由系统在路由时如发现同一优先级中有多条可用,就会优先走银联农行信用卡通道,因为这是最新配置的。
根据以上描述,在原有基础路由和分组路由的体系下加入短路路后,根据命中和未命中情况列出对应的时序图。
命中短路路由规则的时序如图2所示。
图2 短路路由决策交易时序图
交易订单经过路由系统时,系统处理时序如下。
1)支付平台上送交易信息,包括商户信息、行业、交易金额、交易类型、支付品牌、用户信息和卡号等参数。
2)获取物理通道信息,包括通道是否关闭、通道支持行业、通道支持交易产品、通道支持交易类型、通道风险等级。
3)匹配可用物理通道。根据交易请求参数和通道配置信息进行匹配筛选。
4)筛选物理通道是否超限。根据匹配出的可用物理通道和是否有限额,查询计数服务通道是否超限,并筛掉超限通道。
5)筛选用户卡号在可用物理通道是否超限。根据用户信息及卡号判断用户在该物理通道和银行是否超限。
6)筛选可用逻辑通道。对于筛选出的最终符合限额规则的物理通道,根据配置行业、交易类型、单笔限额、通道是否关闭、卡要素等条件匹配对应的逻辑通道。
7)判断可用通道及商户参数是否在分组路由规则组内。
8)在短路路由规则中依据短路路由规则优先级及逻辑筛选出最优通道。
9)返回给交易平台命中通道及信息。路由服务返回最优通道的信息,如交易所需卡要素是什么。
无符合短路路由规则的时序如图3所示。
图3 无符合短路路由规则决策交易时序图
交易订单经过基础路由系统时,路由系统处理时序如下。
1)支付平台上送交易信息,包括商户信息、行业、交易金额、交易类型、支付品牌、用户信息和卡号等参数。
2)获取物理通道信息,包括通道是否关闭、通道支持行业、通道支持交易产品、通道支持交易类型、通道风险等级。
3)匹配可用物理通道。根据交易请求参数和通道配置信息进行匹配筛选。
4)筛选物理通道是否超限。根据匹配出的可用物理通道和是否有限额,查询计数服务通道是否超限,并筛选掉超限通道。
5)筛选用户卡号在可用物理通道是否超限。根据用户信息及卡号判断用户在该物理通道和银行是否超限。
6)筛选可用逻辑通道。对于筛选出的最终符合限额规则的物理通道,根据配置行业、交易类型、单笔限额、通道是否关闭、卡要素等条件匹配对应的逻辑通道。
7)判断是否有符合的短路路由规则。短路路由中未命中可用通道短路路由规则。
8)判断可用通道是否在分组路由规则组内。从可用通道中选出在通道组内的通道。
9)向计数服务请求组内通道数据。比如筛选出目标通道,向计数服务请求日交易金额、月胶易金额等。
10)计数服务返回请求通道对应的计数数据。
11)分组路由分配组内最优通道。根据计数数据和组内配置每日保量金额、每月保量金额、权重设定等相关参数计算出组内最优通道。
12)组内最优通道与不在同一组的通道对比。对组内分配通道和组外的可用通道按照成本计算,匹配出最优的通道。
13)返回给交易平台命中通道及信息。路由服务返回最优通道的信息,如交易所需卡要素是什么。
通过上述配置及应用,在原有规则基础上增加短路路由规则就完成了。短路路由是用于特殊情况的处理方式,实现通道的针对性处理。