Extract - <<凤凰牌老熊-现代支付系统设计>>
本文摘录自: http://blog.lixf.cn/essay/2017/04/01/concept-01-overview/
一、支付概述--
1. 支付与交易
交易过程: 交易的存在是支付发生的前提,债权和债务关系的形成导致支付偿返的出现。

多重债务关系:

清结算
结算: 通过银行内账户间的划转而实现债务关系清偿;这种结算方式提升了资金清偿的效率,减少结算过程中资金在途占用的时间,提高了资金使用率。

清洁算:
针对跨行的资金交易
清分: 每日凌晨计算 A行前一天需要付给B行的钱。
amount = (A行应该付给B行的钱 - B行应该付给A行的钱)

清算: A行将清分结果对交易数据进行净额轧差,提交并完成资金划拨给B行。
如果有很多银行,每个银行都需要和对方执行清结算,这个很烦。于是,国家成立专门的机构来做这个事情,这就是央行,以及后来的银联
2. 支付方式
- 现金货币支付 :现金
- 转移支付方式 :抵押
- 账户划转的支付结算方式 :转账
- 第三方支付支持的中介担保支付方式 :第三方支付-支付宝
3. 支付工具
def: 支付工具是由银行或者其他支付机构发行的,能够发起支付指令,用于债务清偿或者资金转移的证件,比如支票、汇票、本票、银行卡等。
在金融机构中,支付工具一般分为三类:
- 贷记支付工具:资金被划入银行应收账户
- 借记支付工具:结算资金转移反映在银行账户上是债务的减少
- 通用支付工具:银行卡、电子支付
二、在线支付流程
线上支付方式
支付方式指消费时付款的方式,比如现金支付、货到付款、信用卡支付、借记卡支付、扫码支付等。支付应用
指提供给最终用户在特定场景下使用的产品。
比如扫码收银、二维码支付、打赏、众筹、POS支付、生活缴费、信用卡返款、手机充值等。 这些应用是建立在支付产品的基础之上,直接面向最终的用户提供服务。支付路由
指根据用户选择的支付方式,结合费率、QOS等因素,选择合适的银行或者其他公司提供的支付接口来完成资金转移操作。
三、支付系统架构

支付系统从架构上来说,分为三层
- 支撑层: 用来支持核心系统的基础软件包和基础设施, 包括运维监控系统、日志分析系统等。
- 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块。
- 产品层: 通过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统。
支付核心系统
支付核心系统指用户执行支付的核心流程,包括:
- 用户从支付应用启动支付流程。
- 支付应用根据应用和用户选择的支付工具来调用对应的支付产品来执行支付。
- 支付路由根据支付工具、渠道费率、接口稳定性等因素选择合适的支付渠道来落地支付。
- 支付渠道调用银行、第三方支付等渠道提供的接口来执行支付操作,最终落地资金转移。
1、支付网关
在支付系统中,支付网关和支付渠道的对接是最核心的功能
- 支付网关是对外提供服务的接口,直接对接业务系统的接口
- 支付渠道模块是接收网关的请求,调用渠道接口执行真正的资金操作

2、支付产品
def1:支付产品模块是按照支付场景来为业务方提供支付服务
def2:支付产品是由支付系统对支付渠道进行封装而对业务方提供的支付能力
- 这个模块一般位于支付网关之后,支付渠道之前
- 根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务
- 支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求, 进行一些统一处理后,分发到不同的支付渠道去执行,最后将执行结果做处理后,通过支付网关再回传给业务方
支付产品分类:

支付产品功能:

支付流程:

3、银行卡支付
认证支付
def:指用户在绑卡时,将卡信息提供给电商,电商在服务器侧保留用户的账户信息。快捷支付
def: 快捷支付和认证支付类似,不同点在于绑卡之后,有些银行接口会返回token,后续使用token来作为支付凭证,无需提供卡号信息,这样电商也不需要本地保留卡号了。目前主要是银联有提供token接口网银支付
4、快捷支付
- 快捷支付在支付场景上的优势:
- 提升支付成功率
- 提升支付安全性
- 提升用户体验
- 获取可靠支付数据
5、支付路由
设计目标
省钱、提升支付产品的QOS(服务质量)、支持营销、降低运营成本
被支付网关调用计算因子
路由规则是支付路由的核心

三、P2P网络借贷
1、 p2p业务流程

2、 P2P借贷的特点
- 成交量大
- 借款期限短
- 贷款金额小
- 参与人数众多
- 回报丰厚
3、P2P监管
P2P网贷行业监管的十大原则:
- P2P的发展要坚持业务本质,不得建资金池。
- 落实实名制原则,资金流向要清晰。
- P2P要清晰业务边界,区别于其他法定金融业务,打击冒名非法经营。
- P2P要有行业门槛。
- 贷款人和出借人的资金要进行第三方托管,不能以存管代替托管。
- P2P自身不担保,引入的担保机构要有资质,不能承担过多担保倍数。
- 要有明确的收费机制,力求长期的发展,不能盲目追求高收益。
- 应充分进行信息披露,既要披露自身和运营信息,也要进行风险提示。
- 要加强行业自律组织的建设、推动行业标准化和信息共享,打击伪P2P。
- 坚持小额化、普惠金融、支持个人和小微企业 。
4、P2P系统设计
存管系统应用模型:

直接存管模式:
- 银行为P2P网贷平台开立网络借贷资金存管专用账户(大账户)和自有资金账户。
- 出借人和借款人在P2P平台注册账户,然后到银行界面开立个人存管账户(子账户)。这个银行子账户关联到P2P账户。
- 根据平台自身需求与实际情况为平台开立风险备用金存管账户和担保公司存管账户。
存管充值流程:

存管提现流程:

四、网联
释义: 非银行支付机构网络支付清算平台,主要是为第三方支付机构提供一个统一的独立清算平台.也就是说,之前的第三方支付机构(微信、支付宝等)线上支付是直接对接各大银行的,而现在只需要对接网联,再由网联作为中间平台实现与银行对接。
组成: 网联共注资20亿,支付宝和腾讯各占10%的股份,央行系占30%。股东总数44家,其中38家是第三方支付机构。同时支付公司也是网联建设的主力.
定位: 统一支付清算

- 1、通过这种方式,网联可以获取所有的交易数据
- 2、监督
- 3、破解数据垄断
- 4、扶持中小支付机构
网联拉平了第三方支付公司的银行端对接能力,对中小第三方支付公司是好事情。
功能概述:

1、协议支付
对比现有快捷支付:
同:协议支付指客户需要先进行身份认证及签约,然后再根据签约协议进行支付,银行需要校验协议信息
异:协议支付业务与现有市场的快捷支付业务相比主要增加了银行端解约的功能
在支付宝卡通业务改造为快捷支付之后,快捷支付的解约支付机构不再通知到银行,银行本身也没有发起解约的功能,所以银行系统中保留的签约信息不是完全正确的——目前网联切量数据的迁移方案就需要解决这个问题。 网联建立后,根据人行发文要求,快捷支付业务的协议信息支付机构必须和银行保持一直,并且可以从银行发起解约交易。
2、数据中心
网联采用三地六中心的方案。在北京、上海、深圳三地。
3、支付机构接入网联
支付机构采取三大接入原则:
- 平台分配: 网联平台将根据机构数据中心的位置进行分配,就近接入平台的数据中心。
- 跨地域接入: 机构必须至少接入平台异地的两个数据中心
- 跨运营商: 至少选择2家不同的运营商
Extract - <<凤凰牌老熊-现代支付系统设计>>的更多相关文章
- VS Extract Method
前言 看重构6.4Replace Temp with Query(以查询取代临时变量)中提到Replace Temp with Query往往是你运用Extract Method之前必不可少的一个步骤 ...
- Unable to extract 64-bitimage. Run Process Explorer from a writeable directory
Unable to extract 64-bitimage. Run Process Explorer from a writeable directory When we run Process E ...
- php extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容
extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容 它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具
- 关于Oracle GoldenGate中Extract的checkpoint的理解 转载
什么是checkpoint? 在Oracle 数据库中checkpoint的意思是将内存中的脏数据强制写入到磁盘的事件,其作用是保持内存中的数据与磁盘上的数据一致.SCN是用来描述该事件发生的准确的时 ...
- extract()函数
extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值 extract($_POST);//相当于$username = $_POST['username'];//$passwo ...
- Extract Stylish styles and save as JSON format
Introduction Stylish is a easy browser extension/plugin for users to customizing the web page stylin ...
- Extract QQ from iPhone and analyze it
QQ is one of the most popular chat App in the world. Now let me show you how to extract QQ from iPho ...
- GoldenGate 配置extract,replicat进程自启动
在GoldenGate中主进程是manager进程,使用start mgr启动.可以在mgr进程中添加一些参数用来在启动mgr进程的同时启动extract和replicat进程 GGSCI (gg01 ...
- php变量与数组相互转换的方法(extract与compact
#php变量与数组相互转换的方法(extract与compact) #compact 多个变量转数组 $name = 'sui'; $email = 'sui@qq.com'; $arr = comp ...
- PHP extract() 函数
PHP extract() 函数从数组中把变量导入到当前的符号表中. 对于数组中的每个元素,键名用于变量名,键值用于变量值. 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时, ...
随机推荐
- 《Cracking the Coding Interview》——第7章:数学和概率论——题目6
2014-03-20 02:24 题目:给定二位平面上一堆点,找到一条直线,使其穿过的点数量最多. 解法:我的解法只能适用整点,对于实数坐标就得换效率更低的办法了.请参见LeetCode - Max ...
- Pascal小游戏 双人射击
一个双人的游戏 Pascal源码附上 只要俩人不脑残,一下午玩不完...又是控制台游戏中的一朵奇葩. Free Pascal 射击游戏 Program shooting_game; uses crt; ...
- 【Linear Regression】林轩田机器学习基石
这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...
- 不吹不擂,你想要的Python面试都在这里了【315+道题】+精心整理的解答
Part01-Py基础篇(80) Part02-网络编程和并发(34) Part03-数据库和缓存(46) Part04-前端框架和其他(155) Part01-Py基础篇(80) 1.为什么学习Py ...
- jenkins shell脚本构建项目--留
1.echo `date` "doing compling . . . " if [ "$RELEASE" == "false" ]; ...
- 课时17:函数:Python的乐高积木
目录: 一.创建和调用函数 二.函数的参数 三.函数的返回值 四.课时17课后习题及答案 为了使得程序得代码变得简单,就需要把程序分解成较小得组成部分.有三种方法可以实现:函数.对象.模块. **** ...
- Python数据分析-Matplotlib图标绘制
Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...
- poj1936 假期计划第一水
All in All Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 29651 Accepted: 12312 Desc ...
- urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed解决办法
描述 今天学习写一篇用python(我的是Python 3.6)登录知乎网(https://www.zhihu.com) 的爬虫,测试时报错:urlopen error [SSL: CERTIFICA ...
- 股神小D [点分治 or LCT]
题面 思路 点分治非常$naive$,不讲了,基本思路就是记录路径最小最大值.....然后没了 重点讲一下LCT的做法(好写不卡常)(点分一堆人被卡到飞起hhhh) 首先,这个路径限制由边限制决定,而 ...