支付后端核心课:账务系统设计思想+异常场景全解|信贷转支付避坑指南_第1页
支付后端核心课:账务系统设计思想+异常场景全解|信贷转支付避坑指南_第2页
支付后端核心课:账务系统设计思想+异常场景全解|信贷转支付避坑指南_第3页
支付后端核心课:账务系统设计思想+异常场景全解|信贷转支付避坑指南_第4页
支付后端核心课:账务系统设计思想+异常场景全解|信贷转支付避坑指南_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

直接update用户余额字段;放款成功,直接把直接改余额?属于严重违规操作。支付系统的底层灵魂,就是账务设计。80%的生产事故,本质上都是账务设计不严谨;80%的复杂度,都集中在异常场景处理。今天就把支付账务系统的核心设计思想、高频异常场景处理、支付级安全规范一次性讲透,帮你完很多人觉得账务系统复杂,其实核心就是三条铁律,理解了本质,设计就不·永不物理删除:哪怕是录错了、冲正了、作废了,也只能做红字冲销,原流水永远保流水表核心字段(必含):一句话记住:流水是因,余额是果。所有余额变动只能由流水触发,不能凭在支付系统里,这么写就是重大设计缺陷图1.无痕迹:直接改余额,没有操作记录,出了问题根本查不到是谁改的、为什么改。2.易出错:并发场景下,多次update容易出现覆盖丢失,余额不准。3.不合规:支付监管要求所有资金变动可追溯,直接改余额属于无凭证记账,严重违1.先写入一条待确认的交易流水2.业务确认成功后,更新流水状态为成功3.在同一个数据库事务里,根据流水的借贷方向和金额,更新对应账户的余额·字段:账户ID、币种、当前余额、冻结余额、可用余额、版本号(乐观锁)·并发控制:用乐观锁(版本号)或数据库行锁,保证同一账户同一时间只有一笔记账操·单式:商户账户+1000元(不知道钱哪来的)复式记账的最大好处是自动平衡校验:所有科目借方总和=所有科目贷方总和,不等就一定出错了,能快速发现问题。场景1:用户还款代扣成功,资金进入商户账户借:待清算结算款项1000元贷:商户主账户1000元场景2:商户发起代付放款,资金打给借款人借:商户主账户10000元贷:待清算结算款项10000元理解诀窍:资产类科目,借是增加,贷是减少;负债类科目,贷是增加,借是减少。商户账户对支付机构来说是负债,所以贷是增加,借是减少。调用银行代付/代扣接口,网络超时或者没有返回,不知道银行那边到底是成功了还是失败了。错误做法(信贷常见思维):后果:如果银行实际已经扣款成功,你这边判失败,就会造成用户钱扣了但1.初始状态置为「处理中」:不判成功也不判失败,流水记处理中,余额不动。2.启动轮询查询机制:按照递增间隔(10s、30s、1min、5min...)调用银行的交易查询接-查询到成功:更新流水为成功,正常记账,更新余额-查询到失败:更新流水为失败,业务回滚4.超时兜底:超过一定次数/时间仍查询不到,转人工挂账处理,绝对不能自动判定失一次性提交1000笔代付放款,银行返回300笔失败、700笔成功。要么整批判成功,要么整批回滚。1.逐笔处理,逐笔记账:批量提交,异步逐笔返回结果,每一笔单独更新状态、单独记3.失败交易:标记失败,不扣账;如果已经预扣了资金,原路退回商户账户。4.退票匹配:银行退票资金退回时,必须匹配原交易单号,冲销原记账,不能当成一笔用户还款1000元,已经通过智能分账拆成950元资金方子账户、50元平台子账户。现在用户申请全额退款,但资金方子账户里的钱已经被提现了,余直接扣成负数,或者只扣主账户的钱。后果:子账户透支,违反账户管理规定;资金链路混乱,对账对不上。方案一:原路回滚+挂账按分账比例从各子账户依次回扣:·资金方子账户有多少扣多少,扣至0元由商户主账户统一垫付全部退款金额:交易结果通过MQ通知账务系统记账,出现MQ消息丢失,或者重复消费。丢了顶多业务状态没更新,补一下就行;重复了顶多状态重复更新,不影响·重复消费:同一笔交易记了两次账,余额多加了一次,资金长款,造成资金损失风1.幂等兜底:账务记账接口严格基于流水号做幂等,同一流水号重复调用,直接返回成2.消息确认机制:账务处理成功后再手动ack消息;处理失败不ack,MQ自动重试。3.对账兜底:每日日终对账,用上游通道对账文件核对内部流水,发现漏记补记、多记作用:防伪造请求、防参数篡改普通业务系统用token做身份认证,知道你典型场景:如果没有签名,黑客截获代付请求,把收款卡号改成自己的,钱这不仅是安全要求,更是监管硬性要求,检查不过直接停业整改。黑客截获了一个合法的代付请求报文,如果没有防重放,他就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论