暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

支付路由设计

Alleria Windrunner 2021-02-14
1004
前面几篇我们已经介绍了支付系统相关的基础概念和系统设计知识,包括以下这些:
  • 整体架构

  • 支付产品服务的设计

  • 剖析快捷支付的产品流程

  • 支付系统的绑卡设计

  • 支付系统的银行卡支付

  • 支付系统的应用内支付

  • 支付系统的账户模型

  • 支付系统的对账处理



在介绍支付路由设计之前我们需要先解释以下几个名词:
  • 支付方式

  • 支付应用

  • 支付路由

  • 支付接口

  • 支付通道

  • 支付产品


支付方式是指用户消费时付款的方式,比如现金支付、银行汇款、货到付款、信用卡支付、借记卡支付、扫码支付等等。
支付应用又是指什么呢?简单来说,支付应用就是对支付方式的包装,比如扫码收银、POS支付、生活缴费、话费充值等等。
那么在支付应用中,哪些支付方式该呈现出来呢?以什么样的方式或者顺序呈现呢?在支付系统中这是通过支付路由来实现的。支付路由是指根据用户选择的支付方式,结合费率等因素,选择合适的银行或者其他公司提供的支付接口来完成资金转移操作。
然后通过支付路由,我们可以定位到一个落地来执行的支付接口,这个接口一般是用来执行支付的银行接口。这里需要注意,对于同一家银行,除了总行可以提供一个接口,各地的分行也可以提供这个接口。但一般来说,同一家银行的接口规范是一样的,不同的是提供接口的服务器、费率、性能等。
支付通道是对支付接口的一个封装,包含合作银行以及通道成本、商户费率、QOS等信息。
最后是支付产品,银行和第三方支付公司提供给电商公司使用的接口,往往都会封装成支付产品。支付产品指将支付通道打包成满足某特定支付场景需求的商品,比如信用卡快捷等等。
以上我们把涉及到的一些概念都解释了一遍。总的来说,支付系统是把支付通道提供的“支付产品”使用支付路由来封装成业务需要的“支付产品”。这就是支付的核心流程,而支付路由在里面起承上启下的作用。


设计目标

支付路由在支付系统中的核心作用,除了本质工作路由之外,还承担着以下职责:

  1. 省钱,这是支付路由选择支付通道的基准原则。
  2. 提升支付产品的QOS,主要体现在系统的可靠性、稳定性、性能和可用性上。通过屏蔽掉无法连接、不稳定、性能低的通道来提升这些指标。
  3. 增长,通过优先选择有优惠活动的通道,可以帮助业务提升付费客户量。

路由因子

路由规则是支付路由的核心。在规则设置上,需要和公司的业务、支付服务的scope来综合考虑。下面介绍一些通用的规则设计:

  • 产品类型
  • 费率
  • 营销策略
  • 交易限额
  • 渠道类型
  • 卡类型
  • QOS
  • 资金头寸
  • 到账时效
  • 商户类型

首先路由时需要考虑到渠道可以支持的支付产品。然后费率路由最重要的一个指标。一般银行是按照额度来收费,部分是按照交易笔数来收费,复杂点的是阶梯收费,比如10万一个费率档次,100万为一个费率档次。然后是营销策略,银行、第三方支付为了延揽客户,经常也会提供一个补贴给对接的商户,对于使用该渠道的交易进行补贴。交易限额,不同的通道会限制每次交易的金额上限,以及针对每个账户每天的额度限制。超过这个额度,需要变换通道。卡类型指通道支持的信用卡或者借记卡。QOS表示掉单率、网络延迟以及接口能支持的TPS,这是路由的一个重要衡量因素。接着是资金头寸是电商公司在银行或者第三方支付平台的资金头寸,如果资金头寸不足,则不能使用这个通道来执行。到账时效表示资金什么时候到目标账户上,也是影响路由选择的一个因素。最后是商户类型,不同类型的商户可以选择不同的通道,比如高性能、费率低的通道,预留给高级的商户。


路由计算

上面我们介绍了路由因子,那么基于上面这些因子我们需要做路由计算确定最后的支付通道,关于支付路由的计算分为以下几类:

  • 人工路由
  • 基于规则的路由
  • 基于权重的路由


大部分的支付系统在接入渠道不多时,人工路由也是一个不错的选择。运营人员制定支付渠道和产品之间的映射关系。出问题时人工切换即可。这种路由的优势是性能高,路由结果可控,出问题时易于排查。但是当接入通道数量增加,营销活动频繁时,人工路由会是一个巨大的投入,这是人工路由的缺点。

而规则路由是一种相对比较简单的自动路由设计。按照业务要求设置各种路由规则,比如:

    if(支付方式 == 浦发银行卡) {
    ...
    }

    技术上面我们可以通过规则引擎来实现业务。


    最后是基于权重的路由设计,上面规则路由的难点在于各种规则的维护,在路由因子增多的情况下,规则的维护会是一个噩梦。基于权重的路由则可以缓解这个问题,这种计算方式,简单说,就是对各个通道打分,分数最高的就命中。难点在于制定打分的标准以及计算公式。比如可以从费率、优惠额度、QOS和使用率角度来评分,给优惠额度高一点的比重 ,这回倒置搞优惠额度的通道优先被命中。注意每个维度上的计算公司也不是一成不变的,比如使用率和QOS都是动态打分计算。权重的调整是一个挑战,需要在运行过程中不断的调试。

    总的来说,路由是支付的核心模块,稳定性是第一要素,其次是性能,最后才是费率的问题。路由系统的设计,需要和公司业务发展保持一致,并适度超前。

    文章转载自Alleria Windrunner,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论