支付那些事儿III---一个BD汪眼中的产品II

http://coffee.pmcaff.com/article/702661060063360/pmcaff?utm_source=forum

支付那些事儿III—一个BD汪眼中的产品II

凯撒 2017-04-12

没想到发了《支付那些事儿III—一个BD汪眼中的产品I》后,反响这么大,在千呼万唤始出来的留言下,我还是把系列2也发出来吧。原文在本人微信公众号,Caesar-talk。这里,我把原文中的图片省了,直接贴字儿。虽然看得【累】,但是不【累赘】。

上回书我们讲了支付产品的大概,从宏观到微观,从业务流,资金流,和产品模块,给大家做了一个整体性的介绍。今天,我们再微观一步,重点来说一说对于支付来说最为重要,也是本人在实际商务沟通的时候经常被问到的事儿—-账户问题。提到这个,经常被商户问到的是这个—开户。

对,没错,开户。对于非业内的人士来说,你和他说了一通我们可以怎么怎么合作,你的C用户通过我们,怎么入金,你们怎么结算,怎么代扣等等等。他会来一句:

“好,那你赶紧的,给我开个户吧”

“这”

“等等,你们也像银行一样给我们开个户还怎的?我怎么去管理我的账户呢?还有账户是否有权限?可以分账么。。。”

“我。。”

到这,就引出了支付产品中最为核心的东西–账户体系设计。今儿,我们就来聊一聊。话不多说先上图:

支付系统设计.png

觉得图看不清楚的,请戳这里:http://网pan.baidu盘.com/s/1i5duscP (去掉中文,自己下吧)

我们依旧从场景出发。用户在前端看到的只是一个xx支付的Logo,然后选择它,填入金额,支付,over。而对于我们来说,当真的有资金从这个支付入口充值进入后,后端到底发生了些什么呢?对,后端势必有一个真实的账户来收钱,和一个系统来归集这个数据,而这个系统也相当于是一个本账,记录着每一笔交易的信息名目。因此,账户系统是支付系统的【心脏】,它的设计直接影响整个系统的功能。

由于本人是BD,不是架构师,因此,你要我告诉你们怎么建模,,这个,我不会。不过我可以告诉你们一些概念和元素。

我们假设一个场景,当你打开你的淘宝页面的时候,上方会提示你登录账户。好,登录之后,你就可以选择商品,下单,支付了。好,问题来了,你登录的这个账户和你支付的那个账户是同一个吗?

这里就引出了最初的两个概念:
•支付账户
•登录账户

那什么是支付账户呢?简单的说,支付账户是用户在支付系统中用于交易的资金所有者权益的凭证。凭证。。humm。很抽象,对吗?好,你不妨这么理解,所谓支付凭证可以理解为是护照,我们出国玩儿得有护照,才能出入境。而这个凭证其实是商家认可的一个证明,有了它后,你付的钱,对方才能收下。这样是不是好理解了一些?那什么又是登录账户? 登录账号是用户在系统中的登录的凭证和个人信息。 这个很好理解,你可以在淘宝上注册N个账户,而这N个账户后面,你可以有多个支支付账户,比如:零钱账户,白条账户,储值卡账户,点券账户等等。也就是说,支付账户不会在多个登录账户之间共用,这就很像数学里面的函数y和x的关系。

好,基本概念理清楚了,我们继续。作为一个支付系统,我们要怎么设计这个账户呢?核心点,你们可以看上面的脑图。这里,主要是考虑这么几个点:

•交易需求,这个好理解,用于检查账户是否被锁定、余额是否充足、是否被冻结等。

•记账需求,这个嘛,就是公司会计层面的事儿了,记录账户上的所有交易行为,比如:支出、充值、转账,退款等。

•对账需求,这点是根据支付渠道、合作商户、个人的对账需求,其目的是明确交易和账户余额是否匹配

•风控需求,如反洗钱、反欺诈等不是凭空而来,都需要根据账户体系提供的核心数据进行判断的。

这是对于支付账户来说的4个核心需求,很多支付产品设计的时候也是根据这几个需求,分优先级,从支付、记账、对账、风控来进行,根据其发展所处的阶段,逐步将新增需求纳入账户体系中。

关键词1:交易与账户

对于交易这块不是太清楚的,可以参考上一篇《支付那些事儿III-一个BD汪眼中的产品I》中的内容,这里就不赘述了。我们直接从账户角度去看。所有的账户设置,都是从交易开始的。有交易,就得有账户为支持。从支付层看,交易中涉及到的资金流是资金从一个账户转移到另一个账户。发起交易的一方可以是个人,也可以是一个公司,它是交易主体,而接收交易的一方,我们称之为交易对象,它和主体一样,是个人,亦可是公司。

这里,要说句题外话,这些都是第三方支付或者金融机构的交易方式,对于电商系统来说,还多了一层,那就是渠道。什么意思?电商系统是没有清结算功能的,也就是说从电商系统中流动的资金,从交易主体到交易对象的账户,其实是没有经过电商系统的,而是电商系统调用了合作支付机构的接口,来完成这个支付的过程,说得再直白一点,你在京东上买东西,选择支付方式,比如,选择微信支付,你点击下一步,页面会跳转到微信收银台,对吗?这个时候,在后台其实已经完成了调用接口的动作,否则你不会看到微信收银台。因此,在电商系统中,一次交易会涉及账户有: 交易主体账户、交易对象账户和第三方支付账户。至于怎么走的交易,不妨参考一下本系列《支付那些事儿I–先说一个大概》中的内容,有详细描述,这里也不赘述了。

关键词2:账户内外

我们还是回到实际场景来说吧。假设,我在唯品会上买东西后,不用支付宝或者微信支付,而是用网银来支付。那么,钱实际上是从我的银行卡所在行的账户中扣除。对于唯品会,它除了接好第三方支付系统外,还需要对接银行的接口。万事俱备后,我就可以通过唯品会的支付入口进行扣款,充值或者其他的操作,而调用的这些机构的账户,我们称为外部账户。支付系统只能记录账户在本系统的明细以及累计消费金额,无法得知账户真正余额。

怎么理解?

很简单,大家都抢过红包,对吧?好,当你们抢到了红包,并不提现,而是存在零钱里面,这个时候,微信是无权知道你绑定的银行卡里面余额是多少,而它能够知道或者能够操作的是你零钱里面有多少钱。因此,当你使用微信里面的服务进行消费的时候,如果金额允许,微信会推荐你使用零钱进行消费。如果你同意了,则付款的时候就直接从你的零钱中扣除。这样一个简单的场景,构成了最为简单的零钱账户。

有外,自然就有内。电商系统中自己设立的账户,所以也叫内部账户,可以知道账号的全部消费明细和余额。当然,除了零钱账户,也可以有储值卡账户,白条账户等。有了这些账户之后,使用的场景就多了很多?而这个时候,涉及到一个问题—作为平台商的我,我要先让用户使用什么账户呢?优惠券账户? 还是储蓄卡账户?如果是储蓄卡账户,是做一次消费的储值卡账户?还是可以充值的储值卡账户?这些问题,都是实际应用中会遇到的,我会在今后的应用篇再说。

关键词3:收款?收单?傻傻分不清楚

我记得我刚开始做支付的时候,去见一家知名电商客户,他们问了我一个我当时蒙圈的问题—-收款和收单?有啥区别?这个,确实是一个好问题。晃荡了这么久,我才渐渐明白。举个例子,假设我是京东,我要对接银行。

我屁颠屁颠跑到银行,问:“嘿,受累,我是做电商平台的,支付这块要对接你们,您看我要怎么做?”

银行瞥了我两眼,说:“对接?开个收款账户”

当我开了这个户之后,我就可以让我的用户通过这个银行来支付了,而钱自然而然会被转到这个账户中。这是传统的场景。换一下,我是京东支付,我要这么来,程序是一样的,也需要开一个户,俗称备付金账户(这个就不细说了,看系列第一篇先说一个大概吧)。因此,这个反复提到的收款账户,是商家开设在银行的账户,是C端用在2C第三方支付产品中开设的, 称之为支付渠道。 一般来说,支付渠道每天都可以提供这个账户的交易流水给电商系统,用于对账。 这一来二往,这个支付渠道就像是一个收款的集合体,我们行里称之为收单。具体来说,商户的平台需要建立收款账户用于对账用的收单账号,用来记录通过这个渠道进行的各项交易流水——俗称:支付单号

说了这么多,都是业务的事儿,回到产品这个主题。这个账户设置,从上面的业务场景的描述来说,先要考量以下这些因素:

•用户ID:对应到到登录账户的ID;
•是否允许执行支付;
•支付密码;
•手机号:设置或者重置支付密码;
•邮箱:设置或者重置支付密码;
•安全等级:不同业务,标准不一

有了以上最基本的要素之后,我们再根据实际业务去设置多种不同账户满足不同场景的需求,比如:一般支付账户、预付卡账户、代扣账户,代缴账户、结算账户等。这里,由于本人对电商系统略微熟悉一下,所以以此为例:
•代扣账户: 订阅类型的定期代扣
•零钱账户:电商的内部账号
•第三方支付账户:在第三方支付机够系统中的虚拟账户
•银行卡账户
•结算账户:同第三方支付机够、银行进行结算用。 第三方支付系统方面需为每个商户号建立独立的结算账号;而对于银行,根据借记卡、贷记卡分别建立结算账号
•代缴账户:主要是代缴税款业务

对这些账户,需要设置如下基本属性属性:
•账户号,或称为账户ID,系统自动生成

•账户名称,一般,用户自行设置

•币种,这个部分,属于银行账户体系的范畴,不同币种会有不同子账户

•会计科目代码

再细分下去,对于每个账户所应用的内容,可以有如下的考量:
•充值
•提现
•支付
•透支
•入账
•出账
•激活
•冻结
•安全等级

对应的,和资金相关的因素有
•余额
•可用余额
•已冻结余额

这里多说一点,上面提到的一些第三方信息,比如,用户的账号密码、信用卡的CV号等,这些第三方支付机构是不能保存的,为什么?因为这是为了避免账户信息被爬虫或者发生数据库信息意外泄露的情况给用户造成损失,因此,会对敏感字段,如密码等,进行加密保存。有些第三方支付,还会加入一个校验的字段,为的是避免账户信息被恶意修改。

回归交易

记得刚开始接的第一个商户,在某年某月的某一天,一段长达几十页,耗时近40分钟的售后运维服务讨论让我对接下来要说的有更深的认识。我发现,不单单是商户方,还有我们自身,对于交易记录,交易流水,账户流水,这三个概念也很容易搞混。我个人的理解是:这些的核心是交易流水。账户流水只是我们从账户的角度看到的流水,对一笔交易来说,涉及到的方方面面内容很多,有哪些需要记录?这些算是比较基本的吧:
•流水号:每一笔交易的流水号都不一样。
•交易创建时间
•交易最后修正时间
•关联的订单号:商户提供
•订单名称
•交易主体信息:ID、类型、名称、账户类型、IP地址、手机号、邮箱、等。 这些做好能够收集到原始信息(特别是走SAFE做跨境结算的时候,这些信息越详细,越好)。
•交易对象信息:ID,类型,名称,账号类型,手机号,平台名称,邮箱等。
•交易支付渠道信息:ID,支付渠道账户,执行支付的时间、回单号等。

好,以上是凯撒知道的关于支付账户的那些事儿了,就这么多了,细了,凯撒也不太清楚,能够给大家分享的就是这些了。

当所有的业务都已经理顺了,有了业务场景,有了账户作为支撑,剩下的就是最为关键的一个东西—支付通道。此通道彼通道,指的是支付路由,这个关系到每一笔支付是否能够按时成功结算的问题,我们下一次再说。

最后

本系列一共6个部分,这是第3篇产品部分,想看完整6部分的,可以持续关注公众号(Caesar-talk)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ucos-iii-tcpip.a是一个软件库,用于嵌入式系统中使用μC/OS-III操作系统和TCP/IP协议栈进行网络通信的开发。 ucos-iii-tcpip.a提供了一系列的接口和函数,帮助开发人员在嵌入式系统中实现TCP/IP网络通信功能。它包含了TCP/IP协议栈的实现以及与μC/OS-III操作系统的接口,使得开发人员可以简单地在嵌入式系统中实现TCP/IP网络通信功能。 使用ucos-iii-tcpip.a可以方便地创建网络任务,并通过接口函数来管理和控制网络通信。它提供了一些常用的网络协议,如TCP、UDP、IP等,并且支持网络连接、数据传输等基本的网络操作。此外,ucos-iii-tcpip.a还提供了一些高级功能,如网络管理、安全性、QoS等,以满足不同应用场景的需求。 通过使用ucos-iii-tcpip.a,嵌入式系统开发人员可以快速、简便地添加网络通信功能,提高系统的灵活性和可扩展性。它提供了一种可靠、高效的方式来实现嵌入式系统与外部设备之间的数据交换,使得嵌入式系统能够连接到互联网,实现远程控制、数据传输等功能。 总之,ucos-iii-tcpip.a是一款强大的软件库,它结合了μC/OS-III操作系统和TCP/IP协议栈,为嵌入式系统提供了完善的网络通信功能,帮助开发人员快速构建并实现网络连接和数据传输等功能,使得嵌入式系统能够更好地适应各种应用场景的需求。 ### 回答2: ucos-iii-tcpip.a是一个TCP/IP协议栈的静态库文件。uCos-III一个开发嵌入式实时操作系统的工具。它提供了一种可靠的方法来构建实时系统,并可以方便地适应不同的硬件和应用需求。 ucos-iii-tcpip.a库是基于uCos-III实时操作系统的一个扩展库,用于支持TCP/IP协议栈的功能。TCP/IP协议栈是计算机网络通信的基础,它包括传输控制协议(TCP)和互联网协议(IP)。通过使用这个库,开发者可以轻松地在嵌入式系统中实现TCP/IP网络通信功能。 ucos-iii-tcpip.a库提供了一系列接口和函数,用于处理与TCP/IP协议相关的任务,如网络连接的建立和断开、数据传输的处理等。它还包含了各种网络协议的实现,如IP、TCP、UDP等,以及网络应用层协议的支持,如HTTP、FTP等。开发者可以通过调用这些函数和接口来完成各种网络通信任务。 使用ucos-iii-tcpip.a库可以极大地简化开发者在嵌入式系统中实现TCP/IP通信的工作量。它提供了一个高效可靠的通信框架,可以帮助开发者快速构建自己的网络应用。一旦完成了TCP/IP通信的底层实现,开发者可以更加专注于应用层的业务逻辑开发,而不需要过多关注网络通信的细节。 总结来说,ucos-iii-tcpip.a是一个用于嵌入式系统中支持TCP/IP协议栈的静态库文件,它提供了一系列接口和函数,帮助开发者实现TCP/IP网络通信功能。使用这个库可以简化开发工作,提高效率,同时为开发者提供了一个可靠的通信框架。 ### 回答3: ucos-iii-tcpip.a是一个软件库,主要用于嵌入式系统中实现TCP/IP网络协议栈。它基于Micrium公司开发的uC/OS-III实时操作系统,提供了一套完整的TCP/IP协议栈的实现。该软件库的目标是为嵌入式系统开发人员提供一个方便快捷且可靠的TCP/IP协议栈,使他们能够更容易地将网络功能集成到嵌入式应用中。 ucos-iii-tcpip.a具有多线程处理能力,能够同时处理多个网络连接和数据包,提供了 TCP、UDP、IP、ICMP等网络协议的实现。它支持IPv4和IPv6协议,可以实现IP地址的分配和路由功能,支持网络数据包的传输和接收,还提供了socket API接口供应用程序调用。 使用ucos-iii-tcpip.a,嵌入式系统开发人员可以方便地添加网络功能到他们的嵌入式应用中,无需从头开始开发TCP/IP协议栈,大大加快开发进度。在嵌入式系统中,网络功能往往是非常重要的,通过使用ucos-iii-tcpip.a,开发人员可以轻松实现远程控制、数据采集、与外部设备通信等功能。 总之,ucos-iii-tcpip.a是一个基于uC/OS-III实时操作系统的TCP/IP协议栈软件库,提供了完整的TCP/IP协议栈的实现,方便嵌入式系统开发人员快速添加网络功能到他们的应用中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值