如今,网上支付已经非常普遍,我们每天都使用快捷支付产品轻松转账。 那么,你了解其背后的支付渠道吗? 在这篇文章中,作者拆解了支付渠道和渠道路由。 我们来看看这篇文章的分析和整理。
这次给大家介绍的是支付三大黑匣子之一的“渠道与路由”(另外两个黑匣子是账户记账和结算)。
每天我们都使用微信、支付宝等轻松转账进行消费,但很少有人知道其背后的支付渠道选择。 面对众多的支付方式和资金来源,如何选择最佳的渠道成为一个难题,仿佛它是一个“黑匣子”。 今天,我就为大家揭开这个“黑匣子”的秘密。
1、支付渠道要求
建设支付渠道的目的和主要需求如下。
1、降低成本
大家都希望使用手续费低、支付效率高的渠道。 然而,由于支付渠道、开户银行、借记卡和信用卡类型以及不同开户银行的费率标准众多,显然需要一条可以动态计算的路线来匹配最优路线。 付款路径。
2、配置灵活
支付需求多种多样,需要支付渠道的支持。 例如,有的客户只使用廉价银行,有的渠道要求商户进口物品,有的支付产品只能是借记卡,不同渠道的维护周期经常发生变化。 这就需要灵活的配置管理来快速调整渠道策略。
3、快速释放
连接多个渠道后,同一个渠道可以通过简单的配置减少重复开发并快速发布上线,不仅节省了开发资源,还大大提高了渠道发布的效率。
4、支付稳定
支付是所有商业模式的重要组成部分。 如果用户下单后无法支付,那么之前的所有业务操作都将付之东流,所以必须有一个策略来保证支付的稳定性;
紧急切换:当支付通道出现异常时,系统自动切换至备用通道。 负载均衡:当某个通道过载时,系统提前将压力分配给其他通道,保证各个通道的高效利用。
以上两种方式自然需要自动完成切换,因为没有人愿意半夜起床切换频道。
2. 支付通道解决方案介绍 1. 为什么需要支付路由
为了提高跨行支付的转化率,交易平台和商户接入了大量的支付渠道,推出了一体化收银、二维码支付、刷脸支付等产品。 在高效支付和复杂渠道之间,渠道和路由协作成为关键。 他们精准筛选并匹配最佳支付渠道,确保跨行支付既快捷又经济。
图 1:聚合结账及其背后的复杂渠道
2、支付通道核心流程
要实现上述支付体验,支付平台和支付渠道需要协同并自动化整个支付流程,包括“订单数据串联、渠道服务调度、支付路由筛选、资金渠道管理、渠道接口适配、支付结果回调”等六道工序。
图2:通道路由的核心流程
1)订单数据串联
从整个场景来看,从用户下单到最终支付的环节比较长。 因此,为了保证整个数据流程的连通性,支付订单分为“交易订单”和“渠道订单”两部分。
交易订单:用于记录用户交易过程的信息。 渠道订单:关注开户银行的支付处理流程。
两条命令串联,分工明确,记录的信息更清晰、更完整。
2)通道服务调度
支付系统收到支付请求后,将交易订单转换为渠道订单并发送给渠道服务。 通道服务会像指挥官一样根据请求调度内部模块,如绑定卡、支付、退款、查询等,保证支付处理的高效完成。
3) 支付路径筛选
收到支付请求后,第一步就是寻找最优的支付渠道,这里就需要支付路由。 路由一般分为自动路由和手动路由两种模式;
自动路由:根据预先配置的规则动态计算最优路径。 这种类型比较适合渠道较多的持牌机构。 手动路由:此类路由也称为静态路由,是指提前为商户分配支付渠道,直接完成支付。 当然,切换需要手动访问。 这种方式多为一般企业、服务提供商和非持牌机构使用。
本文介绍的是复杂度比较高的自动路由。
4)资金渠道管理
支付路由筛选的“资金渠道”可以通过前期的开户银行、卡类型等简单筛选来选择。 然而,随着多银行、多机构、多级价格、渠道商进货等复杂因素的出现,资金渠道的管理变得复杂、难以管理。为了解决这一问题,有必要以资本渠道为基础,搭积木拓展渠道特色和航线筛选。
5)通道接口适配
选择资金渠道后,您需要调用银行接口完成付款。 这个过程涉及“界面转换、文件处理、加解密、网络安全”等个性化处理。 为了实现标准化,需要进行两项工作:“标准接口定义”和“渠道个性适配”:
① 标准接口定义:
它为不同的支付产品定义了标准的交互接口,消除了渠道之间的差异,让支付系统能够按照统一的规范接入各个渠道,减少因新渠道而频繁修改和重复开发。
② 频道个性适配:
需要人工开发,将各银行的接口和安全机制转换为渠道可识别的标准接口和现场信息,平衡个性化需求与人力投入之间的矛盾。
6)结果回调通知
支付交易需要实时,当通道处理量较大时可能会出现延迟。 为了保证及时性和准确性,采用回调机制:通道处理交易后,主动通知支付系统结果。 如果没有回调,可以开发定时查询功能,回调支付系统。 向用户展示支付结果,并发送短信等通知,确保用户了解状态。 这个过程是闭环的,提供了便捷高效的支付体验。
回调和异步通信:
回调是异步通信的一种实现方法。 简单来说,就像微信聊天一样。 你给对方发消息,对方不需要立即回复你。 完成后他会告诉你结果。
3. 支付方式及特点
支付系统应支持的支付产品基本涵盖了“存取款、认证”等主流在线支付方式。 其中比较大的一个家族就是“押金”支付产品,其功能也比较复杂。 见下图。
图3:支持的支付产品及渠道特点
这么多的产品功能集成在一起,如果我们能够快速过滤并找到它们呢? 这需要通道路由。
3. 通道路由规划
支付路由就是分解渠道特点,制定一套规则,实现灵活的路由。 因此,在讲路由之前,我们首先要分析一下通道的特征信息。
1、拆解渠道特点
图4:支付渠道特征信息
特性分析:
从上图拆解出来的支付通道特征有很多种。 如何管理如此多的功能并实现自动路由是一个非常大的挑战。 因此,我们将它们分为三级特征;
2. 路由过滤原理
图5:通道路由原理
1)路由因素分类
① 基本因素:
一次性支付路由由支付订单驱动。 当支付订单按照渠道标准转换为“渠道订单”时,支付渠道会从订单中解析出基本路由因素。 这些路由因素是基本的信道信息。
② 膨胀系数:
扩展因子是指信道的一些复杂特征或者后期不断添加的信道特征。 由于它们需要特殊处理,因此要经过两次筛选。 其中包括维护周期、交易限额、黑白名单等比较大的功能; 它还包括补充认证、退款限额、付款及时性等小功能。
③品质因数:
就是为用户提供最高效的支付渠道。 此类路由因子一般通过网关策略或定制开发来实现。
2)多级通道路由
通道采用多级路由。 这里我们介绍的是最典型的三级路由模式。
以上是标准的三级通道路由。 当然,如果你的通道特性非常丰富,你可以扩展更多的路由因素和处理规则,实现多级扩展。
3)选择执行通道
找到最终的支付通道后,您需要获取该通道对应的“通道接口”,组装通道消息并完成支付。
3. 路由因子参数说明
图6:路由因素及实现方法介绍
上图说明了路由因子的参数及参数结构。 可以看到既有枚举值,也有复杂的结构化数据。 固定枚举值可以通过可视化配置来实现。 对于不适合规则配置的结构化数据(如配额、维护周期、成本等),采用定制程序或路由脚本来实现。
4、渠道设计方案
基于“通道规划”和“路由规划”,我们来看看整个通道和路由系统是如何实现的。
1、渠道业务结构
图7:渠道业务结构
从业务架构图可以看出,渠道体系分为三层。
① 资金渠道管理:
这是通道模块的核心系统。 置于支付系统内部网络,与外部网络隔离,保证安全使用,不受攻击。 内部分为“通道服务、路由管理、资金通道、定时任务”。 “、基础服务”五项重要的渠道核心功能。
② 资金通道网关:
这部分是通道外的适配器,用于连接各银行的支付通道。 分为“通道接口和通道适配”。 要添加新的支付通道,必须在这里进行配置和开发。
通过资金通道网关,屏蔽不同通道之间的差异,为上层通道业务提供统一的接入处理。 此类部分模块放置在网络隔离区域,提供通过防火墙访问内部和外部网络的能力。
③ 外部支付渠道:
这里有需要连接和接入的银行、第三方、清算机构的支付渠道。
1)资金渠道管理
图8:资金渠道管理
① 渠道服务:
这是渠道对外提供的标准服务。 上层支付平台必须按照标准接口接入通道。 同时通道服务也是下游进程的调度者。 这里的通道服务支持“认证、预路由、充值、收款”等核心支付功能。
② 路由管理:
通道路由会接收支付服务请求,将支付请求的“订单信息”解析为“路由因子”,根据对应的规则模板进行多级路由,最终选择资金通道进行调用。
③ 资金渠道:
这里存储了每个接入通道的所有配置信息,以及与该通道相关的重要信息。 路由结果也是通过这里调用通道接口来完成最终的支付。
④ 预定任务:
这是资金通道的辅助功能,处理需要定期执行的支付结果查询、对账文件、批量任务等。
⑤ 基础服务:
这是资金通道业务层面的辅助功能,包括基础参数、卡Bin、合约信息、结果码、安全证书、缓存等的管理。
2)资金通道网关
图9:资金通道网关
资金通道网关不仅是对外接入的模块,而且还部署了新接入通道的二次开发模块。
频道接口:定义了标准的频道访问接口,屏蔽了不同频道之间的差异,方便上层频道管理人员统一管理频道。 渠道适配:是针对不同银行渠道的接口转换、安全加密处理、网络处理等各种渠道差异性进行二次开发。 因此,如果要添加新的频道,只需要在这里进行频道的接入开发即可。 回调网关:用于处理银行支付结果的回调请求。 2. 渠道用例模型
我们来看看这些功能是如何协同完成“渠道管理、支付路由、渠道调用”等支付处理的。
图 10:渠道用例模型
1)渠道服务
渠道服务提供统一的服务接口,并根据业务类型细分为七类功能,每类功能均可扩展。 存款功能中,支付方式细分为快递、网银、条码三类。 这些服务支持单个和批量接口处理,以及文件接口处理。
针对复杂的快速支付,通道服务提供了签名记录和卡仓管理两个辅助应用,用于快速签名过程中的银行卡验证和补充认证操作。
渠道服务的核心职责是将“支付订单”转化为“渠道订单”,实现内部数据流通。 这涉及将标准化信息传递到下游路由和通道模块以进行解析和支付处理。 通过这一机制,渠道服务保证了支付过程的高效、安全、顺畅。
2)通道路由
① 路线访问:
② 路由处理:
图 11:路由规则如何工作
通道路由通常使用规则引擎进行处理,这允许我们提前编写规则脚本。 当输入相关数据时,规则计算引擎将根据这些脚本进行计算并输出结果。
该结果可以是一个简单的值,例如特定的资金通道编号,也可以是包含多个资金通道编号和相应通道接口信息的更复杂的数据对象。
这种机制使得通道路由处理非常灵活。 计算结果可以直接调入支付通道或作为二次路由输入,持续过滤直至选择合适的通道。 如果不选择的话会报错。
3)渠道管理
通道管理包括接入通道的所有信息。 其核心是“资金渠道”的管理。 里面有我们一级路由所需要的主要基础信息,以及“维护周期、交易限额、扩容系数”等一些信息,可以根据业务增长和需求灵活扩容。
由此我们也可以知道为什么需要三级路由,因为我们在第一级路由中过滤的是通道表面的基本信息,第二级路由是过滤通道的扩展信息,第三级路由是对动态通道交易信息进行过滤。
4)通道网关
通过通道路由选择资金通道后,需要调用通道的接口。 通道接口调用分为两部分:标准化的“通道接口”和需要个性化开发的“接口适配”。 对于新增渠道,通过接口适配实现与系统的对接,保证支付流程的顺利进行。
这种机制既保证了接口的标准化和通用性,又考虑到了不同渠道的个性化需求,提高了支付系统的灵活性和可扩展性。
通道网关还有回调服务,之前已经介绍过,这里不再赘述。
3. 渠道数据模型
通道数据模型几乎直接映射到用例模型,所以我们从处理过程的角度来谈谈数据之间的关系。
图 12:通道 ER 模型
1)渠道管理
① 通道配置
建立资金渠道:
新接入的支付通道需要配置相应的“资金通道”,其中包括通道的基本特征信息,以保证通道能够正确识别和处理支付请求。
相关目标组织:
融资渠道创建后,需要与目标机构进行关联。 目标机构代表了支付产品对应的一组特定的银行信息,保证支付过程中银行信息的准确性。
相关扩展信息:
基本信息与目标机构关联后,扩展信息包括“支付限额、维护期限、结算信息、黑白名单等”。 需要与渠道关联,以满足不同的支付场景和运营需求。
② 通道接口配置
完成上述通道配置后,需要为通道配置相应的接口。 这些接口用于与支付通道进行交互,包括请求发送、结果接收等,保证信息的准确传输和处理。
③ 通道路由配置
仅通道配置不能立即使用。 必须根据模板配置通道对应的路由规则,然后发布这些路由规则。 然后就可以使用该通道了。
当然,这里的规则模板是为了方便配置根据不同支付方式提供的标准化模板。 这些模板可以是一个脚本,也可以是一组可视化配置界面,使发布渠道更加灵活。
2)网上交易
通道配置发布后,线上交易即可调用通道。
请求处理:首先,上层支付系统按照接口标准将“渠道支付订单”信息传输给渠道服务。 渠道路由:支付路由系统将渠道订单数据解析为“路由因子”,然后根据路由规则过滤渠道。 调用通道:选择通道后,调用相应的资金通道和接口,通过通道适配器完成接口转换,完成一笔线上交易的处理。
3)运营管理
渠道配置完成后,商户侧运营还需要配置商户产品和行业信息(MCC),包括微信、支付宝等支付产品,以及渠道行业和进货信息。
这样,商户就可以顺利使用支付产品和新发布的渠道。
5. 资金渠道交互设计
前面我们谈到了设计,但是整个支付渠道是什么样的呢? 接下来我们来介绍一下频道交互部分的设计。 由于支付产品种类较多,我们以相对复杂的快捷支付为例,介绍一下整体的交互流程。
1. 整体交互流程
图13:渠道交互整体流程
整个渠道交互围绕“资金渠道管理”展开,其整个处理流程与用例图和ER模型基本一致。
1)资金渠道管理:
以资金通道为核心页面,完成基本信息配置后,配置扩展相关信息,最后完成界面配置。
2)支付路由管理:
支付路由管理可以通过一组可视化的配置模板界面轻松配置各种路由规则。 这些路由配置界面可以根据不同的业务类型分为不同的模板,例如“快速路由配置”、“扫二维码路由配置”、“支付路由配置”等。
2. 频道功能列表
对于渠道相对丰富的持牌机构来说,需要支持的主要功能如下。
基本参数:系统存储的基本信息,需要提前配置。 资金渠道:渠道管理和路由所需的功能。 渠道运营:为商户端运营提供渠道相关功能。
图 14:通道功能列表
3、新的融资渠道
新的接入支付通道需要配置相应的资金通道信息。 配置资金通道时,还需要同步关联“目标机构、维护周期、通道限额、黑白名单、通道接口”等通道扩展信息。
图15:资金渠道管理
1)填写资金渠道信息
创建资金通道时,需要填写通道的基本信息以及常用通道特征和结算信息。 该基本信息可以包括最常用的通道路由信息。
图16:融资渠道基本情况
2)创建新的目标组织
创建资金通道后,您需要创建对应的目标机构,并将当前通道支持的开户行关联至该通道。 这样在支付路由时就可以获取当前渠道支持的银行。
图 17:创建目标组织
3)资金通道接口
创建资金通道和目标机构后,需要配置相应的通道接口,以便在选择路线时完成跨行支付。 界面采用标准化模板,提供参数配置以适应不同通道。 复杂的渠道可以通过单独开发的“接口适配”服务来处理支付。 标准化接口,减少定制工作量,加快渠道发布速度。
图18:通道界面维护
完成资金渠道和目标机构的创建后,最基本的资金渠道的配置就完成了。 但这些信息尚不能满足快捷支付产品复杂的功能需求,需要进行扩展通道功能的配置。
4)通道限制
快递产品的限制比较复杂。 不同银行根据卡类型设置不同的单笔交易和每日限额以及支付费用,因此这部分需要单独配置和管理。
图 19:渠道限制和成本
5)通道维护期
渠道也很多,每个渠道对应的开户银行也很多,所以不同的渠道、不同的银行往往会有需要设置的维护期(主要是快递、网银、支付产品)。 这部分信息由于更新频繁,需要经常维护。 还需要单独管理。
图20:通道维护周期设置
6)商户黑白名单
黑白名单是扩展功能,仅当渠道需要接入或限制指定商户时才需要配置。
① 白名单:
即只有列表内的商户才能使用; 现在支付渠道开始要求商户进行渠道导入,比如条码支付、商户端全渠道、商业委托扣款、新增收款等产品。 因此,您需要在通道上设置相应的白名单。 只有白名单上的商户才能使用这些渠道。
② 黑名单:
即名单上的商户不能使用该渠道或部分功能。 使用黑名单的原因有很多。 最常见的就是渠道价格调整后,部分商户的手续费和渠道成本发生了逆转。 因此,需要限制这些商户使用指定银行的银行卡产品。 如果商户支持银行和卡选择ALL,则表示该商户不允许使用该通道。
图21:通道黑白名单维护
4. 设置通道路由
1)通道路由管理
一组路由规则可以通过基本参数和扩展参数与多个通道关联。 每个路由规则还必须支持创建和修改等一系列管理功能。
不建议物理删除路由规则,直接删除会影响通道的稳定切换。 通过添加新规则,设置新旧规则的连接时间,可以实现稳定切换。
图22:通道路由管理
为了表达规则和通道之间的两级结构关系,在交互中使用了树形查询列表。 当然,不满足条件的小伙伴可以使用普通的列表查询。 但在交互体验方面,我们必须考虑如何展示规则与频道的关系,以及如何修改和编辑规则。
2)路由规则设置
路由规则的创建是通过嵌套“基础信息、规则组、路由规则、执行通道”来实现的。 是的,就是一个烧脑的“筑巢”。 这是因为相同类型的通道可以单独设置。
需要注意的是,并非所有规则都可以可视化配置。 路由规则配置主要涉及一级路由中固定值“基本因素”的配置。 动态计算的扩展因子和品质因子的处理需要定制开发。
当然,也可以提供脚本功能供配置人员使用,但这需要编程经验。
图23:快速路由规则设置
①基本信息:
是整个路由规则的基本信息,包括该规则何时生效以及内部嵌套规则组的创建等。
② 路由分组:
为什么要对路由规则进行分组? 目的是根据不同的特点来区分同类支付产品。 例如,它们也是快捷支付产品。 有的产品只要绑卡签收就可以使用,有的产品需要商户渠道进口商品,有的产品可以小额优惠。
如此多的功能显然需要不同的路由规则来描述,因此需要设置不同的组。
③ 路由规则:
④ 执行渠道:
最后,您需要配置规则对应的执行通道,以便规则能够正常工作。 需要注意的是,同一套规则会选择一个或多个通道,因此需要支持多个通道和接口的设置。
您可能会问,多个渠道应该使用哪个? 实际上,路由配置是第一级路由的处理。 最终的热门渠道是由技术级别的内部处理确定的。
3)多组路由规则
一个路由规则可以设置多个子路由规则组,如下图所示。 一般快速付款规则包括所有快速付款方法,例如“协议付款,无卡付款,商人方面,无密码”等。这是通过分组实现的。
图24:快速付款的多组规则
例如,图中的规则组1是一组通用支付渠道的规则,例如协议付款和无卡付款。 商人侧需要设置一个单独的规则组,因为它需要从通道侧输入才能使用。 由于的无密码付款在1,000元以下的折扣中享受折扣,因此还提供了规则组。
6.付款渠道摘要
本文介绍的付款渠道设计相对复杂且大。 对于有执照的机构,该模型更实用。 无授权的机构可以根据此模型进行适当的裁缝。
本文主要根据快速付款产品方案介绍。 条形码付款,在线银行付款和付款产品也适用。 本文受到长度的限制,不会进一步引入它。 学生可以自己根据这种模型进行扩展。