账户系统从0到1搭建

news2025/8/23 14:57:37

一、什么是账户/账户的作用?

账户是记录账户所属人(账户主体)资产增减变化的载体,简单来说账户系统就是用来记账的,这也是账户系统最核心的功能,在这个基础之上也会根据业务需要衍生出来的其他附属功能。

为了方便大家理解,我们可以找下账户系统对应现实生活中的映射,最常见的就是古代商铺的账本,账房先生(清结算系统)需要在账本上(账户系统)记清楚这家店铺的每一笔收入和支出(账户流水),从上面的例子可以看出来,账户系统本质就是一个电子账本。

说到【账】这里多说一点,大家平时能接触的【账】有2套:

1)业务账

也就是我们这次要分享的内容,主要是由于业务开展产生的各参与方资产变动,难在业务场景与规则,系统功能建设相对还好,难度可控。

2)财务账

很多人觉得财务很难,主要是因为财务侧记账用词更专业一些,例如会计科目、会计分录、借贷记、试算平衡等等,但其实没有那么复杂或者说即便复杂也和你没关系,原因主要是2个:

和你无关:对于大多数公司来说,完全自研严格意义上财务记账系统成本非常之高,大部分公司还是采购金蝶/用友等财务saas,要求高一些的可能会针对性的做一些开发,大多数人压根没有机会接触上述的专业词汇。

没那么复杂:每家公司对于财务系统的定义都不一样,有的把资金结算系统划到财务系统,有的把发票/差旅报销划到财务系统等,这些产品基本上都和上文说的专业词汇无关,梳理好业务流程没那么复杂。

解法:如果涉及到财务记账相关工作,先和财务同学聊清楚做账/结账流程,其实财务不难,说到底也是把业务数据转化成会计语言、线下流程在线化,真要涉及到会计相关的专业知识,买一本《初级会计基础》,多翻翻对应章节,然后多与财务同学聊一聊,足够你解决问题。

二、账户的分类

1. 账户分类

账户划分有很多维度和标准,为了方便大家理解,我先按照最简单的分类方法说下,按照账户管理方可以大概分为3大类:平台账户(自己公司)、支付机构账户、银行账户,顾名思义就是这三方对各自账户的管理负责(增、删、改、查等),市面上所有账户都包含在这3个体系内。

同时根据是否沉淀资金也可以分资金类账户非资金类账户,平台账户合规情况下都是非资金类账户,仅是记账作用,支付机构和银行卡账户则会沉淀真实资金,划到资金类账户,简单画了一个图,如上图。

2. 记账场景简述

平台账户按照账户记账的资产类型不同,又可以细分为积分账户、资金账户、金币账户、欢乐豆账户等等,资产类型最终还是反应到实际的业务场景,例如积分账户可能涉及到打卡送积分、购买送积分等等,其他相似,不再赘述。

支付机构与银行账户,可以直接沉淀用户/商户资金,用户可直接进行充值/提现/转账,最常见的就是微信/支付宝余额账户与银行储蓄卡/存折,同时根据鉴权信息的多少,支付机构与银行账户又会对账户进行等级的划分,也就是常说的Ⅰ、Ⅱ、Ⅲ类账户,简单来说你验证的信息越多,你的账户权限越高、交易限额越高、可使用的范围越多,如下图所示:

3. 账户的功能

上面也说了账户最核心的功能是记账,除了记账外,还会根据业务实际需要增加其他功能,常见的附属功能及对应业务场景如下:

1)充值

充值有两个比较常见的场景:

保证金/押金充值:这个还属于比较常见的业务场景,共享单车押金、商家入驻电商平台、劳动者入驻外卖平台等等。

余额充值:这个业务场景也很多,很多电商平台都支持充值(见下图),甚至为了鼓励用户充值还会有使用营销手段,例如充1000送100,最终目的是为了增加用户黏性,让用户持续在平台消费,也不排除可能部分平台也有挪用资金用作他用的想法。

2)余额支付

这个是是和充值配套的功能,充值后得支持用户使用余额支付才行,不然没有太大的业务价值,用户也没有动力去充值。

3)提现

这个很是很常见的业务需求,资金结算至商户/用户账户后,商户/用户线上直接将资金提现转银行账户,降低运营/财务压力,同时用户体验相对于线下打款的方式也好得多。

4)转账

这个日常生活中用的较多,例如微信/支付宝转账,但在实际的业务开展中用的比较少,因为微信/支付宝有一定的社交关系链在里面,一个平台上的两个商户/用户谁都不认识谁,基本上不存在互相转账的场景,可能平台向商户转账还存在业务可能性,但实际上也很少遇到。

5)合规问题

正好趁着这块说下合规问题,大概率有人会说上述中账户充值和余额支付不合规,若账户充值与支付走的不是银行和支付机构的账户,确实存在合规风险,但灵魂拷问来了:你们平台目前的发展阶段真的需要考虑合规问题吗?

我之前在支付公司见到过很多平台在自建账户做充值/余额支付、二清,月交易额过亿的也不是没有,倒不是说他们做得对,但实际上如果不是上市或进行大额融资(不一定会),在不被恶意举报的情况下,基本上没有人关心平台的资金合规问题,别人关心的是你们业务模式有没有跑通,未来增长空间怎么样?拼多多早期也被举报“二清”,但也不影响其成为中国第三大电商平台。

我想表达的是:资金合规是重要,但也不能因噎废食,更不能以这个为理由阻碍业务发展,业务都没了,资金再合规的意义何在?有风险可以正常提,提前暴露,让财务/法务做好备案,但绝不能阻碍业务发展

4. 账户流程/名词解释

账户作为账务数据的载体,会有较多系统/业务交互流程,我在这里简单介绍一下,也把账户中心的几个关键词也同步说明下,方便大家理解。

1)流程说明

开户:这个比较好理解,就是为参与方开通账户的流程,账户中心提供开户接口,上游商家/供应商系统,根据业务需要自行请求开户接口完成开户动作。

注销流程:原理与业务场景同上文开户流程,不再赘述。

入账流程:上游结算系统请求账户中心入账接口,完成资金入账。

冻结/解冻流程:冻结解冻流程分为2个维度:

账户冻结:主要为账户所有方触发平台风控(如违规、舆情客诉等),需将账户冻结防止资金提现,可以手动冻结,也可以由上游系统(如奖惩/风控系统)通过接口冻结。

金额冻结:金额冻结有2种形式,一种是冻结账户中可用余额的部分金额,原因与上述风控原因冻结,可手动冻结也可调接口自动冻结,一种是平台自身账期需求,参与方资金入账时,便将流水冻结,此只可系统自动冻结。

调账流程:简单来说就是手动调增/调减账户所有方的账户余额,这个功能需要谨慎使用,仅在部分无法通过系统入账的场景中使用,或进行业务前期阶段使用,例如提现暂未做到线上化,可以线下打款,线上手动扣除账户余额来实现。

因为涉及到账户实际资金数据,为防止人恶意调整账务数据,平台可视情况加上调整次数或调整时间限制,也可加上审批流程,一个要点:凡涉及到钱,必须谨慎。

提现流程:商户/劳动者在线发起资金提现,账户系统扣减余额,请求提现平台完成资金出款。

2)名词解释

账户主体:简单来说就是此账户属于谁,每个账户都有所属的唯一主体ID,一个主体可以拥有多个账户,如下图所示:

主体类型:主体类型也即是账户所有方的类型,再具象一些就是业务参与方类型,举个例子,一笔订单可能涉及到供应商、分销员、销售等等,对应主体类型就是:供应商、分销员、销售。

账户流水:简单来说即是记一笔账需要记录的信息,这个根据自身业务需要加减,如下图所示:

费用类型:关于费用类型我已经在上篇文章中详细说明过,可以去查看下,在账户中心第二篇文章中会再说下,就不在此赘述了。

入账规则:即决定某一费用类型的资金结算到哪个业务线的哪个主体的哪个账户中。

冻结规则:与入账规则为一一对应关系,确定此费用类型入账后是否冻结,如需要冻结,如何冻结?按照固定时间点冻结还是固定间隔冻结。

5. 账户中心的价值

账户中心的价值主要有2个方面:体验/效率、业务价值,我们分开说一下:

1)效率/体验

效率方面主要是极大降低了运营薪资计算与财务资金核对与打款的压力,也降低了出错的风险,效率则是极大提高了账户所有人资金提现体验与资金数据感知体验(账看的清楚)

2)业务价值

业务价值主要体现在2个点:

管理抓手:提供一个劳动者/商户管理的抓手,通过账期冻结与扣除的结合,若劳动者/商户发生违规,除可以扣除保证金外,还可以扣除账户内资金,甚至扣成负数;

业务增长:配合账户充值与余额支付,搭配充值的营销手段鼓励用户充值,进而增加用户黏性,持续在平台消费,增加平台收入。

三、系统架构

从上图可以看出账户中心在整个资金结算过程中处于最底层,也即是账户中心不实际影响业务规则,只负责记录业务产生的资金数据,按照系统职能划分的话,账户系统划到中台体系内是没有什么疑问的。

四、总结

本篇我们讲了账户系统的基础,包括业务价值、核心业务流程、系统架构,好让大家从概貌上理解账户系统,总体还是从业务的角度出发去理解与建设账户系统,我一贯的观点也是每篇必说的观点,系统不重要,业务最重要。

下篇我会从实际系统建设出发,分享如何从0到1搭建账户系统,主要包括各系统间交互流程、关键原型图与核心业务规则、主要对外接口等。

原文出自:https://www.toutiao.com/article/7189478201628819979/?log_from=1e2b5fdda6f0d_1674052827666

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

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

相关文章

Kotlin 元编程之 KSP 实战:通过自定义注解配置Compose导航路由

在上一篇 Kotlin 元编程之 KSP 全面突破 中,通过几个设计模式相关的例子来生成代码,其逻辑都比较简单,没有涉及到Android相关的API 业务类,而本文的例子会涉及到使用 Android API 相关的代码。 在之前Jetpack Compose中的导航路由…

【MySQL进阶】MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!)

【MySQL进阶】MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!) 参考资料: 美团技术团队:Innodb中事务隔离级别和锁的关系 数据库的锁,到底锁的是什么? 阿里面试:说说…

来给博客除草了:Learned Indexes for a Google-scale Disk-based Database

1. 引言 这是一篇业界发表在NeurlIPS 2020的Wip论文《Google规模的基于磁盘的数据库的学习索引》。自从学习索引祖师爷Tim KraskaMIT在SIGMOD 2018发表了第一篇learned index的工作之后,有关学习索引的paper呈现 increasing trend。目前,较多的工作focu…

Java基础漏洞(四)

(1)递归调用的内存 我们定义一个类A,在类A中定义方法test来验证递归。在程序中,当条件符合的时候会不断的递归,只有遇到终止条件时才不再递归,然后便会执行递归语句之下的语句。 如以下程序:当…

高效节能 | 智慧灯杆综合管理解决方案

智慧灯杆的应用越来越广泛,园区、景区、道路照明,三站一场等户外场所大规模铺设路灯,通过智慧物联平台远程控制,可以实现高效节能和智能化运维管理。以解决传统运维管理中,不同路线路灯设备控制不统一,设备…

Yjs解析

本文引用自 摸鱼wiki 1. YATA算法解析 YATA算法是Yjs库的核心冲突解决算法,这里主要讲解下这个算法成立的三个规则: 规则1:禁止发生冲突的插入操作之间的origin连线(红线)发生交叉。 如上图所示,图中展示…

IDEA创建SpringBoot的Web项目,并使用外部Tomcat

IDEA创建SpringBoot的Web项目,并使用外部Tomcat 目录IDEA创建SpringBoot的Web项目,并使用外部Tomcat一、创建工程二、使用外部Tomcat一、创建工程 1.首先新建一个springboot的war工程,并且将外部的Tomcat整合进我们的idea中,我们…

GW1NSR-LV4CQN48GC6/I5 FPGA呼吸灯

环境 pwm.v $ cat pwm.v module Pwm( input clk, input [31:0] period, input [31:0] duty, output pwmout ); reg [31:0] counter; reg r_pwmout; always (posedge clk) begin if(counter < duty) begin r_pwmout 1; end…

裸机与RTOS到FreeRTOS基础 | FreeRTOS一

目录 一、裸机与RTOS 1.1、裸机 1.2、RTOS 二、FreeRTOS简介 2.1、介绍 2.2、特点 2.3、如何查找相关资料 三、FreeROTS基础 3.1、任务调度 3.2、任务状态 一、裸机与RTOS 1.1、裸机 不带操作系统&#xff0c;又称为前后台系统&#xff0c;前台系统指中断服务函数&a…

docker搭建Openldapphpldapadmin

1&#xff1a;拉取镜像 docker pull osixia/openldap:1.5.0 docker pull osixia/phpldapadmin:0.9.0 2: 编写docker-compose.yaml cd /data/docker/ldap vi docker-compose.yaml docker-compose.yaml内容如下&#xff1a; version: 3.1 services:openldap:image: osixia/o…

python入门常用知识

文章目录前言一、定义二、Tips1.常用方法2. 常用modulestatistics 统计分析常用模块SciPy 算法及统计分析库总结前言 本文用来记录在使用python时一些基础的定义、基础用法或Tips。 一、定义 多变量定义&#xff1a; a, b, c 0, 0, 0数组定义&#xff1a; # 变量定义 a …

CANN 2022 | 开放升级,跃升新台阶

每一位开发者&#xff0c;都是改变世界的力量每一位开发者&#xff0c;都在创造一往无前的AI时代每一位开发者&#xff0c;都在2022砥砺前行&#xff0c;期待在2023再露锋芒逆光而行&#xff0c;只为拂晓回忆2022&#xff0c;哪些年度关键事件让你记忆犹新&#xff1f;是披星戴…

聊聊红黑树,B/B+树和键树

RB树 RB树和AVL树类似&#xff0c;是一种自平衡式的平衡二叉搜索树&#xff0c;AVL不是保证平衡因子不能超过1&#xff0c;红黑的话没有这个要求&#xff0c;他的结点非黑即红&#xff0c;可以达到Logn的查找&#xff0c;插入&#xff0c;删除 RB树的五条性质&#xff1a; 1…

【markdown】语法 添加`emoji`表情

&#x1f4bb; 【markdown】语法添加emoji表情&#x1f3e0;专栏&#xff1a;其他 &#x1f440;个人主页&#xff1a;繁星学编程&#x1f341; &#x1f9d1;个人简介&#xff1a;一个不断提高自我的平凡人&#x1f680; &#x1f50a;分享方向&#xff1a;目前主攻前端&#…

与资源限制有关的题目

文章目录0、资源限制技巧汇总1、题目一&#xff1a;40亿个数&#xff0c;内存限制为1G&#xff0c;如何找到出现次数最多的数2、题目二&#xff1a;40亿个数&#xff0c;内存限制为10MB&#xff0c;找到所有未出现过的数进阶问题1&#xff1a;40亿个数&#xff0c;内存限制为3K…

【计算机体系结构-02】机器模型

1. 机器模型 (Machine Model) 计算机的基本工作就是进行运算&#xff0c;那么计算就需要有用来处理计算方法的处理单元和提供或保存数值的存储单元。一般将用来处理计算方法的处理单元称为 算术逻辑单元 (ALU--Arithmetic Logic Unit)。在一个计算过程中可能会是这样的一个流程…

springboot整合flowable

自动部署 流程图提前画好&#xff0c;放入 指定文件夹 配置&#xff1a; spring.datasource.usernameroot spring.datasource.passwordroot # nullCatalogMeansCurrenttrue 自动生成表 spring.datasource.urljdbc:mysql:///flowable_process?serverTimezoneUTC&nullCat…

CISP_VULHUB_HACK ME PLEASE

vulhub_HACK ME PLEASE简介扫描开放端口探测web服务搜集seedms的信息登录mysql&#xff0c;尝试获得seeddms的密码利用RCE漏洞提权简介 靶机链接&#xff1a;https://www.vulnhub.com/entry/hack-me-please-1,731/难度&#xff1a;简单描述&#xff1a;一个完全为OSCP设计的简…

数据结构之经典八大排序的实现(万字详谈)

文章目录前言1.插入排序2.希尔排序3.选择排序4.堆排序5.冒泡排序6.快速排序hoare方式版本快排实现非递归方式实现快排挖坑法实现快排前后指针法(双指针法&#xff09;快排的各种优化1.减少后几层的递归调用(小区间优化&#xff09;2.三数取中优化3.三路划分(处理大量重复数据&a…

信息论复习—信息的度量

目录 离散信源信息的度量&#xff1a; 离散信源的信息量&#xff1a; 单符号离散无记忆信源&#xff1a; 离散无记忆信源及熵&#xff1a; 自信息&#xff1a; 信息量的定义&#xff1a; 信息熵的定义&#xff1a; 熵的性质&#xff1a; 离散信源的最大熵定理&#xf…