图解支付系统的渠道路由设计
渠道路由是引导流量路径的关键,其设计至关重要。本文详解渠道路由概念、必要性及形态,并分享一个高效实用的基于规则的渠道路由设计方案。
注:有些公司称渠道为通道,都是一个意思,为方便起见,本文统称为渠道。
1. 一些背景知识
支付公司常将支付方式、渠道咨询及路由混同处理,虽简便但扩展受限。为提高扩展性,我们将以最佳拆分方式深入解析,助力支付体系高效运作。
下面是三者之间的简单关系图:
说明:
- 支付方式咨询:根据用户的请求,组装可用支付方式列表返回给用户。由收银域提供服务。
- 渠道咨询服务,快速响应用户需求,智能组装渠道列表及属性,收银域高效转换支付方式,为用户提供便捷支付选择。全程由渠道网关精准服务,确保流程顺畅无阻。
- 渠道路由:当有多个渠道可用时,选择出最优的一个渠道。由渠道网关提供服务。
再详细一点,如下:
支付方式咨询,专业服务,为您解答支付难题。无论余额、招行借记卡,还是招行信用卡,我们都提供详尽指导。注意,虚拟商品不支持信用卡哦。选择适合的支付方式,轻松购物,无忧支付。
渠道咨询优化:当招行借记卡因维护无法使用,系统智能识别并设为不可用状态,收银界面的相关支付方式将自动置灰,确保支付流程顺畅无阻。
渠道路由,智能筛选最优支付路径。综合考量支付成功率、成本、用户体验及渠道状态,确保每笔交易都通过最佳渠道完成。
2. 渠道路由核心作用
渠道路由核心在于优选渠道,当多渠道满足业务需求时,综合考虑支付成功率、成本、用户体验及渠道状态,确保选择最优解。
- 优化支付成功率至关重要:精准选择支付渠道,显著提升交易成功率,减少用户流失。不同渠道风险偏好各异,同一请求可能在A渠道失败,却在B渠道畅通无阻。
- 精算成本,智选渠道!合理规划支付路由,有效降低费用。利用阶梯收费政策,巧妙分流,确保整体成本最优化,为您的支付流程带来更大经济效益。
- 优化支付体验,确保快速稳定,能显著提升用户满意度与忠诚度。用户在A渠道支付习惯后,新请求继续选择A渠道,支付成功率显著增高。
举几个渠道路由应用的小场景:
- 招行信用卡支付时,平台对接网联与银联,均支持招行卡。为确保支付顺畅,系统将智能选择最优渠道进行交易处理。
- 做实名认证,平台对接了多个实名认证通道,通过渠道路由挑选一个认证渠道。
由上面可以看到,除了支付路由外,还可能有信息类渠道路由,比如实名认证类。
退款路径是否存在?当前显示无。银联支付需通过银联退款,特殊渠道如支付宝,因其闭环支付特性,无需额外路由,退款亦在支付宝内进行。
3. 渠道路由的设计原则
渠道路由作为支付系统的核心模块,需要满足以下几个设计原则:
- 灵活性高:路由规则支持动态调整,既可满足成本优化的业务需求,又能轻松应对成功率优先的场景,全面适应多变的业务需求。
- 扩展性强是系统设计的关键,需预留空间以应对未来新增支付渠道和决策因子,保持代码的灵活性,确保系统能轻松适应未来发展需求。
- 高可用性路由系统,即便在高并发或故障情境下,也能稳定运行,即使内部发生错误,亦可迅速提供一条有效通道,确保服务不中断。
- 性能:在保证准确性的前提下,路由决策需要快速,不能成为支付流程的瓶颈。
4. 业界常见的几种路由形态
根据业务的需要,通常有以下几种路由形态:
- 项目初期,为迅速推进并确保支付流程顺畅,我们采用硬编码方式,直接在代码中设定选取首个选项,以适应初期渠道有限的情况。
- 基于规则的路由。通过预定义的规则提高灵活性和可扩展性。
- 智能路由。利用机器学习和大数据分析,根据历史数据和实时状态,智能地选择最佳渠道。
5. 一种典型的基于规则的渠道路由设计
渠道路由设计常基于规则,即条件匹配则执行相应分流逻辑。例如,支付平台对接网联与银联,招行信用卡全走网联,工行信用卡小额走网联,大额则转至银联,实现精准路由。
5.1. 核心流程设计
说明:
- 先进行唯一渠道判断,如果只有一条渠道,直接返回。
- 判断规则,如果规则没有命中,那就从可用渠道中随机挑选一条。
- 如果命中规则,再根据规则中的分流逻辑进行分流。
- 最后返回唯一的一条渠道。
5.2. 分流算法设计
如果一个请求既可以走银联,也可以走网联,还可以走直连,有以下几种情况:
- 没有命中任何一条规则,随机选择一条渠道。
- 有多条规则可以命中,选择优先级最高的。
- 路由规则中,银联、网联各占40%,直连占20%,实现智能分流。若银联服务中断,其流量将按比例自动分配至网联与直连,确保系统稳定。
分流算法通常将各渠道比例转换为0-100的数值并排序,然后根据用户ID、请求单号取模或生成的随机数,确定数值所属区间,从而选定相应的渠道。这种方法能精准匹配渠道,提升营销效率。
伪代码如下:
根据您的需求,优化后的文案如下:
通过对用户ID、请求单号进行取模运算,或者直接生成一个随机数,我们可以得到一个初始值random。随后,我们遍历分流集合,通过递减random并与集合中每个元素的值进行比较。一旦random减至小于或等于零,即确定命中的分流渠道。这一算法确保了流量分配的公正性和效率。
5.3. 路由规则配置模型
说明:
- 路由规则决定规则引擎运算是否匹配,核心要素为:ID、类型、表达式、优先级。公司可根据内部需求灵活添加字段。
- 规则ID:用于分流配置做关联;
- 规则类型:用于区分支付、实名认证等。
- 规则表达式:用于规则引擎运算;
- 优先级:用于排序,如果有多个规则都符合,以优先级最高的为准;
- 分流配置用于规则命中后,如何进行分流。核心字段包括:规则ID、渠道名、分流比例。
- 规则ID:用于与路由规则进行关联。
- 渠道名:表示要分流去的渠道。
- 分流比例:说明有多少流量要分过去。
- 决策因子定义用于决策的条件。比如卡BIN,卡品牌,金额等。
5.4. 规则引擎选择
业务规则引擎多样,如Drools等知名工具,亦支持自研。企业可根据技术生态灵活选择,实现高效业务管理。
强烈推荐QlExpress,其路由规则简洁实用,无需复杂运算和繁重规则引擎,轻松应对各类需求,高效又便捷。
关于QlExpress的资料,可参考官网介绍。
后面会有QlExpress的规则示例。
5.5. 决策子选择
决策因子就是路由规则匹配的条件,一般有以下几种:
- 金额:比如小于某个金额,或大于某个金额。
- 卡品牌:VISA、MASTER、UPAY等。
- 发卡行:CMB、ICBC等。
- 卡类型:借记卡、信用卡等。
- 卡BIN:某个号段的卡。
- 业务场景字段:各公司自定,比如线下场景,线上场景等。
5.6. 路由规则示例
假设:支付平台对接了网联和银联,要求:
1)招行信用卡全部走网联。
2)工行信用卡500块以内(不包含)的40%走网联,60%走银联。
3)工行信用卡500块以上的走银联。
一些基本的变量定义:
银行名称:bankName
支付方式:paymentMethod
卡类型:cardType
金额变量:amount
网联:NUCC
银联:UPAY
招行:CMB
工行:ICBC
定义规则:
- 使用信用卡支付时,若指定支付方式为“card”,信用卡类型为“credit”,且银行名称为“CMB”,则满足支付规则。
分流:NUCC:100
- 规则优化:当支付方式选择信用卡(paymentMethod='card'),且卡类型为信用卡(cardType='credit'),银行名为工商银行(bankName='ICBC')时,交易金额需小于500元。
分流:NUCC:40,UPAY:60
- 优化后文案:支付规则简化版:当选择信用卡作为支付方式,且信用卡类型为贷记卡、所属银行为工商银行,并且支付金额达到或超过500元时,满足支付条件。
分流:UPAY:100
5.7. 界面配置示例
说明:
- 后台保存规则精简明确:当支付方式为信用卡(card)、卡类型为贷记卡(credit)、银行名为工商银行(ICBC),且金额小于500元时,自动分流处理。具体分流比例为NUCC占40%,UPAY占60%,确保交易高效安全。
- 决策所需的元数据需预先设定,明确各字段运算规则,如开户行字段不适用大于或等于等运算,以确保决策精准无误。
5.8. 一些调优思路
- 优先选用用户近期支付成功的渠道,如银联或网联,可提升支付成功率。若用户五天内通过银联成功支付,建议再次选择银联,因为根据渠道风控原则,先前成功的支付渠道更有可能再次成功,除非用户余额不足。这种策略有助于提升用户体验和交易效率。
- 采用用户ID进行伪随机分流,而非订单号或纯随机。此举确保同一用户更可能进入同一渠道,显著提升成功率和用户体验。
- 适当使用缓存,以提高运算速度。
6. 加入自动化开关的渠道路由
外部渠道服务常现不稳,我们采用自动化开关模块,实时监控支付结果,动态评估渠道状态。一旦渠道异常,系统将自动关闭问题渠道,并即时通知渠道路由,确保支付流程顺畅无阻。
说明:
- 自动化开关模块实时监控支付结果,每秒评估渠道状态,一旦异常则自动关闭,并即时通知渠道路由处理结果,确保支付流程顺畅无阻。
- 渠道关闭后,再发起探测服务,探测成功后,灰度打开渠道。
下图为渠道自动化开关示意图。其基于滑动时间窗口算法,利用多种技术手段实现。具体执行可采用时序数据库,或通过redis自主实现。简洁高效,轻松掌控渠道自动化。
说明:
- 初始是完成打开。
- 指定时间内全部失败或指定时间内成功率低于阀值,关闭渠道。
- 指定时间后,发起查询,如果查询渠道失败,持续关闭。
- 如果查询成功,就灰度打开,如果灰度打开后的成功率不满足要求,就继续关闭。
- 如果灰度打开后的成功率满足要求,就持续加大灰度,直到完成打开。
后面会单独起一篇文章来讲自动化渠道开关的设计与实现。
7. 高阶的智能路由
顶尖企业运用先进算法和机器学习技术,实现智能路由优化。这种智能路由不仅基于传统路由规则,更融入实时请求参数、渠道数据,综合考虑成功率、成本、用户习惯及地域等多维度,精准计算出最优渠道,确保高效传输。
这个方案有几个难题不好解决。
首先是公司实力足够强。有人才来做算法,且这些算法同学需要懂一点业务;
智能路由调参难题待解:业务场景多变,或追求成功率,或侧重成本控制。如何实现智能路由参数调整,以满足不同业务需求?
我强烈推荐【规则路由+离线数据分析】方案。离线数据分析平台通过算法精准分析影响因子,辅助决策,优化路由规则,助力业务成功。
说明:
- 通过分析数据,找到影响成功率成本的因子。
- 更新路由规则。
- 重复第1步。
8. 结束语
渠道路由是现代支付系统的核心,高效灵活的设计能显著提升支付成功率,降低成本,并优化用户体验。本文旨在为实际项目中的渠道路由设计与实现提供宝贵参考,助力支付系统性能飞跃。
-对此,您有什么看法见解?-
-欢迎在评论区留言探讨和分享。-