金融疆界:在线支付系统渠道网关的创新设计(一)

news2024/9/25 20:44:26

这是《百图解码支付系统设计与实现》专栏系列文章中的第(11.1)篇。点击上方关注,深入了解支付系统的方方面面。

整个渠道网关的内容预计会分成5篇来讲:1)定位、术语、概要设计。2)领域模型、状态机设计。3)报文网关。4)文件网关。5)常见差异处理。

本篇是其中的第1篇。主要讲清楚什么是渠道,有哪些类型的渠道,什么是渠道网关,渠道网关在支付系统中定位、核心功能、常见渠道类型、渠道网关的产品架构、系统架构等。

1. 前言

数字经济持续高歌猛进,支付系统每年数十万亿规模的交易额全部都需要和银行打交道,毕竟钱都在银行账户里。支付系统如何安全高效地和银行交互,准确无误地把钱从一个账户搬到另一个账户?答案就是渠道网关。

渠道网关是一个幕后英雄,终端用户是无法感知的,这个金融界的多面手,搭建起了用户、支付系统、银行、外汇机构间的桥梁。

今天我们将走进渠道网关的世界,揭秘它是如何长袖善舞,把各位高富帅和白富美的钱准确无误地从银行间账户搬来搬去。

2. 渠道网关在支付系统中的定位

从图中,我们可以看到,所有外部金融机构(渠道)打交道,全部都要通过渠道网关出去。不同的公司有不同的叫法,比如:渠道网关,金融网关等,本质就是一个意思。个人认为叫渠道网关更直白。

渠道网关的核心能力可以参考“4.渠道网关的产品架构”。

3. 常见渠道类型

渠道类型在各个公司的定义是不一样的,没有一个行业标准,且持续在发展。先讲几个当前仍然通用的分类。

3.1. 渠道分类

从资金流转的角度,渠道分为三大类:

3.1.1. 支付类渠道

这类渠道的核心作用是实现用户资金的流入。具体来说,它们将用户在银行账户中的资金转移到支付平台在银行的备付金账户。这个过程在我们日常生活中极为常见,典型的场景包括用户的充值操作和在线支付。例如,当你使用手机应用进行购物支付时,资金从你的银行账户流向商家的账户,就是通过这类渠道完成的。

3.1.2. 流出类渠道

相对于资金的流入,流出类渠道则处理资金的流出。这包括两种主要情形:一是将支付平台的备付金转移至用户个人或商户的银行账户,常见于用户提现或商户收款的场景;二是将资金从一个备付金账户转移到另一个,通常用于支付平台内部的资金流动性调配。这类渠道确保了资金在用户和商户之间的顺畅流动,是整个支付系统的重要支撑。

3.1.3. 外汇渠道

这类渠道涉及货币兑换和跨国资金转移,支持不同货币间的转换和结算。在跨境电商、国际旅游等场景中,外汇渠道提供了资金转换和结算的关键服务。随着全球化贸易的增长,跨境支付需求日益增加,外汇渠道的作用变得更加重要。

3.2. 支付类渠道

随着业务和技术的发展,支付类的渠道定义也是千奇百怪,或者说是与时俱进。下面是个人见解,仅供参考。

3.2.1. 卡

借记卡/信用卡支付:这是最传统且广泛使用的支付方式之一。用户通过输入卡信息进行支付,资金直接从其银行账户扣除。其中信用卡还有预授权、请款,2D、3D等场景。

还有所谓的预付卡,就是提前充值的支付卡,用户支付时,资金从预付卡余额中扣除。这个在支付平台一般不感知。

国外的信用卡普遍使用得比较多。

先绑定后使用token支付模式:

支付流程和明文支付差不多,只是发给渠道时发token,而不是卡明文。

卡的交易有所谓的四方模式:商户、收单行、卡组、发卡行。这里的四方指的是四种类型的机构。

3.2.2. 网银

通过跳转到银行网站完成支付。这个操作麻烦,成功率不高,在中国已经很少使用。国外还有不少。

3.2.3. 快捷支付

用户事先在支付平台绑定银行卡,支付时无需重复输入卡信息,便捷快速。这个是率先被支付宝发明出来的。

国外有些叫“一键支付”,差不多一个意思。

3.2.4. 代扣

代扣支付是一种银行或第三方支付平台在用户授权的基础上,直接从用户的银行账户或关联的支付账户中自动扣除款项的支付方式。

这种方式和快捷支付最大的区别在于:快捷支付是用户实时参与交易过程,有可能出风控挑战,比如OTP(短信验证码),或者密码等。代扣是提前授权,交易过程用户不会实时参与,也就没办法出挑战,要不成功,要不失败。

代扣广泛用于定期支付场景,如水电费自动缴纳、会员服务费、订阅服务等,还有就是滴滴打车这种,下车就走。这种方式免去了用户每次手动支付的麻烦,特别适合固定周期的定期付款。

3.2.5. 第三方钱包

基于第三方钱包账户基础之上的支付。在中国有支付宝、微信支付等,在国外有paypal,gcash等。

第三方钱包通常是一个综合支付工具,比如有钱包余额,钱包里面可能还绑定了银行卡、网银等。

跳转类:比如在京东APP下单,选择使用微信支付,就会跳转到微信APP。

非跳转类:比如在淘宝APP下单,直接后台调用支付宝的免密支付。

3.2.6. VA

Virtual Account, 虚拟账户。用户通过银行生成的虚拟账号进行支付,常用于无卡支付场景。在东南亚用得特别多。

简单地说,就是用户没有银行卡,但是又要在网上购物,那么支付平台调用银行生成一个VA,并把这个VA和订单绑定,再展示给用户,用户拿着这个VA,去银行的ATM把现金存进去,银行通知支付平台这个VA入账成功,支付平台通知商户发货。

3.2.7. OTC

Over-The-Counter。在支付场景下,和VA很类似,也是生成一个支付码,只是这个支付码是由7-11,肯德基等这些连锁店生成的,而VA是真实的银行账户。用户拿着这个OTC码去线下连锁店,给店员现金,店员给这个OTC码充值,连锁店系统通知支付平台支付成功,支付平台通知商户发货。

3.2.8 信用付

渠道根据用户的信用授予一定的额度,可以先消费,后还款。国外通常叫BNPL(Buy Now Pay Later)。

国内有支付宝的花呗,京东的白条。国外也有各种第三方金融机构,比如AKULAKU就是一个中国人在东南亚开的信贷平台。

支付流程和第三方钱包差不多,只是需要先做授权。

信用付与信用卡分期的区别:信用卡分期是以银行发行的信用卡为基础,信用付不是基于卡。在一些银行卡普及率不高的国家地区,信用付就很有优势。

3.3. 流出渠道

流出类渠道处理资金的流出。国际上通常是花旗,汇丰等这些全球性银行。国内的话各大银行都可以。

在国际上,同一家银行,可以指定不同的清算网络,这些清算网络有不同的额度、到账时效、手续费要求。比如同样的花旗,走ACH和RTGS的额度、到账时效、手续费就不同,需要根据业务类型来选择清算网络。

下面只做一些简单的科普。后面有时间单独开一章节讲流出。

1.TT(电汇 Telegraphic Transfer

  • 特点:通过电子方式进行的国际资金转账,常用于大额跨国交易。
  • 优势:速度较快,可以跨不同国家和货币。
  • 局限:手续费相对较高。

2. ACH(Automated Clearing House)

  • 特点:处理电子转账和直接借记业务,通常用于批量、小额、定期支付。
  • 优势:成本低,适合定期账单支付。
  • 局限:处理速度相对较慢。

3. RTGS(Real-Time Gross Settlement)

  • 特点:即时大额支付系统,按交易逐笔即时结算。
  • 优势:实时结算,安全性高。
  • 局限:主要用于大额交易。

4. BOOK(银行内部转账)

  • 特点:同一银行内部账户之间的转账。
  • 优势:实时处理,无需外部清算。
  • 局限:只限于同一银行的账户。

5. SWIFT(全球银行金融电讯协会)

  • 特点:提供安全、可靠的国际金融交易信息传输。
  • 优势:广泛的国际接受度。
  • 局限:不直接处理资金转移,只是信息传输。

6. SEPA(Single Euro Payments Area)

  • 特点:简化欧洲国家之间的银行转账,统一欧元区支付市场。
  • 优势:提高跨境支付的效率和降低成本。
  • 局限:只限于欧元支付。

7. FPS(Faster Payments Service)

  • 特点:英国的即时支付系统,提供快速支付处理服务。
  • 优势:适用于即时小额支付。
  • 局限:主要服务于英国国内。

8. CHAPS(Clearing House Automated Payment System)

  • 特点:英国的大额支付系统,提供当日结算。
  • 优势:适用于高优先级、大额交易。
  • 局限:成本较高。

9. TARGET2(Trans-European Automated Real-time Gross Settlement Express Transfer System)

  • 特点:欧洲中央银行的跨境支付系统,提供实时大额支付。
  • 优势:支持欧元区货币政策,安全稳定。
  • 局限:主要用于大额欧元交易。

中国央行清算网络:

1. 央行大额支付系统(High-value Payment System, HVPS)

  • 特点:主要处理大额和紧急支付,提供实时清算服务。
  • 应用:用于处理银行间的大额转账,如跨行转账、证券交易结算等。

2. 央行小额支付系统(Bulk Electronic Payment System, BEPS)

  • 特点:处理小额但批量的支付,通常是非实时的批量处理。
  • 应用:处理工资发放、社会保障金支付、公共事业缴费等小额批量业务。

3. 网上支付跨行清算系统(Online Payment Interbank Clearing System)

  • 特点:支持网上支付业务的跨行清算。
  • 应用:处理线上购物、电子商务等互联网支付业务。

4. 同城清算系统(City Clearing System)

  • 特点:在同一城市或地区内处理银行间的支付和清算。
  • 应用:适用于处理同城的支票、汇票等传统支付工具。

5. 跨行实时支付系统(Interbank Real-time Payment System)

  • 特点:支持银行间即时支付,提高资金流转效率。
  • 应用:常用于个人转账、即时支付需求等场景。

3.4. 外汇渠道

外汇渠道就是用于交换货币。在全球外汇市场中,主要对接的有巴克莱(Barclays)、汇丰(HSBC)、摩根大通(JPMorgan Chase)等。

外汇是一门很专业的领域,后面有时间单独开一章节讲。

4. 渠道网关的产品架构

通过上图可以看出来,渠道网关核心能力包括:

  1. 对上提供资金类和信息类服务。资金类包括支付、退款、预授权、请款、流出、外汇等,信息类包括签约、解约、渠道咨询、渠道路由等。
  2. 内部的运维运营能力。包括渠道开关、错误码管理、差错处理等。
  3. 底层的渠道接入与配置。渠道接口映射、清算文件解析等。

5. 渠道网关的系统架构

网关产品层:主要负责处理上游的业务,比如支付、退款、请款,签约解约等。

流程引擎:负责流程编排。有些渠道一次支付只需要和渠道做一次交互,有些渠道一次支付需要和渠道做2到3次交互,这个差异由流程引擎处理。

报文网关:负责实时API接口的处理。包括参数转换、报文组装解析、签名验签、加解密等。

文件网关:负责非实时类的文件交互处理。主要是清算文件、账单文件、流出文件等。包括下载、解析、组装、上传等。

运维运营平台:负责运维运营类操作,包括渠道开关、渠道路由配置、单据查询、异常推进等。

渠道接入平台:负责渠道的接入配置。

6. 结束语

今天主要讲了一些渠道相关的入门知识和渠道网关概要设计。后面还有4篇会讲一些模型、状态机、报文网关、文件网关、异常处理等细节。

7. 传送门

支付系统设计与实现是一个专业性非常强的领域,里面涉及到的很多设计思路和理论也可以应用到其它行业的软件设计中,比如幂等性,加解密,领域设计思想,状态机设计等。

在《百图解码支付系统设计与实现》的知识宇宙,每一篇深入浅出的文章都是一颗既独立但又彼此强关联的星球,有必要提供一个传送门以便让大家即刻到达想要了解的文章。

专栏地址百图解码支付系统设计与实现
领域相关
支付行业黑话:支付系统必知术语一网打尽
跟着图走,学支付:在线支付系统设计的图解教程
支付交易的三重奏:收单、结算与拒付在支付系统中的协奏曲
在线支付系统的精英搭档:深入剖析收银核心与支付引擎的协同作战(一)
在线支付系统的精英搭档:深入剖析收银核心与支付引擎的协同作战(二)

技术专题
交易流水号的艺术:掌握支付系统的业务ID生成指南
揭密支付安全:为什么你的交易无法被篡改
金融密语:揭秘支付系统的加解密艺术
支付系统日志设计完全指南:构建高效监控和问题排查体系的关键基石
避免重复扣款:分布式支付系统的幂等性原理与实践
支付系统的心脏:简洁而精妙的状态机设计与核心代码实现
精确掌控并发:分布式环境下并发流量控制的设计与实现(一)
精确掌控并发:分布式环境下并发流量控制的设计与实现(二)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序开发公司哪家好?哪家最好?

小程序具有轻量、聚焦、快捷等特点,这有别于 web 端类和移动端 app 类产品。 小程序的第一印象非常关键,因此对于首页设计,关键要加强注意力表达,给予用户尽可能直观的信息感知,加快建立其对于业务价值的兴趣&#xf…

linux环境安装docker

一、Docker是什么? 当我们开发一个应用程序时,通常需要配置和安装各种软件、库和依赖项。而这些环境配置可能会因为不同的操作系统或版本而存在差异,导致应用在不同环境中运行出现问题。 Docker就像是一个集装箱,可以将应用程序及其所有依…

重生奇迹mu敏弓加点攻略

1. 选择正确的属性点分配 在重生奇迹mu游戏中敏弓的属性点分配非常重要。建议将主要属性点分配在敏捷和力量上这样可以提高敏弓的攻击力和闪避能力。适当加点在体力和魔力上可以提高敏弓的生存能力和技能释放次数。不要忘记适当加点在智力上可以提高敏弓的技能威力和命中率。 …

用通俗易懂的方式讲解:图解 Transformer 架构

文章目录 用通俗易懂方式讲解系列1.导语2.正文开始现在我们开始“编码”从宏观视角看自注意力机制从微观视角看自注意力机制通过矩阵运算实现自注意力机制残差模块最终的线性变换和Softmax层训练部分总结损失函数再进一步 用通俗易懂方式讲解系列 用通俗易懂的方式讲解&#x…

机器学习第二十五周周报 ConvLSTM

文章目录 week 25 ConvLSTM摘要Abstract一、李宏毅机器学习二、文献阅读1. 题目2. abstract3. 网络架构3.1降水预报问题的建模3.2Convolutional LSTM3.3编码-预测结构 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1Moving-MNIST Dataset4.3.2雷达回波数据集 4.4 结论…

浅谈Vue3中v-if与v-for优先级问题。

一、注意 在Vue3官方文档中,不推荐同时使用 v-if 和 v-for ,因为这样二者的优先级不明显。 当它们同时存在于一个节点上时,v-if 比 v-for 的优先级更高。这意味着 v-if 的条件将无法访问到 v-for 作用域内定义的变量别名。 二、怎么解决 在外…

【数据分析】数据分析方法 | A/B测试与多变量分析

【数据分析】数据分析方法 | A/B测试与多变量分析 上一次与大家讨论了数据分析方法中的市场细分与同期群分析,此次仍然是对数据分析方法的讨论,讨论A/B测试与多变量分析的应用。 如果撇开统计性数据分析不谈,数据分析的最终目的是为了对具体…

神经网络学习小记录77——深入浅出Self-Attention自注意力机制与Transformer模块

神经网络学习小记录77——深入浅出Self-Attention自注意力机制与Transformer模块 学习前言代码下载Self-Attention自注意力机制详解一、Self-attention结构解析二、Self-attention的矩阵运算三、Multi-Head多头注意力机制 TransformerBlock的构建一、视觉部分的TransformerBloc…

10-skywalking告警

https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-alarm.md 5.1:告警指标 ~$ vim /apps/apache-skywalking-apm-bin/config/oal/core.oal service_resp_time # 服务的响应时间 service_sla # 服务http请求成功率SLV,比…

Logstash配置详解

一、配置文件 Logstash配置文件位于Logstash安装目录下bin/logstash.conf 启动命令: logstash -f logstash.conf文件描述logstash.yml配置Logstash的yml。pipelines.yml包含在单个Logstash实例中运行多个管道的框架和说明。jvm.options配置Logstash的JVM,使用此文…

线程安全--互斥锁

文章目录 一.线程安全问题读取无效(脏)数据丢失更新线程安全的保证--操作的原子性 二.互斥锁及其实现原理互斥锁的实现原理pthread线程库提供的锁操作 三.死锁问题 一.线程安全问题 当多个线程并发地对同一个共享资源进行修改操作时,可能会引发数据读写错误(比如读取无效(脏)数…

[Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明

类创建:abstract(抽象类)、extension(扩展) 1.abstract(抽象类) dart 抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口。抽象类通过abstract 关键字来…

NLP论文阅读记录 - 2023 | EXABSUM:一种新的文本摘要方法,用于生成提取和抽象摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 EXABSUM: a new text summarization approach for generating ex…

PLC控制脉冲轴绝对位置往复运动(三菱FX系列简单状态机编程)

有关状态机的具体介绍,专栏有很多文章,大家可以通过下面的链接查看: https://rxxw-control.blog.csdn.net/article/details/125488089https://rxxw-control.blog.csdn.net/article/details/125488089三菱FX系列回原功能块介绍 https://rxxw-control.blog.csdn.net/article…

springboot注解@PropertySource作用

简介 PropertySource 是 Spring 框架中的一个注解,用于指定一个或多个属性文件(通常是.properties文件)这些文件包含了应用程序需要的配置信息。当你在 Spring 的配置类中使用此注解时,Spring 容器会加载这些属性文件&#xff0c…

中科星图——Landsat9_C2_SR大气校正后的地表反射率数据

数据名称: Landsat9_C2_SR 数据来源: USGS 时空范围: 2022年1月-2023年3月 空间范围: 全国 数据简介: Landsat9_C2_SR数据集是经大气校正后的地表反射率数据,属于Collection2的二级数据产品&#…

深入理解 Flink(二)Flink StateBackend 和 Checkpoint 容错深入分析

Flink State 设计详解 State 简单说,就是 Flink Job 的 Task 在运行过程中,产生的一些状态数据。这些状态数据,会辅助 Task 执行某些有状态计算,同时也涉及到 Flink Job 的重启状态恢复。所以,保存和管理每个 Task 的状…

如何制作网址链接活码?网址二维码生成器的使用方法

将网址转二维码图片来使用,是现在很常用的一种二维码类型,一般网址可以根据自己的用途来制作静态码或者活码两种形式。其中静态码只是单纯将网址链接转换成二维码,无法统计与修改,而生成网址活码可以在二维码图片不变情况下替换其…

114.QTimer类和QWidget类

目录 一、QTimer类 定时器使用举例: 二、QWidget类 2.1设置父对象 2.2窗口位置 2.3窗口尺寸 2.4窗口标题和图标 2.5信号 2.6槽函数 示例代码: 一、QTimer类 QTimer 是 Qt 中用于实现定时器的类。它可以在一定的时间间隔内发射信号,…