图解结算平台:准确高效给商户结款

news2024/9/24 11:28:33

这是《百图解码支付系统设计与实现》专栏系列文章中的第(4)篇。

本章主要讲清楚支付系统中商户结算涉及的基本概念,产品架构、系统架构,以及一些核心的流程和相关领域模型、状态机设计等。

1. 前言

收单结算是支付系统最重要的子域之一,行业内经常把有牌照的支付平台称为“收单机构”就可见一斑。

我们在上一篇文章讲了收单如何帮忙商户收钱,收完钱还得转给商户,用户支付100块钱,那么到底给商户多少钱,什么时候给,这都是结算平台干的工作。谓之“结算”。

下面这个图留着是为了提高“收单、结算、拒付”紧密结合的印象。

三者的职能如下:

收单核心:主要负责处理商户订单的全生命周期管理:订单创建、支付推进、退款、撤销等。

结算核心:主要负责把商户应收账款算清楚,把结算款按合同约定结转给商户。

拒付核心:主要负责处理用户的拒付和对应的抗辩以及最后的判责。

2. 结算在支付系统中的位置

在收单机构(支付平台)里,结算就是把帮商户收进来的钱,按约定的结算规则、准确、及时地结算给商户

3. 结算产品架构

结算模式分为主动结算和被动结算。站在商户的角度,被动结算就是以收单机构为准,收单机构说结多少就是多少。主动结算就是以商户为准,商户说结多少就是多少。一般来说,大部分商户都是被动结算,特殊的大商户比如Google,Apple经常使用主动结算。

结算一定要设计账期,就像账务系统要有会计日是一样的道理,避免跨天的交易或零点附近的交易出现结算异常。对应就有账期创建、入账、关账、出账。

4. 结算系统架构

核心的服务包括:结算受理、注册,账期的新建、关账、出账,最后就是结算。

5. 结算核心流程

下面以即时到账模式为例说明。担保交易模式和预授权模式稍有不同。

在交易日,收单收到支付成功回执后,就发消息给结算,结算收到消息去查结算合约,进入结算注册流程。

在结算注册时,如果存在打开的账期,就直接挂过去,如果不存在,就创建一个账期。

在结算日,先进行关账,避免在途任务受影响。关账成功后,进入结算批次,再进入打款流程。

打款有3种情况:1)结算到商户余额户。2)在线结算到提现卡。3)线下人工打款(人工结算)。

打款完成后,推进结算流水SETTLED。

6. 结算核心领域模型

左边绿色部分是账单和流水相关信息,中间蓝色是账期和批次相关信息,右边是打款信息。

因为一个收单可能会有多种费用,所以会生成多条我方账单流水。同样的,一个收单可能结算给多个主体,对应有多笔结算流水。

结算账期有点类似会计日的概念,是为了控制零点左右的收单单据的结算能落到正确的结算账期里去。

关账后就会发起外部结算以及对应的打款。一个结算批次可能会分成多笔打款。

7. 结算状态机设计

上面把结算涉及到的状态机都画出来了。

特殊的是打款单的状态机,因为打款有可能调用外部渠道打到商户的卡里去,外部渠道有一定概率先返回打款成功,过两天后又返回退票(实际打款失败,资金退回),这个时候需要推进到REVERSE,然后重新更新信息后再进行打款。

退票的原因有多种,比如商户的卡被冻结等。

8. 资金流

结算一般只涉及到正向资金流,也就是支付成功后,一步步推进结算到商户余额户或者商户银行卡,如果是结算到商户余额户,就需要商户主动在商户门户发起提现到卡。

9. 结束语

本章主要讲了结算的基本概念,以及对应的产品和系统架构图,一些核心的领域模型和状态机设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388073.html

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

相关文章

曲面上偏移命令的查找

今天学习老王的SW绘图时,遇到一个命令找不到,查询了一会终于找到了这个命令,防止自己忘记,特此记录一下,这个命令就是“曲面上偏移”,网上好多的教程都是错误的,实际上这个命令没有在曲面里面&a…

蓝桥杯备赛 | 洛谷做题打卡day3

蓝桥杯备赛 | 洛谷做题打卡day3 sort函数真的很厉害! 文章目录 蓝桥杯备赛 | 洛谷做题打卡day3sort函数真的很厉害!【深基9.例1】选举学生会题目描述输入格式输出格式样例 #1样例输入 #1 样例输出 #1 我的一些话 【深基9.例1】选举学生会 题目描述 学校…

封装日期时间组件

概述 该组件包含日期选择&#xff0c;任意时间选择、固定时间点选择。 子组件代码(date-picker.vue) <template><div id"date_picker"><el-popover placement"top" width"322" trigger"click" ref"popover&quo…

【学习心得】图解Git命令

图解Git命令的图片是在Windows操作系统中的Git Bash里操作截图。关于Git的下载安装和理论学习大家可以先看看我写的另两篇文章。链接我放在下面啦&#xff1a; 【学习心得】Git快速上手_git学习心得-CSDN博客 【学习心得】Git深入学习-CSDN博客 一、初始化仓库 命令&#xff…

Go后端开发 -- 数组 slice map range

Go后端开发 – 数组 && slice && map && range 文章目录 Go后端开发 -- 数组 && slice && map && range一、数组1.数组的声明和初始化2.数组的传参 二、slice切片1.slice的定义和初始化2.len()和cap()函数3.空切片4.切片截取5…

基于深度学习的实例分割的Web应用

基于深度学习的实例分割的Web应用 1. 项目简介1.1 模型部署1.2 Web应用 2. Web前端开发3. Web后端开发4. 总结 1. 项目简介 这是一个基于深度学习的实例分割Web应用的项目介绍。该项目使用PaddlePaddle框架&#xff0c;并以PaddleSeg训练的图像分割模型为例。 1.1 模型部署 …

智能反射面—流形优化

使用Manopt工具箱适合优化最小化问题&#xff0c;如果你的优化问题是最大化问题&#xff0c;那么需要将其转换为最小化问题然后使用Manopt工具箱求解。 具体安装过程 Matlab添加Manopt - 知乎 (zhihu.com) 优化问题 clc,clear; close all; srng(1);%rand seed N10; GR_num1e3…

MathType中文网站2024最新版本下载及嵌入word教程

MathType是一款专业的数学公式编辑器,兼容Office word,excel等700多种程序,用于编辑数学试卷、书籍、报刊、论文、幻灯演示等文档轻松输入各种复杂的数学公式和符号。 MathType是一款功能强大的数学公式编辑器&#xff0c;广泛用于编写和编辑数学公式。Word是微软公司推出的文…

C语言练习day6

关于牛客网运行超时的问题 [NOIP2008]ISBN号码_牛客题霸_牛客网 题目 思路&#xff1a;这个题目重点在怎么去把这个ISBN号码正确输入&#xff0c;其实这个题目已经提示了我们一点信息&#xff1a;输入描述里说&#xff0c;是一个字符序列&#xff0c;其实我们就可以把这个IS…

中国社科院与新加坡社科大联合培养博士——单证还是双证?

有关博士学位&#xff0c;我想不用多说相信很多人都清楚&#xff0c;博士是我国学位等级中目前为止的最高学位&#xff0c;拥有了博士学位就相当于拥有了最高荣誉&#xff0c;但是&#xff0c;我国教育形式另开设了学历教育&#xff0c;对于学历教育的形式&#xff0c;在职博士…

MIT 6s081 lab1:Xv6 and Unix utilities

Lab1: Xv6 and Unix utilities 作业网址&#xff1a;https://pdos.csail.mit.edu/6.828/2020/labs/util.html Boot xv6(easy) 下载&#xff0c;启动xv6系统 $ git clone git://g.csail.mit.edu/xv6-labs-2020 Cloning into xv6-labs-2020... ... $ cd xv6-labs-2020 $ git …

Maxwell数据同步(增量)

1. Maxwell简介 1.1 Maxwell概述 Maxwell 是由美国Zendesk公司开源&#xff0c;用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作&#xff08;包括insert、update、delete&#xff09;&#xff0c;并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流…

浅谈智慧路灯安全智能供电方案设计

摘要: 智慧路灯&#xff0c;作为智慧城市、新基建、城市更新的主要组成部分&#xff0c;近些年在各大城市已得到很好的落地和 应用&#xff0c;但其与传统路灯相比集成大量异元异构电子设备&#xff0c;这些设备的供电电压、接口形式、权属单位各不相同&#xff0c; 如何设计一…

《绝地求生》职业选手画面设置推荐 绝地求生画面怎么设置最好

《绝地求生》画面怎么设置最好是很多玩家心中的疑问&#xff0c;如果性能不是问题无疑高特效显示效果更好&#xff0c;但并不是所有画面参数都利于战斗&#xff0c;今天闲游盒带来分享的《绝地求生》职业选手画面设置推荐&#xff0c;赶紧来看看吧。 当前PUBG的图像设置的重要性…

YOLOv5改进 | 主干篇 | 12月份最新成果TransNeXt特征提取网络(全网首发)

一、本文介绍 本文给大家带来的改进机制是TransNeXt特征提取网络,其发表于2023年的12月份是一个最新最前沿的网络模型&#xff0c;将其应用在我们的特征提取网络来提取特征&#xff0c;同时本文给大家解决其自带的一个报错&#xff0c;通过结合聚合的像素聚焦注意力和卷积GLU&…

1131. 拯救大兵瑞恩(dp思想运用,set)

1131. 拯救大兵瑞恩 - AcWing题库 1944 年&#xff0c;特种兵麦克接到国防部的命令&#xff0c;要求立即赶赴太平洋上的一个孤岛&#xff0c;营救被敌军俘虏的大兵瑞恩。 瑞恩被关押在一个迷宫里&#xff0c;迷宫地形复杂&#xff0c;但幸好麦克得到了迷宫的地形图。 迷宫的…

MySQL(三)——函数

上期文章 MySQL&#xff08;二&#xff09;——SQL 文章目录 上期文章字符串函数数值函数日期函数流程函数总结 函数&#xff1a;一段可以直接被另一段程序调用的程序或代码 字符串函数 函数功能CONCAT(S1,S2,…Sn)字符串拼接&#xff0c;将S1,S2,…Sn拼接成一个字符串LOWER…

分布式光伏运维平台在提高光伏电站发电效率解决方案

摘要&#xff1a;伴随着能源危机和环境恶化问题的日益加重&#xff0c;科技工作者进一步加大对新能源的开发和利用。太阳能光伏发电作为新型清洁能源的主力军&#xff0c;在实际生产生活中得到了广泛的应用。然而&#xff0c;光伏发电效率偏低&#xff0c;成为制约光伏发电发展…

基于SSM的交流论坛设计与实现

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