在支付系统中,支付路由是重要的组成部分。本文作者从自身工作经验出发,分享了关于支付路由设计的相关经验,希望能帮助新人快速理解。
背景
近期在回顾以前工作项目历程的时候,我突然有感于初次做支付路由系统,对于支付路由毫无概念,同时网上资料十分匮乏,也遇到过一系列的坑,甚是十分苦恼。因此我决定将所积累的经验知识分享出来,希望可以帮助新人快速理解。
一、支付路由是什么?
基础概念:
在支付系统中,支付公司通常会给商户提供多种支付方式,而每一种支付方式,对于支付公司而言,都会接入对应的支付渠道;
支付方式:
即我们常用的个人网银支付、企业网银支付、微信支付、支付宝支付、快捷支付、无卡支付等。
支付渠道:
即支付机构背后会接入多种上游银行渠道,如各地区银联、网联等,在断直连之前还会接入建设银行、农业银行等。也就是说支持一种支付方式,背后有很多的支付渠道
而支付路由,就是根据用户所选择的支付方式(如个人网银支付)之后,支付机构通过提前配置好一系列的“规则引擎”,最后在众多支持的支付渠道后面,万里挑一选出当前更优的一条支付渠道。而这种规则引擎就是一种路由机制。
二、支付路由的价值
作为一家支付机构,其主要是给商户提供稳定、便捷的支付通道服务。因此每一家支付机构往往会接入多家支付渠道,从而避免某个支付渠道出现故障,降低用户支付体验。
那么尤其是“断直连”之前,支付公司背后的支付渠道能力参差不齐,每一家支付渠道支持的服务能力、支持的支付方式,稳定性以及价格成本均会不一样,具体表现如下:
稳定高的支付渠道,渠道价格会很高,同时支持的支付方式也不一定全价格便宜的支付渠道,要么系统稳定性不足;价格适中的支付渠道,有些支持的银行少,甚至支持的各个银行互不相同;稳定性适中,服务态度较好的支付渠道,也有很多支付方式不支持;基于以上,支付机构就需要全面考虑好去设计一套支付路由系统了,而支付路由的价值也将体现在以下几点:
保证渠道多样性;提高综合服务能力;提供多银行渠道;保证用户体验,在支付渠道出问题时,将用户损伤降低最小,保证对外的用户体验一致性;降低渠道成本,间接提高收入;方便运营操作,降低人工操作成本,提供运营工作效率三、支付路由怎么设计的?
那么要解决以上问题,就需要考虑支付路由应该怎么设计了,其实主要分为两个大的层面:① 通用路由层面。即绝大部分路由的规则是怎样的;② 单独模板路由;个别特殊的路由规则。
通用路由层面:即这种路由规则是属于通用的,对所有商家都生效。举例:默认交易金额为1000元以内,则优先选择支付渠道A;单独模板路由:即某一些商户背后的支付路由与通用的不一样;比如通用的订单交易金额1000元以内,选择支付渠道A,但是对于商户b而言,其优先选择支付渠道为B;接下来分别解析 通用路由设计 和 单独模板路由 的设计思路
1. 通用路由设计
要做好支付路由的设计,我们需要特别关注路由的两端:商户侧、渠道侧。其中商户侧属于路由的输入端,主要判断能传来哪些有效信息;而渠道侧则是输出端,只要判断最终可筛选的支付渠道有哪些;
那么以亲身打造的网银支付路由为例:
商户侧:
支付时间、商户编号、支付金额、支付银行(建设银行、农业银行这种);
卡类型(借记卡、信用卡),支付方式(个人网银/企业网银)
渠道侧:
支持银行;支持银行卡类型(只支持纯借记卡、借贷混合都支持);
稳定性(没法在系统配置);渠道成本(单笔、阶梯价)
(1)1. 初步满足符合当前条件的支付渠道:
支持当前支付银行的渠道;支持当前卡类型的渠道;订单金额在限额范围以内的渠道;(2)再根据优先级判断。由于通过以上条件过滤之后,那么所选出的支付渠道均符合要求,那么就需要在已有的数据中进行设定优先级权重:
优先级数字越大,表示权重越大,即 更先判断;优先级数字一样大,表示权重相同,则 随机选择支付渠道;通过以上两个条件将筛选出只有一条支付渠道,而这条即为更优支付渠道;
如下示例所示:符合支付请求参数条件的渠道,只有A、C、D,但是最终将选择更优的支付渠道为A,因为通过优先级的判断条件支付渠道A更优;
2. 单独模板路由设计
当然凡是都有意外情况,并不是所有商户都适用于通用路由规则。在实际的运营过程中,我们对某一些商户单独配置特殊的路由规则,因此单独模板的路由规则应运而生。适用的场景:如果符合条件的支付渠道有A,C,D,正常情况下运营会希望优先选择渠道A ,因为该渠道比较便宜;但是针对于商户c,我们希望是以用户体验为主,所以尽管支付渠道C更贵,但还是希望优先选择渠道C而不是A;
对于这种情况,我们可以通过给商户c配置单独模板,模板里面的支付渠道是C即可,这样在整体的判断逻辑将所有调整:
优先判断是否有单独模板路由;有单独模板则先判断模板里面是否符合条件的渠道,有的话则取优先级更高的一条支付渠道;单独模板无可用渠道,则判断是否需要进行通用路由;需要的话则走通用路由选择渠道,否则的话提示“无可用的渠道”。四、延伸思考
1. 产品方案思考
当初做支付路由的时候,缺乏参考性,导致我对最初路由思考的非常复杂,甚至把自动化切换机制考虑进去了;例如当用户请求失败超过X次的时候,则自动关闭该渠道,同时切换其他支付渠道;
从现在来看,不能说以前的想法完全错,但至少没考虑实现成本,至少是不符合ROI的。因此顺便延伸出我对产品方案的思考:一个好的产品方案首先必须是能解决当前问的是,也必须是简单的,最重要的是要符合投入产出比的。
2. 排序功能
近期我梳理电商平台人工置顶商品排序的问题,由于需要支持一次性置顶多个商品以及可调整排序的需求,我一时间竟没有想到好的方案比较苦恼;而通过回顾以前的产品设计,温故而知新,突然发现只需将“优先级”概念运用到置顶排序就可以解决排序冲突的问题。
结语
俗话说,万事开头难,无论我们是新进职场,还是切入新领域,在我们打造之一个项目或者产品的时候都会比较煎熬,总有点不知所措。但只要我们在这个过程中多思考一点、多忍受煎熬一点,同时也要敢于请教,不怕批评,最终“拨开云雾见天日,守得云开见月明”,我们所获得的成长也会是巨大的。
以上就是什么是支付路由(分享关于支付路由设计的相关经验)的相关内容了,更多精彩内容请关注科猫号SEO专员!
Hackernews 编译,转载请注明出处: 研究员发现,黑客滥用高影响反射/放大方法,实施长达14小时的持续分布式拒绝服务攻击,放大率达到了破纪录的4294967296倍。 这种攻击载体被称为 TP240PhoneHome (CVE-2022-26143) ,已经被武器化,可以...
在俄罗斯对乌克兰采取军事行动的几个月前,一队美国人在乌克兰各地寻找一种非常特殊的威胁。据悉,其中一些小组成员是美国陆军网络司令部的士兵,其他人则是民用承包商和一些美国公司的雇员,他们帮助保护关键基础设施免受俄罗斯机构对乌克兰采取的网络攻击。 自2015年乌克兰电网遭遇网络攻击进而导致基辅部分地区停...
近期谷歌发布了Android的5月安全补丁的第二部分,其中包括对积极利用的Linux内核漏洞的修复。该漏洞编号为CVE-2021-22600,是Linux内核中的一个权限提升漏洞,威胁者可以通过本地访问来利用该漏洞。由于Android使用修改后的Linux内核,因此该漏洞也会影响操作系统。 谷歌的...
在今天发布的安全公告中,微软安全团队发现了一个大规模的活动:利用类似主机的基础设施向网络犯罪团伙提供钓鱼服务。该服务被称为 BulletProofLink、BulletProftLink 或 Anthrax,目前在地下网络犯罪论坛上进行宣传。微软称这项服务为“钓鱼即服务”(Phishing-as-a...
微软披露其已经缓解了一场发生于8月份的2.4Tbps分布式拒绝服务(DDoS)攻击。这次攻击针对欧洲的一个Azure客户,比微软在2020年记录的最高攻击带宽量高出140%。它也超过了之前最大的攻击2.3Tbps的峰值流量,这是在去年针对亚马逊网络服务的攻击。 微软表示,这次攻击持续了10多分钟,...
随着勒索软件和世界各地其他网络攻击的增加,系统运营商更加担心复杂的 “虚假数据注入 “攻击,即黑客向其提供虚假的数据,欺骗电脑系统和人员,使其认为操作正常。然后,攻击者扰乱了工厂关键机器的功能,导致其运行不良或故障。当安全人员意识到他们被欺骗时,为时已晚,造成了灾难性的后果。 普渡大学的Hany A...