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

2024-01-13 16:12

本文主要是介绍金融疆界:在线支付系统渠道网关的创新设计(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是《百图解码支付系统设计与实现》专栏系列文章中的第(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.chinasem.cn/article/602044

相关文章

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

kkFileView在线预览office的常见问题以及解决方案

《kkFileView在线预览office的常见问题以及解决方案》kkFileView在线预览Office常见问题包括base64编码配置、Office组件安装、乱码处理及水印添加,解决方案涉及版本适... 目录kkFileView在线预览office的常见问题1.base642.提示找不到OFFICE组件

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u