无忧支付网首页
央行牌照  一清支付公司
个人/个体/公司均可进件
24小时服务电话
*** **** ****
站内搜索
您当前的位置:主页 > 支付知识 >

支付系统基础路由算法介绍

添加时间:2022-06-27

  基础路由算法是指根据配置规则匹配可用逻辑通道。配置的规则是根据同一物理通道不同属性的具体内容进行配置,如不同支付品牌、交易类型、交易金额、限额、商户、计费方式和费率等。这样的配置规则是与物理通道相对的,我们将其称为“逻辑通道”。后面我们将更多地用“逻辑通道”来代指“基础路由中的配置规则”。物理通道与逻辑通道是一对多的关系。逻辑通道是配置内容,基础路由算法是计算过程。

  基础路由是最底层的路由规则,虽然优先级最低,但是它就像台基。没有台基,再好的大楼、再精美的设计蓝图都是空想;同样,没有基础路由,那么风险路由、短路路由、分组路由就都无从实现。基础路由与它们是包含和被包含的关系,如图1所示。

基础路由算法与其他算法的关系

图1 基础路由算法与其他算法的关系

  基础路由的主要职能如下。

  ·建立查询主键。逻辑通道规则号会作为后续问题定位、数据交易查询的依据。比如后续交易记录需要查询时,会直接在日志中查询逻辑通道的规则号,通过规则号定位当时配置情况或者问题。因为逻辑通道是颗粒度最细的维度,所以内部查询一般都用逻辑通道。

  ·匹配通道可用性。根据商户、行业、交易金额、交易类型、支付品牌、通道是否可用、验证要素等条件匹配支持交易的逻辑通道。

  ·通道熔断自动上下线处理。可以设置固定维护时间、临时维护时间,进行自动上下线。

  基础路由的具体设计如图2所示。

基础路由规则创建页

图2 基础路由规则创建页

  关于“基础路由规则创建”,说明如下。

  1)配置“规则ID”项。逻辑通道规则ID可以直接由小到大自动生成,只要不重复就可以。规则ID被作为后续查询、定位等用途的依据。

  2)配置“规则信息名称”项。配置与规则ID相对应的中文名称,以便于规则查找和通过名称知道通道内容,如图2中的“x连通道”。

  3)配置“输出物理通道”项。符合此条件集合后输出所配置通道。

  4)配置“通道类型模板”项。从用户交互角度,通道形态分为三类,分别为银行卡、网银和账户。为什么要区分不同的类型模板?

  我们先看下三者的含义。

  ·银行卡:卡类支付,要用户在支付平台输入卡要素。页面交互等多由用户自己控制。

  ·网银:需要根据用户选择不同的银行品牌,跳转到对应的银行网站,用户在银行网站完成支付,支付完成后再跳转回支付平台。网银不需要选择“验证要素”,可以增加“跳转链接地址”。

  ·账户:账户是指账基支付,常用的微信支付、支付宝均属于这一类,支付时需要生成二维码或者移动端唤起微信、支付宝。这一类也不需要选择“验证要素”。

  根据三类形态的不同特性,配置模板会有些微差别,图2中是以银行卡模板来说明的。

  5)配置“交易类型”项。配置逻辑通道支持的交易类型,如消费、预授权、鉴权等。只要费率等其他条件都一样,就可以在一条规则中配置多个交易类型。只有在交易请求为配置中支持的交易类型时,此逻辑通道才可用。

  例如,商户发起交易时交易类型为预授权,客户使用工商银行信用卡,基础路由有两条配置规则。规则A:工商银行信用卡,交易类型为消费,费率为1%。规则B:工商银行信用卡,交易类型为预授权,费率为3‰。交易路由时虽然都支持工商银行信用卡,但只能命中规则B,即使规则B的费率再高也只能命中它,原因是规则A的交易类型不符合。

  6)配置“支付品牌”项。配置逻辑通道支持的支付品牌,如图2中的工商银行信用卡、农业银行信用卡等,支持配置多个。路由时会根据基础路由中商户所属行业的配置品牌与引导路由中配置商户的品牌的交集下发通道。

  7)配置“验证要素”项。验证要素就是此次交易需要客户填写的要素。

  支付时,通道有可选要素和必选要素。必选要素是为保证支付正常进行最少需要提供的要素,可选要素是为了进行更多检验而需要提供的要素。如果提供了可选要素,通道会进行验证;如果没有提供,则不验证。需要额外说明的是,几乎所有的通道都不支持验证部分可选要素,也就是说,可选要素要么都不提供,要么全部提供。

  另外支付平台也有一些自有鉴权通道,可以通过“交易通道+鉴权通道”组合支付的形式进行。

  根据以上所述,要素如图2所示,有最小验证要素集合和最大验证要素集合。最小验证要素集合用于正常交易,输入最小项完成支付;最大验证要素集合主要用于风险交易,在有风险的交易中发最大验证要素集合,要求客户多输入要素。

  填写的要素一定要有渠道进行验证,无论是平台自有验证渠道还是对接支付通道。如果有要素没有经过验证,而客户无意或者故意输入错误,那么万一支付成功,持卡人是可以拒付的。

  在图2中,常见的要素集合如下。

  ·卡号:客户需要填写的借记卡或者信用卡号。这里涉及卡BIN服务,也就是事中路由(会在稍后介绍)。

  ·姓名:持卡人姓名。

  ·证件类型与证件号。需要客户填写证件类型与证件号。注意,在通道接入时,一定要确认清楚通道方是只验“卡号”还是验证“证件类型+卡号”。通道方经常只验证证件号而不验证证件类型,这样会造成以下后果:客户填写错误但支付成功;客户拒付成功率高,因为信息错误却支付成功;系统保存信息错误,不利于二次路由、免密支付等应用场景的使用。

  ·手机号。这里的手机号是指银行预留手机号,而不是客户常用手机号。因此当某支付通道不支持验证手机号码,而支付平台出于风险考虑需要验证时,不能客户填写什么手机号码就下发短信到这个手机号,然后验证通过,而是需要背后接入鉴权通道,确认与银行预留手机号一致才可以下发短信验证码。

  .短信验证码。短信验证码用来验证客户身份,是持卡人本人操作的一个重要依据。在这里配置短信验证码的时候,从配置全面的角度考虑,还需要配置短信发送方,如是平台方发送还是通道方发送。

  ·有效期。一般都用于信用卡,极少数外卡借记卡也有有效期。需要注意,一般为了避免退款或者预授权交易因为有效期过期而无法退扣款等情形,在临近有效期时,支付平台通常都会进行交易控制,如临近10天提示换卡等。

  ·CW。信用卡安全码,也叫作CVC(Card Verification Code)。根据PCI认证标准,CW是不可以存储的,所以我们在接入非快捷支付通道时,一般都要求或者倾向于通道方不需要CW,甚至宁可为此支付更高的费率。在快捷、代扣、二次路由支付这些场景中,无法应用要求输入CW的通道,因为数据在支付能力上缺少CW,无法支付成功。

  ·其他信息。如果是外卡或者有风险要求,还会需要输入一些其他信息,比如邮箱或者收件人地址等要素。

  8)配置“行业类型”项。根据公司所处的业务范围,一般把商户分成若干行业。根据客户所在的行业类型去匹配通道。

  基础路由是根据商户所处的行业来进行配置的。至于为什么是根据行业而不是商户来配置,有以下两个原因。

  其一,行业的数量级比商户小得多,行业可能就有几十个,而商户是不计其数的。支付展业的过程中可能每天接入商户的数量巨大,为为支持轻量化运营,减少配置,需要直接根据行业来配置。

  其二,支付系统设计足够健壮,能力足够支持统一与灵活。首先,我们认为大多数行业中的商户对于支付能力的要求应该是一样的。其次,通过商户合同系统配置商户支持的支付产品和支付方式;通道配置所属支付产品;如果有特别需求或者有大商户需要定制,路由中的短路路由能够通过为商户配置逻辑通道优先级来满足需求。

  9)配置“交易币种”项。交易币种一般是指页面计价显示的币种。交易时,商户会将此币种及其对应的交易金额上送给支付服务提供商。基础路由会根据上送的交易货币来匹配路由规则。如果业务都在国内,那么基本上不需要这个字段,因为基本都是人民币交易。

  10)配置“限额”项。这里配置的限额是指通道对于支持的各银行卡的限额,与前面的物理通道限额不一样。就像老王开店进货,供应商限定每天最多能为老王供多少货,这是物理通道限额;供应商卖很多品牌,有康师傅,有统一,除了限定整体最多能为老王供应多少货外,还限定每个品牌供多少货,这是逻辑通道限额。

  交易时,根据上送的交易金额匹配限额,在满足限额条件的情况下输出可用的通道。逻辑通道限额有单笔限额、日限额、月限额,意思分别是单笔、单日、单月、交易不能超过多少钱。简单的做法是在交易上送时只匹配单笔,至于单日和单月就看通道返回码,如果报超限那就超限。但支付收益最大化的其中一项就是成功率,比较完善的系统会有个计数服务来统计限额,先看物理通道是否超限,如果没有,再看用户交易卡有没有超过逻辑通道设定的单日、单笔、单月限额,如果也没有,再输出通道,这样就能保证每一笔路由交易都可用。

  11)配置“手续费计费类型”项。基础路由的一个重要职能是从按照条件匹配出的多个可用通道中路由最优的那个。假定没有分组、短路等其他规则,那么最优的标准就是成本最低(路由费率最低)的通道。费率就是按照这里的手续费计费方式定的,也有的系统把手续费计费方式放在计费服务中配置。为了避免计费服务配置两次费率,可以将路由系统配置的这个费率同步推送给计费服务。

  费率的计费方式有多种,有单笔固定手续费,有单笔按百分比计手续费,有包年手续费。每种手续费又可以分为固定手续费、阶梯费率或固定费率。

  简单说下各类手续费的含义和计算逻辑。

  单笔手续费:对每笔交易收取固定的手续费,在设定的区间内不分金额多少,一笔都是这么多费用,常用在代扣、代付性质的通道。

  比如代扣按笔收费,一笔1元,交易金额5万元的成本是1元,交易金额2元的成本也是1元。

  分比手续费:按交易金额的百分比收费,常体现在快捷、无磁无密通道上。比如设定费率为3‰,那么交易金额5万元的成本是150元,交易金额2元的成本不到1分钱。

  假设上述两种规则都适用于同一笔交易,交易金额为5万元的时候走按单笔收费的通道更划算,手续费少了149元;交易金额为2元的时候走按百分比收费的通道更划算,手续费少了近1元。基础路由交易会计算出各自的成本,找出成本最低的通道,保证收益的最大化。

  包年手续费:包年手续费是指按年计算一个总费用,多用少都是这个价。根据这个特性,我们在手续费配置时,通常配置成本为0,应走尽走。

  固定手续费:无论交易金额是多少,手续费都是一样的,没有区间,与阶梯相对。如果是固定手续费,费率可以是固定的费率(如3‰)或固定的金额(如1元)。

  阶梯手续费:设定金额区间,不同区间对应不同的手续费或者费率,但一般多用于按单笔收费的通道。以单笔为例,比如0~10 000元,手续费是1元;10 001~50【000元,手续费是3元;50 000元以上,手续费是5元。路由需要根据不同的交易金额对应不同的手续费。

  封顶手续费:手续费有个上限金额,无论交易金额多高,手续费都不会超过这个金额,多见于按百分比收费的通道。假如手续费为3%、50元封顶,交易金额为50000元,按照3‰计算手续费是150元,但是因为有封顶手续费,最终只会收50元。

  12)配置“维护时间”项。维护时间分为固定维护时间和临时维护时间,加上相关维护文案,用于控制逻辑通道自动上下线。到了维护开始时间后会自动下线,通道不可用,或者系统在维护时间内截留交易请求,等过了维护时间,再发起交易请求给通道方;到了维护结束时间后自动上线,恢复通道可用性。固定维护时间一般不需要设置日期,只需要设定具体时间点,默认每天在这个时间点进行维护。

  临时维护时间需要精确到秒级维度,具体什么日期的什么时间会发生,可以设置多条。

  在通道维护时,路由应用如下。

  支付通常都有备份或者次优通道,以保证交易的可用性。当某个逻辑通道处于维护状态时,会有以下两种情况。

  ·在逻辑通道处于维护状态时,同一支付品牌有备份通道。对于这类情况,将该维护通道设为不可用即可,路由到备份通道,不会影响交易。

  ·在逻辑通道处于维护状态时,同一支付品牌无备份通道。对于这类情况,维护通道无可用备份,那么有两种处理方式。

  第一,直接隐藏该支付品牌,因为它没有可用通道。隐藏的处理方式适合直接以卡BIN匹配银行的前台支付处理机制,不太适合前台展示品牌列表,用户选择具体支付品牌再进行支付的支付方式。由于隐藏后用户看不到支付品牌,所以也就不需要维护文案了,但是这会造成用户的困惑。比如工商银行信用卡维护,无备份通道,将其隐藏,用户会困感为什么这么主流的支付方式都不支持,或者【疑惑昨天还有的,怎么今天就消失了。这种方式的用户体验会不太好。

  第二,支付品牌还是正常展示,路由可以随机选择,可以输出通道正常时的最优选择,可以输出维护时间最短的逻辑通道对应的文案,还可以采用统一的维护文案。这样,用户选择该品牌或者进行卡BIN识别时,就会知道原来该品牌是在维护而不是不支持。

  根据以上描述,在只有基础路由的条件下,时序如图3所示。

  交易订单经过路由系统时,系统处理时序如下。

  1)支付平台上送交易信息,包括商户信息、行业、交易金额、交易类型、支付品牌、用户信息和卡号等参数。

  2)获取物理通道信息,包括通道是否关闭、通道支持行业、通道支持交易产品、通道支持交易类型、通道风险等级。

  3)匹配可用物理通道。根据交易请求参数和通道配置信息进行匹配筛选。

  4)筛选物理通道是否超限。根据匹配出的可用物理通道和是否有限额,查询计数服务通道是否超限,并筛掉已超限通道。

  5)筛选用户卡号在可用物理通道是否超限。根据用户信息及卡号查询用户在该物理通道和银行是否超限并筛掉已超限通道。

基础路由决策交易时序图

图3 基础路由决策交易时序图

  6)筛选可用逻辑通道。对于筛选出的最终符合限额规则的物理通道,根据配置行业、交易类型、单笔限额、通道是否关闭、卡要素等条件匹配对应的逻辑通道。

  7)筛选成本最低通道。假设命中多个逻辑通道,对可用通道成本进行计算并对比,筛选出成本最低通道。

  8)返回给交易平台命中通道及信息。路由服务返回最优通道的信息,如交易所需卡要素是什么。

  通过上述配置及应用,一个基础路由规则就完成了。基础路由是最基础的算法规则,根据条件匹配可用的逻辑通道,在可用逻辑通道中计算成本,输出成本最低通道。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入