相信大家见过很多国内的支付路由的设计文章,很高级,也符合国内存在的渠道的特色和业务的需求。所以,此文也是借鉴我在国内的所见所闻、自己以往搭建支付路由的经验,再结合目前非洲市场上对接的主流渠道来进行介绍和说明非洲支付路由的特色设计。
支付路由产品设计
路由在支付架构的定位
如下 支付业务架构图,是一个普适性的设计。很多自己的公司有支付系统有自身的特点,都是万变不离其宗,形变神不变。其中与路由相关的几个模块,更是不缺缺省的部分,上层发起方:支付API;中层处理方式:交易管理、路由管理;下次执行方:渠道管理;
支付API:这里只是一个发起方的举例,以非洲支付的银行卡支付方式为例说明;(非洲主要是银行卡可以扣款,但不能收款;银行账号既可以扣款也可以收款)
交易管理:这里是支付平台的标准交易服务处理层,以非洲支付的银行卡,交易逻辑一般会有:交易的拆单、交易的重试、交易的状态处理、交易的账务处理、交易的风控流程、交易的路由流程等等
路由管理:它的职责是负责根据交易模块要干的事情,去选择一个最优的渠道后,告知交易模块去走这个渠道完成渠道的对接工作
渠道管理:它的职责是负责与一个一个渠道的对接和信息交换等处理
交易、路由、渠道三责之间的关联关系
① 交易中心向路由中心请求帮忙选一个合适的渠道(路由中心就和房屋中介一样)
②路由中心根据交易中心(客户)给的一些需求参数,去自己的路由库中筛选出合适的渠道(一个或者多个房源的介绍)
③交易中心(客户)看看这些推荐渠道清单(房源)后,选择了其中一个渠道(一般选择排名第一的渠道,房子)去请求向此渠道发起交易处理(看房、验房、缴费、过户、贷款等等)
④ 交易中心(客户)与渠道的处理状态(房子交易处理过程的状态)保持一定频率和机制的同步
设计目标
渠道管理
定义渠道、维护渠道的基本属性、并在渠道网关完成渠道的对接;渠道生产后有对应渠道的备付金账号内部户自动生成;主要属性:渠道名称、渠道编号、渠道状态、渠道手续费等与渠道相关的基础信息维护。
智能路由
总体方案
E-R图
业务流程图举例
权重算法推荐
在智能路由设计过程中,我们发现在优先级、成本、及时性指标都相同的情况下,为了分流到两个不同的渠道中,我们分部设置了A渠道30%的权重,B渠道70%的权重时,有一个很奇怪的现象:
我们采用随机数1~100的随机数的算法,会随机出现一段时间接近30%的交易都进入了A,或者一段时间接近70%的交易都进入了B渠道;
这肯定不是我们想要的,我们希望这些叫被随机分配的时候是均衡的,即时在短时间、交易量小的情况下,能合理的照顾到所有的渠道,满足一定的离散分布的概率;
然后,我们使用的算法是:权轮询算法,请参考https://www.cnblogs.com/markcd/p/8456870.html
总结(写在最后)
没有真正的智能路由,更多的是“人工”智能。我们在设计的时候,要考虑到两点:
1.人为干预的操作维护是便利和清晰的;
2.记得加渠道路由监控、加渠道路由监控、加渠道路由监控 重要的事情说三遍;