第三方支付设计——自有账户支付
笔者在上一篇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开发支付集成之支付宝支付
项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑.这是第二篇支付宝集成,第一篇银联支付在这里. ...
随机推荐
- 怎样写一个与Windows10 IE11兼容的标准BHO?
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- AngularJS 入门教程 $http is not defined 解决方案
采用从git下载的教程, www.angularjs.cn 版本的 入门教程,在第5步的时候 签出文件: git checkout -f step-5 运行将会提示: $http is not def ...
- ROS_Kinetic_03 ROS入门向导
ROS_Kinetic_03 ROS入门向导 每个人都有不同的学习习惯和爱好并针对不同的应用进行ROS相关设计与开发, 没有固定不变的学习模式,但以下的内容是通常都会用到的. 1. ROS基础教程 1 ...
- Mysql中limit的用法详解
Mysql中limit的用法详解 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,为我们提供了limit这样一个功能. SELECT * FROM table LIMIT [offset ...
- byte和长度为8的boolean数组互相转换
由于byte是一个8位字节 所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到.这里给出一个java代码对其互相转换的. package com.udpdemo.test2; i ...
- ViewPager 实现 Galler 效果, 中间大图显示,两边小图展示(优化篇)
上一张效果图: 之前的项目有一个Galley的项目,但是代码结构特别乱,别问我为什么,我也是刚接手这个项目,为了方便以后阅读和维护我对一些模块进行了重构.ViewPager实现Galler效果,但是当 ...
- 最新的App上架教程Object-C
准备 开发者账号 完工的项目 上架步骤 一.创建App ID 二.创建证书请求文件 (CSR文件) 三.创建发布证书 (CER) 四.创建Provisioning Profiles配置文件 (PP文件 ...
- Swift的基础之关于“!”和“?”的使用介绍
swift编程,不外乎是定义属性或者函数(方法),访问属性或者调用函数,类型转换,?和!在这几个过程中,都有一展身手的时候,而且,每次要考虑使用的时候,它们俩都会一起出现在我们的大脑中,用还是不用,如 ...
- Java学习笔记(一)网格袋布局
网格袋布局类似于Win8的Metro布局,用于将组件按大小比例放在不同位置的网格内,各组件的实际大小会随着窗口的改变而改变,但相对位置不变,能够很好的适应屏幕. 通过阅读<21天学通Java&g ...
- Workflow Notification Mailer Setup
Workflow notification mailer setup in R12 is similar to 11i ( In both release 11i (OWF.H and higher ...