0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通用支付系统设计

jf_ro2CN3Fa 来源:cnblogs 2023-03-24 11:39 次阅读

支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?

抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。

其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下 各个系统的核心组成和交互。

Part one 支付系统总览

核心系统交互

5aeb7488-c9f4-11ed-bfe3-dac502259ad0.png

业务图谱

5afc13e2-c9f4-11ed-bfe3-dac502259ad0.png

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

Part two 核心系统解析

交易核心

交易核心把公司的业务系统和底层支付关联起来,让业务系统专注于业务,不比关心底层支付。

交易核心

5b0c71f6-c9f4-11ed-bfe3-dac502259ad0.png

基础交易类型抽象

5b1c3a64-c9f4-11ed-bfe3-dac502259ad0.png

多表聚合 & 订单关联

5b354bbc-c9f4-11ed-bfe3-dac502259ad0.png

支付核心

支付核心主要负责将多种支付类型进行抽象,变成 充值、提现、退款、转账四种支付形态。同时,还要负责集成多种支付工具,对支付指令进行编排等等。

支付核心总览

5b5b8872-c9f4-11ed-bfe3-dac502259ad0.png

支付行为编排

其目的,是实现 插件式开发、支付规则可配置的 灵活开发方式。

5b6c6a5c-c9f4-11ed-bfe3-dac502259ad0.png

异常处理

异常处理包括了 重复支付、部分支付、金额不一致、其他异常等异常场景。

5b80b2f0-c9f4-11ed-bfe3-dac502259ad0.png

渠道网关

5b998226-c9f4-11ed-bfe3-dac502259ad0.png

资金核算

5bb89c38-c9f4-11ed-bfe3-dac502259ad0.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

Part three 服务治理

平台统一上下文

通过确定系统边界、业务建模拆分之后,整个支付平台被拆分几十个服务,而如何保障在服务间流转业务信息不被丢失,是我们需要考虑的问题。平台统一上下文的要素信息(唯一业务标识码),在整个支付平台链路中全程传递,被用来解决这个问题。

5bcb15de-c9f4-11ed-bfe3-dac502259ad0.png

数据一致性治理

大型的支付公司,内部都有非常严格和完备的数据一致性方案,比如采用业务侵入性非常大的分布式事务等,以牺牲开发效率来提升数据的稳定,是非常有必要的。而业务公司,如果不采用分布式事务又有哪些应对策略呢?

CAS校验

5bde8fec-c9f4-11ed-bfe3-dac502259ad0.png

幂等 & 异常补偿

5c00fe1a-c9f4-11ed-bfe3-dac502259ad0.png

对账

5c1a930c-c9f4-11ed-bfe3-dac502259ad0.png

准实时对账

5c31d6d4-c9f4-11ed-bfe3-dac502259ad0.png

DB拆分

5c518862-c9f4-11ed-bfe3-dac502259ad0.png

异步化

支付是整个交易链路的核心环节,那么,怎么兼顾支付系统的稳定性和执行效率呢?是异步化。

消息异步化

5c629954-c9f4-11ed-bfe3-dac502259ad0.png

外部支付调用异步化

5c8551ce-c9f4-11ed-bfe3-dac502259ad0.png

在外部支付中,经常需要服务方与第三方支付交互,获取预支付凭证,如上图所示。

这种同步调用的情况下,由于需要跨外部网络,响应的 RT 会非常长,可能会出现跨秒的情况。由于是同步调用,会阻塞整个支付链路。一旦 RT 很长且 QPS 比较大的情况下,服务会整体 hold 住,甚至会出现拒绝服务的情况。

5c9f0f7e-c9f4-11ed-bfe3-dac502259ad0.png

因此,可以拆分获取凭证的操作,通过独立网关渠道前置服务,将获取的方式异步化,从前置网关获取内部凭证,然后由前置网关去异步调用第三方。

异步并行化

5cb3e3ae-c9f4-11ed-bfe3-dac502259ad0.png

资金核算异步化

5cc9360a-c9f4-11ed-bfe3-dac502259ad0.png

热点账户账务单独处理

5ce377cc-c9f4-11ed-bfe3-dac502259ad0.png

记账事务切分

5d03a1a0-c9f4-11ed-bfe3-dac502259ad0.png

Part four 生产实践

性能压测

构建压测模型,模拟现实真实场景;压测数据进影子库,正常业务无侵入;单机性能和集权链路都不能忽视;识别系统稳定性和容量配比。。。

5d291656-c9f4-11ed-bfe3-dac502259ad0.png

稳定性治理

5d51923e-c9f4-11ed-bfe3-dac502259ad0.png

核心链路分离

5d604824-c9f4-11ed-bfe3-dac502259ad0.png

服务依赖降级

5d703946-c9f4-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网关
    +关注

    关注

    9

    文章

    4444

    浏览量

    51057
  • 架构
    +关注

    关注

    1

    文章

    513

    浏览量

    25468
  • 支付系统
    +关注

    关注

    0

    文章

    78

    浏览量

    10168

原文标题:通用支付系统设计

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NFC支付

    准备兼容13.56MHz的通讯。三、软件硬件:支付“卡”(消费者)、支付终端(服务提供商)、支付系统(运营商)。支付“卡”可由以下载体:普通
    发表于 04-27 10:43

    dtu公交一卡通支付的联网接入

    预判支付成功。4G网络无线联网DTU数传终端,将会对无线联网支付系统增加速度,带来高效的客户体验。一方面方便乘客以卡进行收费支付,全市通用
    发表于 11-21 15:14

    刷脸支付系统搭建跟刷脸支付代理加盟的功能优势

    、后台系统  刷脸设备的三大硬件厂商分别是:支付宝盒、商米、马里奥。随着市场的不断拓展以及产能的提高,硬件设备的货源并不是问题,成本价格也会逐步降低。  因此真正关键的是:软件,即支付插件与后台
    发表于 12-10 18:18

    区块链支付系统开发,跑分系统APP定制

    区块链支付系统是基于区块链技术,以全球具有公信力,流通量更大的数字货币为介质,并接入全球各大数字资产交易所流动性,满足高效兑付需求,从而实现商业消费、支付、结算功能。区块链支付
    发表于 06-19 17:35

    个人免签约即时到账 配套监控软件 畅优免签支付系统

    ` 聚合四方支付系统、个人免签支付系统、码商系统、跑分系统开发搭建以及技术运维   畅优科技优势
    发表于 07-13 16:01

    我们懂你需要 畅优免签支付系统 聚合支付系统

    畅优API聚合支付系统,专业开发第四方支付系统、api接口程序,提供支付系统源码。如果您想 更深
    发表于 07-13 16:19

    基于混合加密体制的手机支付系统该如何去设计?

    基于混合加密体制的手机支付系统该如何去设计?
    发表于 05-26 06:44

    通用可组合的公平电子支付协议

    公平性是电子支付协议的一个基本属性。该文基于通用可组合模型,定义了公平电子支付理想函数。在可转化签名理想函数、注册理想函数和安全会话理想函数辅助的混合模型下,
    发表于 11-18 15:06 0次下载

    移动微支付系统研究

    本文给出了移动微支付系统的基本模型和主要特点,并深入探讨了几种主要的移动微支付系统的功能和优缺点。同时,基于对移动微支付
    发表于 02-25 14:26 12次下载

    基于B/S的医疗保险支付系统

    本文在分析医疗保险支付系统所需功能和技术等的基础上,利用MVC架构、J2EE、数据库等技术采用SaaS模式设计、开发并实现了一套基于B/S结构的医疗保险支付系统。该
    发表于 11-06 17:58 16次下载
    基于B/S的医疗保险<b class='flag-5'>支付</b><b class='flag-5'>系统</b>

    区块链支付系统开发区块链跨境支付系统开发

    区块链支付系统开发区块链跨境支付系统开发区块链支付系统的加入可能会导致
    发表于 01-31 11:07 504次阅读

    区块链币第三方支付接口通道usdt支付系统

    区块链第三方支付系统,区块链支付平台搭建,usdt承兑商平台系统,usdt支付系统,区块链清算结
    发表于 02-02 10:34 1392次阅读

    区块链usdt支付系统C2C支付通道搭建

    区块链usdt承兑商系统,APi接口管理系统,代理商管理系统,清算管理系统,商户管理系统,平台接入C2C
    发表于 02-12 13:57 827次阅读

    基于区块链技术的TransCrypt平台正在计划推出一种新的通用支付系统

    TransCrypt旨在推出一种新的通用支付系统,该系统在流行的消息传递平台的接口中运行,允许用户通过即时消息发送或接收所有主要加密货币的付款。通过TransCrypt,用户可以进行加
    发表于 08-22 11:34 640次阅读

    支付系统架构的核心组成和交互

     交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下各个
    的头像 发表于 03-14 11:01 1726次阅读