前言

账户体系和会计的设计是整个支付系统的底层基础,是支付系统在基础支付服务的基础上,为个人用户及企业商户提供的对于资金收、付、管的服务。本文所说的账户体系定义所有的操作均以交易的形式发生,但从金融核心系统的发展来看,将由以交易驱动转变为以用户为中心的按照产品进行管理的账户体系。

一. 交易模型

前文说道,本文所说的账户体系定义所有的操作均以交易的形式发生,即账户的变动均基于交易而发生。对于账户的处理,需要依据业务,结合相应的产品体系,建立交易模型。

如下:

  • 产品:如B2C网银、B2B网银、快捷支付、代收代付、身份验证、账户验证。

  • 交易类型:在产品的基础上,拆分出来的粒度更小的交易,如B2C网银支付可以拆分为收单、结算。

  • 账户体系:基于交易发生的账户变动,如C1用户转账至C2用户。

  • 账户体系:根据不同的交易类型对于会计科目进行设置,每笔交易会形成相应的会计分录,用于记账。一般需支持一借一贷和一借多贷,即每笔交易都会至少生成一组会计分录。

下面以B2C网银收单为例说明:

假设条件:

  1. 用户使用中国银行深圳分行B2C网银向企业商户下单购买商品。

  2. 支付公司结算至企业商户余额户。

二. 账户体系

账户按照所有权可以区分为个人账户、企业账户、内部账户。个人账户是面向个人用户开设的电子账户,如余额户记录用户在支付平台的余额,企业账户是面向商户开设的账户,如待清算户,基本户。内部账户是支付公司为自身业务开展的需求而为自己设立的账户,如备付金账户、长款户、短款户。除此之外,支付系统还可以根据业务需要设置各种不同的账户类型。

所有的账户都记录着两方面的信息

(1)账户的基本信息

  • 账户号

  • 账户类型

  • 余额

  • 币种

  • 账户状态

  • 开户时间

除此之外还可以设置对账户的权限进行控制,如:

  • 是否允许充值

  • 是否允许提现

  • 是否允许余额为负

(2)账户的流水信息

包括开户以来的所有账户变动变动信息,何时存入资金,何时取出资金,何时发生账户金额冻结等。

账务流水

账务流水包括一个账户所有状态变化的过程信息。账户管理系统对外提供了开户,记账、账户信息变更、账户信息查询等一系列接口服务。

如下表:

账户用例(仅记录商户侧)

(1)开户

商户A是一家电商平台,接入支付系统快捷支付,支持借记卡和贷记卡;对于手续费征收,经协商,采取收支两线,并预存手续费10000元,交易手续费费率为1%;同时因为该商户资质较好,交易时采取D0实时结算。

商户开户,根据商户交易特点,需开通以下账户:

  • 待结算户:用户在商户交易完成后,资金进入该账户。

  • 基本户:商户的余额户,可体现,交易结算后,资金进入该账户。

  • 手续费户:专门用来存放手续费的账户。

开户后各账户余额如下:

(2)收单交易

某用户上午9点在A电商平台上使用快捷支付购买1000元的手机,交易完成后,A商户待结算户增加1000元

手续费按照1%标准征收,由商户支出,故该笔交易手续费为:1000*1%=10元,计入手续费户,手续费剩9990元。

支付公司设置D0结算时间节点为每天下午4点。下午4点后,待结算户资金结转至基本户。

账户变动如下:

(3)提现

A商户在下午4:30时,发起提现600元,商户提现手续费按笔征收,每笔2元。

商户提现600后,基本户剩400元,同时每笔需付出手续费2元,手续费户剩余9988元。

账户变动如下:

三. 会计核算体系

按会计科目所反应经济内容的不同一般可分为资产类科目、负债类科目、资产负债共同类科目、所有者权益类科目、损益类科目。

资产类科目余额方向在借方,负债类科目余额方向在贷方,资产负债共同类科目根据实际情况可借方可贷方。

会计科目分为总账科目和明细类科目。

  1. 总账科目,又称一级科目,是总括反应会计要素的科目,如银行存款、应收账款。

  2. 明细类科目,是对总账科目所包含的内容的细化所形成的科目。在明细科目中,根据需要设计二级科目、三级科目。其中,没有下级的科目称之为叶子科目。注:只有叶子科目下才可以开账户。

常见会计科目:

(1)资产类科目

  • 银行存款

  • 应收账款

  • 在途调拨

(2)负债类科目

  • 个人账户余额户

  • 公司(商户)账户余额户

  • 应付账户

(3)共同类(主要是待清算)

  • 待清算充值款项

  • 待清算提现款项

  • 待清算支付款项

会计科目与账户的对应关系见下图:

四. 业务流程

1. 总体交易流程

(1)业务系统

  • 交易网关:处理个人或者企业用户的充转提业务

  • 资金调拨等系统:进行资金调拨时,调用账户记账;长短款的处理。

  • 其他系统:其他业务系统的账户记账请求

(2)账户系统

记录每笔交易的交易收付记录

(3)会计系统

按照企业会计分录流水记账,记账采用复式记账法。

(4)清结算算系统

  • 交易清分,算出给每个账户打多少钱,同时从每个账户收多少钱;

  • 交易结算出款:调用银行/通道代付接口,自动出款。

  • 对账:核算通道与支付系统的应收应付。注:对账业务流程最好不要跟清算、结算勾连在一起,跟上游通道对账与给商户付多少钱最好不要业务先后关系。

2. 账户、会计处理流程

来自支付系统交易,一笔交易至少会在账户系统中产生一条账户流水记录(明细账),同时会在会计系统中根据业务的需要产生一套或者多套会计分录流水,账户余额与会计余额相对应。概括之,账户系统是提供对外客户的账户支持,客户的查询余额,账务明细均来自于此;会计系统是为了内部核算管理的需要而设立的,所有的银行资金清算与结转都需要会计系统的支撑,内部户与外部户的资金核算管理也需要会计系统,两个系统相互依赖,账户系统是会计系统的前置。

记账过程如下:

  • 在前端支付订单产生之后,支付系统按照订单内容封装成各类交易,并组成交易报文,通过银行通道提交到银行进行支付;在银行完成支付交易指令的处理后通知到支付系统,支付系统根据银行报文内容通知到商户订单的处理结果之后,交易处理过程即告完成。

  • 为提高交易性能,交易必须与账务分离,以提高交易处理性能和效率,从而有针对性的分块解决复杂业务逻辑。因此,在支付交易处理完成之后,前端交易处理系统根据业务场景将交易分实时和非实时记账的方式,将成功的交易以流水的形式提供给账户系统。整个交易过程,在支付核心送账户系统时其实已完成。

  • 账务的处理分为账户系统处理和会计系统处理,账户是会计的前置。交易流水到达账户系统之后,账户系统为每笔交易分配账务流水号,账务流水号的形成,需要账户前置调用计费服务,算出商户的交易手续费。账户流水形成后,若是非实时记账,则直接通知业务系统记账完成,之后再开始记录分户账和更新余额,若是实时记账,则系统开始记分户账与生成账户余额,余额更新完毕后,通知业务系统记账完成。

  • 账户系统记账完毕后,将定时以批量文件的方式送会计记账,同理,会计记账也将为每笔交易分配会计流水,对于会计记账,需支持一借一贷、一借多贷和多借一贷的记账模式。会计记账也分为记分户明细账和更新会计余额。

  • 会计记账完毕后,每日日终时,进入日终批处理过程,日终批处理是对日间没有处理完毕,以及不需要在日间处理的任务进行批量处理。在记账中,日终批处理主要指业会核对,即账户系统余额与会计系统余额间的核对。

至此,整个记账处理过程才算真正结束。

技术学习交流群

 「架构君」建立了读者群,可以添加我微信拉你进群

添加时可以备注城市+职位+年限】

强势开源一款小程序!
2021-11-07
强力推荐一个完善的物流(WMS)管理项目(附代码)
2021-10-23
推荐一个 Spring Boot + MyBatis + Vue 音乐网站
2021-10-19
分享一套家庭理财系统(附源码)
2021-09-20
推荐一个互联网企业级别的开源支付系统
2021-09-04
推荐一套开源通用后台管理系统(附源码)
2021-08-21
一款神仙接私活儿软件,吊到不行!
2021-07-31
基于 SpringBoot 的仿豆瓣平台【源码分享】
2021-07-18
干掉 Wordpress!这个开源建站神器有点吊!
2021-06-18
从朋友那里搞了 20 个实战项目,速领!
2021-06-12

如有收获,点个在看,诚挚感谢

支付系统中,账户体系的设计与记账处理相关推荐

  1. 支付系统设计:支付系统的账户模型(一)

    作者:凤凰牌老熊   来源公众号:凤凰牌老熊 支付账户和登录账号 账户体系设计首先要区分两个概念,支付账户和登录账号.这是两个不同业务领域的概念:支付账户指用户在支付系统中用于交易的资金所有者权益的凭 ...

  2. 2000字长文:探讨报销系统中的数据分析框架设计

    1.报销系统简介 报销系统就是平常企业运行时员工进行报账的地方.当我们出差回来,垫付的交通费酒店费等需要报销时,用到的就是报销系统.对于传统的报销来说,需要线下操作以及一系列复杂的审批流程,但有了报销 ...

  3. 支付系统中的设计模式01:初始需求

    互联网的发展极大地方便了人们的日常生活,深刻地改变了各行各业的面貌,尤其是在线支付(包括各种移动支付.指纹支付.刷脸支付等等),在前几年还和「高铁」一起,成了推动和见证中国高速发展的一张名片.现在,不 ...

  4. 计算机中复合模板在哪,冷冲模CAD系统中装配模板的设计与复合算法研究-计算机软件专业论文.docx...

    冷冲模CAD系统中装配模板 冷冲模CAD系统中装配模板 的设计与复合算法研究 摘要 文章首先综述了国内外模具CAD/CAM技术的发展概况.指出了模具设计 过程的规范化.设计方法的算法化及数据结构的合理 ...

  5. 支付系统中的对账处理

    博主说:在支付系统中,对账是至关重要的一部分,一个完善的对账体系,是支付系统健壮的基石. 正文 可以说,对账是支付系统最头疼的事情.每一笔交易,都要做到各参与者的记录能够吻合,没有偏差.对账系统的工作 ...

  6. 基于JAVA服务器监控系统设计,远程数字图像监控系统中web服务器的设计与实现...

    摘要: 数字图像监控系统在目前处于小规模发展阶段,系统的核心是监控服务器.在一些小规模的应用中,监控服务器同时还充当着监控终端的角色.但是,大部分监控系统都没有考虑用户权限.安全性.收费模式等方面的问 ...

  7. 支付系统中订单redis防重的使用

    支付系统中订单redis防重的使用

  8. 面试精讲之面试考点及大厂真题 - 分布式专栏 19 系统中的降级熔断设计

    19系统中的降级熔断设计 青年是学习智慧的时期,中年是付诸实践的时期. -- 卢梭 引言 稳定性设计第一篇:在分布式系统下,线上的某一个功能按钮背后会有很多个服务共同完成,这些服务之间有依赖关系,且有 ...

  9. 支付系统中如何应用加密方式的

    支付系统中如何应用加密方式的 加密方式分为 对称加密 和非对称加密.支付系统中主要使用 非对称加密. 非对称加密在支付系统中的具体应用是 消息的加解密(公钥加密,私钥解密), 消息 签名 和验签(私钥 ...

  10. mysql好友关系数据表设计_社交系统中用户好友关系数据库设计

    基础分析 第一步,有一张用户表,表内包含用户的基本信息,比如账号.姓名.性别等信息.这里用tb_user表示用户信息表. ID用户名 1张三 2李四 3王五 4赵六 第二步,需要将用户与用户直接建立好 ...

最新文章

  1. linux c 获取屏幕信息,Linux C 获取本机相关信息
  2. PyTorch LSTM,batch_first=True对初始化h0和c0的影响
  3. 剑指Offer-二叉树的镜像
  4. python绘制三维散点图-Python散点图与三维图
  5. 在java的内存分配中存在下面一些内存划分
  6. tomcat的缺少tcnative-1.dll的解决
  7. node-inspect命令行工具的调试使用方法
  8. Bzoj4822 [Cqoi2017]老C的任务
  9. Wi-Fi 联盟撤销华为资格;华为已熟练掌握 ARM 架构修改;苹果 2020 年或推 5G 手机 | 极客头条...
  10. Java 面向对象 知识点基础浅谈
  11. x230无线网卡驱动服务器版,联想ThinkPad X230无线网卡驱动 V18.40.4官方版
  12. python秒杀脚本 拼多多_点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本...
  13. 前端工具以及其他一些东西
  14. unity 使用粒子系统 实现一个火焰燃烧效果
  15. SwiftUI - @Binding
  16. PSQLException: ERROR: permission denied: no privilege to create a readable gpfdist(s) external table
  17. 神仙道玄奇套装材料大全
  18. 你肯定没见过,科幻作品中的邪恶圣诞老人
  19. 电池包IPX9K、IPX9测试目的
  20. 计算机安全模式有哪些作用是什么意思,进入安全模式后有什么用处?

热门文章

  1. linux如何修改引导分区表,修改引导记录
  2. 一文搞懂Object.create()、new Object()和{}创建对象的区别
  3. FFmpeg — 视频剪辑、动静水印、转场特效[gl-transitions]
  4. 色彩混合模型——两种三原色
  5. EPSG和WKID空间参考之--坐标系简单理解
  6. FeignClient方式调用第三方接口
  7. CSDN刷访问量专用博客
  8. Json格式乱码处理方式
  9. 吴恩达机器学习——第一周学习笔记
  10. 计算机与通信工程学院运动会海报,【图文】运动会宣传海报资料