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

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

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

相关文章

数据结构第十三弹---链式二叉树基本操作(上)

链式二叉树 1、结构定义2、手动创建二叉树3、前序遍历4、中序遍历5、后序遍历6、层序遍历7、计算结点个数8、计算叶子结点个数9、计算第K层结点个数10、计算树的最大深度总结 1、结构定义 实现一个数据结构少不了数据的定义,所以第一步需要定义二叉树的机构。 typ…

学习笔记-mysql基础(DDL,DML,DQL)

一.DDL DDL,Data Definition Language,数据库定义语言,该语言包括以下内容: 对数据库的常用操作对表结构的常用操作修改表结构 1.对数据库的常用操作 -- 查看所有的数据库 show databases -- 创建数据库 create database [if not exists] test [charsetutf8] -- 切换 选择 …

记录汇川:H5U与Factory IO测试12

主程序: 子程序: IO映射 子程序: 辅助出料 子程序: 自动程序 Factory IO配置: 实际动作如下: Factory IO测试12

基于SSM的仓库在线管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

20-链表-删除链表中的节点

这是链表的第20题,力扣链接。 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。 删除…

支持向量机(公式推导+举例应用)

文章目录 引言间隔与支持向量机对偶问题(拉格朗日乘子法)SMO算法核函数软间隔与正则化软间隔正则化(罚函数法) 模型的稀疏性结论实验分析 引言 在机器学习领域,支持向量机(Support Vector Machine&#xf…

蓝牙音视频远程控制协议(AVRCP) AV/C command格式介绍

零.声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Trans…

生产数据不备份,用时两行泪

背景:项目使用pg一主一从,因慢sql导致查询慢,所以想从原本的4核加到16核,联系好运维后,打算先从从库开始操作,机器上的pgsql都正常关闭,然后停止,关机,扩容一切都很顺利&…

OpenCV-Python(34):FAST算法

目标 理解 FAST 算法的基础使用OpenCV 中的FAST 算法相关函数进行角点检测 介绍 FAST算法(Features from Accelerated Segment Test)是一种用于在图像中快速检测角点的算法。它是一种基于像素的检测方法,具有高效、准确的特点,常…

【算法分析与设计】最短路径和

题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 示例 1: 输入:grid [[1,3,1],…

【PHP AES加解密示例】从入门到精通,一篇文章让你掌握加密解密技术!

一、引言 随着互联网的普及,数据安全问题越来越受到人们的关注。在众多加密算法中,AES(Advanced Encryption Standard)因其高效、安全的特点被广泛应用。本文将通过PHP语言,为大家展示一个简单的AES加解密示例&#x…

Retinal Structure Detection in OCTA Image viaVoting-Based Multitask Learning

一、摘要 研究背景:自动检测视网膜结构,如视网膜血管(RV)、中央凹血管区(FAZ)和视网膜血管连接(RVJ),对了解眼部疾病和临床决策具有重要意义。 主要工作:在本文中,提出了一种新的基于投票的自适应特征融合多任务网络…

Pr模板(剪辑素材),Pr预设(视频转场,调色),Pr插件,Pr教程,Pr模板网

PR模板,免费Premiere模板下载网站.logo片头模板,标题字幕,样机相册,节奏快闪,开场预告,转场特效,图文照片,抖音自媒体Vlog短视频模板等Premiere项目工程源文件模板下载 Pr模板:https://prmuban.com/template PR预设,PR转场预设,PR调色预设,Pr剪辑视频特效PR预设.pr…

优化的实时换脸项目——DeepFaceLive

DeepFaceLive是一款基于人工智能技术的换脸工具,可以实现实时面部捕捉和换脸效果。它利用深度学习和计算机视觉算法,能够以惊人的准确度和速度将脸部特征无缝地映射到任何人的脸上。DeepFaceLive的特点是可以实时换脸,让用户通过网络摄像头应…

MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构

目录 前言 1. 主从复制 主从复制的基本配置示例: 2. 主从复制的限制 3. InnoDB Cluster架构 InnoDB Cluster配置步骤示例: 4. InnoDB Cluster的优势 总结 ⭐️ 好书推荐 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&…

京东年度数据报告-2023全年度游戏本十大热门品牌销量(销额)榜单

同笔记本市场类似,2023年度游戏本市场的整体销售也呈下滑态势。根据鲸参谋电商数据分析平台的相关数据显示,京东平台上游戏本的年度销量累计超过350万,同比下滑约6%;销售额将近270亿,同比下滑约11%。 鲸参谋综合了京东…

C语言变量与函数

目录 变量函数 变量 变量:计算机里的一块内存空间int a 0; 表示定义一个整型 int 变量;这个变量名字叫做 a “” 表示赋值;即将右边的 0 赋值给左边的整型变量 a 现在这一块空间 a 存放了一个值 0 这个过程也叫做整型变量 a 的初始化初始化…

C++/WinRT 简介

C/WinRT 是 Windows 运行时 (WinRT) API 的完全标准新式 C17 语言投影,以基于标头文件的库的形式实现,旨在为你提供对新式 Windows API 的一流访问。 利用 C/WinRT,你可以采用任何符合标准的 C17 编译器创作和使用 Windows 运行时 API。 Wind…

OSG StatsHandler 初步学习

osg为视景器的使用和调试提供了丰富的辅助组件&#xff0c;它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgViewer::StatsHandler、osg::Stats类就是其中的两个经常用到的辅助组件。 #include<osgViewer/Viewer> #inclu…

iOS xcode 15.1 打包报错

真机调试的时候没问题&#xff0c;打包的时候报错了 #报错 解决办法 pods.xcodeproj - build phases - compile sources - compiler flags pods.xcodeproj - Targets-support files pods-xx-frameworks