02 | 原理解读:如何理解第三方支付的业务逻辑和系统组件?
信息流与资金流分离
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了扫码支付系统和第三方支付系统的技术架构,重点介绍了异步交互特点和资金流与信息流分离的金融原理。文章详细解析了点券系统的架构,探讨了支付订单处理、账务系统、查询系统和消息系统的功能及相互关系。以电商支付系统为例,阐述了处理资金流和信息流不一致情况的系统架构设计原则,包括内部和外部资产管理系统、金融网关服务等。此外,介绍了异步系统对接时的架构设计原则,包括轮询和对账的处理方式。重点讲解了第三方支付系统的流量支持、资金池和清算系统等特点。整体而言,本文以简洁清晰的语言,深入浅出地介绍了支付系统的核心原理和技术架构,适合读者快速了解支付业务的基本概念和系统组件。文章内容涵盖了支付系统的核心组件及其设计原则,为读者提供了全面的技术视角和理解。
《分布式金融架构课》,新⼈⾸单¥59
全部留言(25)
- 最新
- 精选
- LeeR之后能否详细讲下记账系统的记账方式和对账流程?
作者回复: LeeR你好。记账方式涉及到账户体系和记账规则。这一块属于账务业务。我们这个系列主要介绍的是金融系统架构,所以对具体业务没有做过多的介绍。如果你有兴趣研究,可以查找相关书籍。一般可以用这些关键字来查找:会计核算模式,账务系统设计,金融企业会计。 对账的流程取决于公司的业务和对接方的情况。每家公司的情况都不一样,所以在这里很难给你一份通用的执行手册。不过对账也有一些金融原理。对账需要达到账账、账证、账表、账实“四相符”的原则。你可以按照这个思路来分析大的方面应该做哪些对账工作,然后再根据具体情况具体分析。
2020-12-23213 - Jerry Wu老师,文章里提到了两种支付系统,一种是点券,一种是第三方支付,但我前东家的支付系统有点奇葩,这该怎么划分呢? 前东家的支付系统只包含:业务系统,支付网关。业务系统负责生成交易订单;支付网关负责生成支付订单,转发给不同的第三方支付公司。至于内部资产管理、外部资产管理、金融网关之类的,则统统没有。 整个流程是这样的:业务系统,生成交易订单—>支付网关,生成支付订单—>第三方支付公司,接收支付订单—>支付网关,接收第三方支付公司的回调—>业务系统,接收支付网关的回调。 这整个过程中,业务系统、支付网关作用类似,就是发订单、接收回调确认订单状态,什么对账都没有。这种系统又算是什么呢?
作者回复: Jerry你好。我们在这节课介绍架构的时候主要侧重点是正确性。正确性在一切正常的时候没有什么用,在出了问题之后才能体现价值。这一点和在仲裁时举证一样,谁能拿出证据,谁就更占优势。 支付系统里很多组件没有也能正常工作。但这里有一个假设是要完全相信对方,一切以对方为准。如果业务方能接受,出的问题带来的资损也能接受,那么架构就是合理的。在系统开发的初始阶段,人力和时间有限,也有可能必须做出一些架构上的简化。 所以你前东家的支付系统是一个把正确性建立在别人系统之上的系统。
2020-12-3158 - Alpha这一讲通俗易懂地讲解了支付系统的主要系统组件,获益匪浅。 比较好奇这些组件对应的官方英文翻译是什么?例如账务系统、清算中心、核算系统;网上找到些支付系统术语翻译 感觉差点意思。
作者回复: Alpha你好。支付系统没有标准化的实现方式,所以没有通用的官方中英文翻译。一个可能的翻译是这样的: 账务系统:accounting system 清算中心:clearing center 核算系统:reconciliation center
2020-12-268 - Geek_9c3134热点账户怎么解决呢
作者回复: 这位同学你好。我们分析和解决热点账户一般是遵循这些思路: 首先分析哪些账户会成为热点账户。一般来说出账账户比较少成为热点账户,入账账户在秒杀和促销等场景下容易出现。所以第一件事情是如何预测可能出现的热点账户,以及及时发现热点账户。 热点账户的问题是它会突然消耗大量硬件资源,比如CPU,IO和存储。因此解决的办法有两个:你可以把峰值情况拖长,通过将访问量变平滑来减少瞬间流量的冲击,你也可以提供大量的资源来满足瞬间需求。 将瞬间流量拖长的方法会使用消息队列。虽然账户写入操作会以非常高的速度写入消息队列,但是消息队列的处理还是按照系统正常速度。这种做法有个形象的叫法是削峰填谷。 另一个做法是提供大量的硬件资源,比如说把这个热点账户的存储和处理都迁移到全新的机器上,等峰值结束后再迁移回来。具体如何迁移取要决于你们现在的架构设计方案和实现的成熟度。选择方案有很多,网上都可以找到成熟的解决方案。 最后,我们还可以跟业务方一起,通过修改业务规则来减少系统的压力。前面提到过热点账户一般是入账账户。入账账户如果成为了热点账户,那么账户的主人很有可能知道自己正在做促销,因此可以跟用户商量出一个大家都可以接受的账户更新延迟情况。这样在峰值情况下你可以通过减少一些不必要的服务来进一步优化配置硬件资源。这个方法也叫服务降级。
2020-12-2358 - 楼下小黑哥另外,第三方公司提供的 API 接口都是异步的。 老师,我觉得这点说的太绝对了。 我对接下来,一般来说收单支付,银行卡类接口都是同步返回支付结果。 像网银,支付宝/微信支付这类网需要使用app/网页跳转支付方式,这类都是异步。 出金类接口,那都是异步的
作者回复: 楼下小黑哥你好。谢谢你的补充。我们有几百家支付机构和几十家国有和股份制商业银行,在短短的这节课里无法对所有情况做详细的阐述。所以在这节课的开头我们提到过会对业务和系统做一些简化,重点是能理解核心的原理。 如果你觉得后面一系列内容有任何不妥之处,也请尽量指出。三人行必有我师,希望能和大家多多交流,共同学习进步。
2020-12-256 - 黄海峰支付宝就算是第三方支付公司吗?
作者回复: 黄海峰你好。我们一般称呼获得了央行颁发的《支付业务许可证》的非银行企业叫做第三方支付公司。支付宝背后的公司支付宝(中国)网络技术有限公司,以及微信支付背后的公司财付通支付科技有限公司,都拥有央行颁发的许可证。所以支付宝是一家第三方支付公司。 如果你有兴趣,可以在这个链接查到我国所有第三方支付公司列表以及它们所涉及的支付业务范围:http://www.pbc.gov.cn/zhengwugongkai/127924/128041/2951606/1923625/1923629/index.html
2020-12-2336 - CJJ老师我有个地方不明白,跨行转账需要多家银行之间配合,还可能需要支付一定的跨行交易费用。但是如果第三方支付公司在每家银行都有资金池,为什么就可以直接在两家银行内部完成用户资金和资金池资金之间的操作了?在每家银行的资金池不是独立的么?两家银行资金的操作不也是跨行交易吗?
作者回复: 这位同学你好。第三方支付公司的这种行为一般叫做“二清”。当然了,二清指的是在没有支付牌照的情况下做资金池的操作。 如果支付公司在每家银行都有资金池(目前已经不允许),那么属于不同银行用户间的转账都可以先跟银行类的资金池交互。由于转账不会完全平衡,时间一长可能有的资金池会资金不够,这时候就会有资金的流动性风险。司库部门会将银行间的资金池金额进行调度,这时候就会涉及到跨行转账。
2021-02-234 - 夜猫~_~老师,外汇汇率是实时变动的,那跨境结算时付款金额也是实时计算的吗?
作者回复: 夜猫你好。在交易订单生成之前外汇汇率是一直实时变动的。但是当你点击“购买”之后,就会生成交易订单。交易订单里会锁定汇率。 不过你不用担心。你会发现如果交易订单一段时间之内没有支付的话是会自动取消的。所以支付公司只需要承担这一小段时间内的外汇波动风险。一般支付公司在给你提供汇率的时候都会把这一些波动成本考虑在内,所以不用担心支付公司会有所损失。
2020-12-242 - glutton老师好,还是备付金的问题,备付金集中存管后,第三方支付机构已经不允许有资金池了,建议说明
作者回复: glutton你好。谢谢你指出这一点。我国在过去两年时间已经完成第三方支付公司备付金集中存管从零到100%的转变。所以国内资金池已经成为历史。 对于国外来说,各个国家的市场成熟度和监管条例各有不同,因此现存的支付架构依然有技术输出的可能,尤其是在与外汇相关的跨境支付。
2020-12-281 - Geek_9c3134老师 有什么书可以推荐吗
作者回复: 这位同学你好。我会在这一系列结束的时候给大家推荐一些参考书目。敬请期待。
2020-12-2321