账户体系的设计
Posted onhacker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了账户体系的设计相关的知识,希望对你有一定的参考价值。
上次说到我们已经有一个最基本的账户体系了,他由什么组成呢?
其实就几个玩意。
账户
账户的余额
账户的流水
交易
没了。
但是交易可能是一个虚一点的东西。
为什么说他虚呢?
举个例子,你在京东上买了一个东西,京东生成了一个交易单,通过微信支付时,有生成了一个交易单?
那么请问,这里哪些是我们说的账户系统的交易呢?
一般来说,京东那个交易单,在我们的微信支付的账户系统来看,他是不存在的。
我们一般说微信支付生成的交易单是我们说的交易。
但是,这样的理解真的是对的么?
我们怀疑一个事情不对,总要想想这个事情这么来做,会有什么不合理?
让我们来想想这会有什么不合理吧!
我们先来想想微信支付这个交易单号会有什么用处?
我们作为用户可能会在几个地方用到他,最主要就是查账的时候。
比如说,就是我们上面在京东上面买东西的场景。
如果我微信支付成功了,但是京东却没知道这件事,那我们怎么办?
一般来说我们就把我们的微信支付记录,发给京东,告诉京东,说,你看我已经支付成功了,怎么还不给我发货?
但这又是一个问题,你怎么证明你支付的就是你刚刚买的那些京东的东西呢?
这是一个很困难的问题,为什么这么说?假设微信支付不知道你那个商品的ID是多少的话,微信支付是没办法知道你是否支付了那些商品的钱的。
微信支付知道的是什么?他知道你给京东支付了多少钱。
那这个事怎么办?
京东其实知道,为什么他知道?
因为支付的请求其实是京东自己发起的,他知道你这些商品的ID,他以这个商品的ID为请求的编码,请求微信支付发一个XX元的请求给用户去支付。如果微信支付成功了,那他就知道这个商品ID对应的这些商品可以发货了。
对应到我们上面说的交易来说,就是,京东的交易单会和微信支付的交易关联,如果微信支付的交易单成功,京东会把自己的交易单的状态改为可发货。
再让我们回到你查账的这个问题。
我们现在碰到的是,京东不知道交易单有没有成功,但是更可怕的是,他连自己的交易单是对应哪笔微信支付的交易单他都不知道。
这个怎么办呢?
其实,在我们刚刚的描述中,我们就已经提到了解决办法。
什么办法?
京东可以把你发给他的京东交易单再去微信支付那查一次,如果确实支付成功了,那就可以发货了。
所以说,其实我们在上面这种场景下,我们是压根都不需要用到微信支付的交易单号的。
但是,这也是一种场景。其他场景还是会需要,微信支付订单号的。
具体的话,我也还没想。
但从我真实使用来说,对于这种给商户支付的东西,我是确实没怎么需要用到微信支付交易单的。
但是,假如是另外一个场景,我想查的是什么,我想查一下,我这笔通过快捷支付的交易,明明银行扣了10000元,为什么微信支付交易却记成了1000元?
微信支付乱扣我的钱,我一纸投诉就来到了微信支付。
微信客服转了好久,我才终于碰到一个说“人话”的,因为之前那些都是机器人客服,还好我巧妙的转到了人工客服。
我刚想破口大骂,被一个温柔的声音停止了这个行为。
一番平静的诉说后,客服妹纸告诉我需要提交几个东西,不然很难和我核查。
你猜客服妹纸会需要哪些东西呢?
我们想想我们需要什么东西,我们要做的是证明,我们说的话是对的,那怎么证明呢?
我把我的微信支付的交易记录截图了出来,没错,上面确确实实的写了交易金额1000元。
那接下来,我就要证明另一件事情,银行卡扣款了10000元。我怎么证明呢?也是一样,我打开我的手机银行app,点开我的最近交易记录,嗯嗯,没错,确实上面显示扣了10000元,没错,微信支付搞错没跑了,我要拿精神损失费。
客服妹纸问了我一句话,请问你怎么证明?
以上是关于账户体系的设计的主要内容,如果未能解决你的问题,请参考以下文章