第三方支付设计——自有账户支付
笔者在上一篇blog<<第三方支付架构设计之—帐户体系>>中已经稍微全面的阐述了第三方支付架构设计中的账户体系,在该体系中,其实涉及了各种各样的账户:银行侧账户(包括用户在银行侧的账户:用户借记卡,信用卡,商户在银行侧的清算账户,结算账户等),第三方支付自有账户(跟银行侧账户比较类似,包括用户在第三方支付公司的账户和商户在第三方支付公司的账户)等。
我们知道,第三方支付本身是不直接接触实际资金的,所有的资金流必须走银行系统进行,因此这里涉及到的实际资金流的时候就会把交易请求转接到银行系统进行,
银行侧账户我们大家相对比较了解,本章暂时先放一下,后续介绍快捷支付的时候,我们会进一步详细的讨论。
本章我们重点会放在第三方自有账户体系中,大家知道,第三方支付公司都会建立自己的账户系统,比如国内主流的第三方支付公司:支付宝,财付通等,都有自己的账户体系,具体在产品上表现为:支付宝余额,财付通余额,这是比较官方to c的账户,还有其他二级账户如:理财通余额,积分子账户,微信钱包余额,红包余额等,另外还有to B的商户账户,我们常说的商户接入需要申请商户号就是这个道理。
那么,这里有个问题:第三方支付搭建自有账户体系的必要性和目的是什么?让用户直接使用银行的账户本身不就是可以了吗?这里没有简单的答案,但笔者认为有几个方面的因素是非常重要的:
1,资金沉淀。
通过建立自有账户体系,对用户的资金进行沉淀,这本身是一个比较大的资金池,用户通过充值,支付等把资金转入了第三方支付公司在相关银行的清算账户-客户备付金账户,同时,在自有账户体系记录了一笔虚拟资金的入账,即增加等额的余额。
通过自有账户体系对用户资金进行管控,当然该账户的资金会受到监管,第三方支付公司也能够获取对应资金的利息收入,并且这些资金如何进行盘活目前也是第三方支付公司在不断思考和需要突破的核心问题:如是否可以进行授信支付?贷款?
2,产品粘性需要。
在支付行业,特别是互联网金融,两个东西是非常关键,甚至是致命的:账户和入口。账户沉淀了用户的资金,是交易的基础,所谓交易是解决资金在不同账户之间进行流动的问题,为了有效的控制资金在账户之间转移的原则性和业务规则,在设计上引入了订单,因此,从这个角度看,交易的核心处理对象是订单和账户。只有用户的资金在你的系统里面,用户才会持续的使用你的服务,否则用户的转移成本基本是0。
3,系统闭环需要。
我们知道,在架构设计当中,有一个非常重要的方法论:系统闭环和自愈能力。所谓系统闭环就是说通过划分边界定义各个系统,其中相对可控的是属于内部系统,不可控的或者可控性更弱的属于外部系统,而我们总是希望更多的纳入到可控系统中,这样,我们就能进一步拥有对系统进行持续优化,快速问题定位,治标到治标的系统演进,使得系统更有效的,更低成本的,更高健壮的,更安全的,更可管理的,更高性能的服务我们的业务。
而通过创建自有账户,把用户的资金转移到自有账户体系,后续的支付和交易等均基于自有账户体系进行,就能够达到上面说的目标:系统闭环,提升支付的成功率和性能,改善用户体验。
二,自有账户体系的分类
类似银行侧账户体系,银行侧账户有对私和对公账户,也就是说是个人和企业账户是否分开的,类似的,第三方支付公司的自有账户体系也是分为个人账户和商户号。
个人账户:个人账户主要是面向to Client的账户体系,如财付通余额,用户通过注册财付通后系统分配给用户的一个账户,该账户支持充值,支付,提现,转账等功能。
这里有个特点:第三方支付个人账户的资金是没有利息收入的,一般也没有账户管理费的概念。
商户号: 第三方支付公司面向商户to Business的账户体系,对商户号的管理相对复杂,也是第三方支付公司的收费对象,为了进行收费等账户管理手段的实施,参考银行账户体系(一般包括清算账户和清算账户),商户号其实对应了两个账户,一个是B账户,另外一个是C账户,B账户可以认为是清算账户,用户支付后资金后首先会在B账户记录入账流水(一般无需即余额),通过结算到对应的C账户-扣除平台手续费后入账到C账户,而C账户则是商户可以直接操作的账户,如进行提现到银行卡等。
三,自有账户体系的支付流程
1,用户充值进入自有账户体系:
2,用户提现逃离自有账户体系:
3,C2C转账:
用户直接相互转账到对方的余额。
流程:
1,转出方账户: 扣除资金
2,转入方账户: 增加资金
实现方式上可以考虑通过强事务保障1和2的原子性
4,C2B支付:
最常见的支付;
5,B2C转账:
商户打款,中间账户;
6,C2B2C支付:
淘宝的担保交易模式。
原文链接:http://blog.csdn.net/tenfyguo/article/details/43350755
第三方支付设计——自有账户支付的更多相关文章
- 第三方支付设计——账户体系
第三方支付架构设计之-帐户体系 一, 什么是第三方支付? 什么是第三方支付?相信很多人对这个名字很熟悉,不管是从各种媒体等都经常听到,可以说是耳熟能熟.但,如果非得给这个名词 ...
- 干货 | 高耦合场景下,Trip.com如何做支付设计与落地
干货 | 高耦合场景下,Trip.com如何做支付设计与落地 https://mp.weixin.qq.com/s/VR9NTR3RpKVfmUPcwgMABg 原创 Ryann Liu 携程技术 2 ...
- 企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET
先看效果 1.本文演示的是微信[企业号]的H5页面微信支付 2.本项目基于开源微信框架WeiXinMPSDK开发:https://github.com/JeffreySu/WeiXinMPSDK 感谢 ...
- 微信支付-微信公众号支付,微信H5支付,微信APP支付,微信扫码支付
在支付前,如果使用第三方MVC框架,则使用重写模式,服务器也需要配置该项 if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$ last; ...
- 李洪强iOS开发支付集成之支付宝支付
iOS开发支付集成之支付宝支付 下载支付宝SDK 首先是开发包下载,还是比较难发现的,网上以前文章中的链接都打不开,我找了好久才找到的.最新的地址在这里(注意的是下载出来的SDK包里面并没有传说中的开 ...
- php微信支付(仅Jsapi支付)详细步骤.----仅适合第一次做微信开发的程序员
本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/2,所以微信支付的 ...
- Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松!
Payssion,海外本地支付_海外本地收款_小语种本地支付_外贸收款_外贸网店收款_欧洲本地支付_俄罗斯本地支付_巴西支付_跨境支付_PAYSSION,让跨境支付更轻松! 首页 / 关于 ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- iOS开发支付集成之支付宝支付
项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑.这是第二篇支付宝集成,第一篇银联支付在这里. ...
随机推荐
- 深入理解android6.0 RunTime Permisstion
了解下runtime permission 2015.8 google发布了android 6.0,sdk版本为23,一款"为工作升级而生"的android系统.如6.0新加入的指 ...
- 谈谈Ext JS的组件——布局的使用方法续一
盒子布局 盒子布局主要作用是以水平(Ext.layout.container.HBox)或垂直方式(Ext.layout.container.VBox)来划分容器区域.这也是比较常有的布局方式. 使用 ...
- Linux多线程实践(3) --线程属性
初始化/销毁线程属性 int pthread_attr_init(pthread_attr_t *attr); int pthread_attr_destroy(pthread_attr_t *att ...
- Net和Java基于zipkin的全链路追踪
在各大厂分布式链路跟踪系统架构对比 中已经介绍了几大框架的对比,如果想用免费的可以用zipkin和pinpoint还有一个忘了介绍:SkyWalking,具体介绍可参考:https://github. ...
- [FreeRadius2]遇到问题记录
在学习FreeRadius2中遇到的问题,和解决. 使用的是2.2 版本,测试的系统是Centos6.7 radtest 没有响应 radiusd 启动正常,测试如下命令不好使 [root@orang ...
- 网站开发进阶(二十四)HTML颜色代码表
HTML颜色代码表 设置背景色:style='background-color:red' 设置字体颜色:style='color:red' 生活在于学习,知识在于积累.
- 《java入门第一季》之面向对象(继承总结)
继承已经全部写完了,接下来通过几个案例对继承问题做一个总结: /* 看程序写结果: A:成员变量 就近原则 B:this和super的问题 this访问本类的成员 super访问父类的成员 C:子类构 ...
- Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127 ...
- Android驱动中的Kconfig文件与Makefile文件
内核源码树的目录下都有两个文档Kconfig(2.4版本是Config.in)和Makefile.分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文 ...
- Linux:进程通信之消息队列Message实例
/*send.c*/ /*send.c*/ #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h&g ...