支付设计白皮书:支付系统的总架构!
上一篇:巧用 SSH 打通外网限制
大家好,我是顶级架构师。
前言
种一棵树最好的时间是十年前,其次是现在
中国互联网支付总架构
小六六要买三只松鼠,那么首先我得找一个电商平台,这边用的是京东,所以最开始的话我们接触的可能是一个电商平台 选好东西之后,六六这边就要去下单,下单完成之后,进入到了京东的收银台了,京东的收银台,包含了京东支付,微信支付,云闪付等等,支付宝目前还没看到,这些属于第三方支付,这些支付方式在中国都是需要支付牌照的。 那么这些支付方式其实接的是我们商业银行的支付通道,然后通过支付通道到了我们的银联和网联 最后到达我们的中国人民银行,也就是我们常说的央妈!绝对的食物链的顶端,所以一笔小小的支付都是经过这么多的参与方的
来看看京东支付的架构
其实这几秒钟整个支付的链条跋山涉水,翻山越岭经历千险,
支付架构解析
支付系统架构
业务层负责为业务系统提供收付款的操作界面以及处理业务系统提交的交易请求; 支付层负责通过支付渠道实时处理完成资金的收付款、记录参与交易的账户间资金流转情况并按照预定规则对账户所属资金进行拆分与合并。
收银台
付款即通过各类支付方式针对业务订单发起付款,例如:用户在天猫店购买一件衣服,确认订单后自动跳转至支付宝,引导用户选择对应的方式(余额、花呗、银行卡等)进行付款。 充值即用户对账户进行余额充值,例如:用户登录支付宝、微信或其他商户自有钱包系统对账户余额进行充值。
交易核心
用户付款成功后对应交易的付款成功状态; 用户确认收货后对应交易的成功状态。
会员系统
通常,企业会员会配置一定的业务参数,比如结算周期、接口权限、支付方式配置等(开通商户权限的情况下); 在大多数互联网公司,支付系统仅需要对接支付渠道的模块,在没有独立平台化的情况下,不太会出现需要独立的账户体系。
支付核心
支付核心的边界:
支付服务:负责对后端支付系统的接口进行业务包装,同时实现使用多个支付方式进行组合支付的功能;
支付服务流程:对各支付类型的支付服务流程进行定义,具体定义为充值、提现、内转支付(转账)、退款等原子类型,并实现对基础服务的流程编排;
支付指令:发起订单后,通过协议和协议明细项加工得出支付指令,需具备进行后续操作处理的全部要素信息;
支付协议:根据产品设立支付协议,因此支付协议的关键要素包含产品码及支付编码,定义着产品的处理流程、收付款信息、对应的支付渠道信息。
账务核心
账务核心的功能为,根据前端业务系统的要求设计相匹配的账户类型、管理各类账户、记录账户资金变动等,同时,按照公司内部的财会规范提供反映各账户间交易资金变化情况的会计数据;并且负责将自身记录账务流水与支付渠道结算资金和结算流水进行核对,对对账结果中出现的差错交易进行差错处理。
清算核心
结束
由此可见如果你要做一个第三方支付公司的,大大小小估计得建设几十个系统呢?所以来说,支付并不简单!
欢迎大家进行观点的探讨和碰撞,各抒己见。如果你有疑问,也可以找我沟通和交流。扩展:接私活儿
最后给读者整理了一份BAT大厂面试真题,需要的可扫码回复“面试题”即可获取。
「顶级架构师」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。
扫描添加好友邀你进架构师群,加我时注明【姓名+公司+职位】
版权申明:内容来源网络,版权归原作者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。
猜你还想看
牛逼!接私活必备的 N 个系统项目!赶快收藏吧(附源码合集第 3 期)!
SpringBoot 加一个注解,轻松实现 Redis 分布式锁!
获取 /resources 目录资源文件的 9 种方法,还有谁不会?!