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 生产实践

性能压测

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

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

稳定性治理

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

核心链路分离

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

服务依赖降级

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

审核编辑 :李倩

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

    关注

    9

    文章

    3949

    浏览量

    50465
  • 架构
    +关注

    关注

    1

    文章

    499

    浏览量

    25366
  • 支付系统
    +关注

    关注

    0

    文章

    78

    浏览量

    10105

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

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

收藏 人收藏

    评论

    相关推荐

    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 437次阅读

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

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

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

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

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

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

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

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