从缴纳系统的角度,交易中牵涉到到的资金流是资金从一个账户流向另一个账户。发动交易的一方,被称作交易主体,他可以是一个人,也可以是一个机构。资金从该主体所享有的账户中流入。
而接管交易的一方,被称作交易输掉,他也可以是人或者机构。和第三方支付或者金融机构的交易有所不同,电商系统中,交易还不会牵涉到到渠道。由于电商系统本身并无清承销的资质,所有资金从交易主体到交易输掉的账户的流动,在大部分情况下,并没经过电商系统,而是由电商系统调用缴纳渠道获取的模块,由它来已完成确实的缴纳过程。
当然,渠道也不是活雷锋,在这过程中,渠道要缴纳费用。所以,在电商系统中,一次交易会牵涉到到三个账户:交易主体账户、交易输掉账户以及缴纳渠道账户。
如何在这三个账户中已完成一次交易,我们将在先前的《交易和记账》一文中详细分析。记账与账户公司的会计学必须对每一笔交易都要做到详尽的记录,即记账。公司每天都产生大量的交易不道德,为了便于管理和统计资料,一个非常简单的方法是对交易展开分类,比如食品、比特率、办公用品等等。这个分类,按照公司的规模和业务复杂度,可以有一级、二级、三级或者更加多级的结构,这被称作会计科目。
记账时,除了交易明细,还必须在每个级别上对交易额展开汇总。一般来说,一级科目上汇总称作总帐科目,而详尽记录称作明细科目。在电商系统中,由于牵涉到到的参与方较多,记账也比较简单,但基本方法也是类似于的。
电商的参与者可以分成商户、买家和渠道,对这三类参与者,都必须分别创建总帐账户和明细账户。内部账户和外部账户当用户用于银行卡来缴纳时,电商缴纳系统必须和银行接入,从用户银行卡所代表的账户上扣减资金。
接入了银行,第三方支付等机构的电商缴纳系统,它必须相连到用户在这些机构的账户来继续执行扣款或者充值操作者,这些账户或称作外部账户。对外部账户,缴纳系统不能记录账户在本系统的明细以及总计消费额,无法获知账户确实余额。不少电商在玩零钱的概念,也就是让用户充值到零钱,用于的时候就必要从零钱中扣减。
这就必须零钱账号。这是电商系统中自己成立的账号,所以也叫内部账号,可以告诉账号的全部消费明细和余额。
当然,除了零钱账号,也可以有储值卡账号,信用账号等。那问题来了,什么时候必须创建账户,比如优惠券,必须账户吗? 一次消费的储值卡和可以充值的储值卡,必须创建账户吗?这里再行挖出个雷,先前讲解缴纳和记账时,得出答案。收款账户和收单账户当电商要接入银行时,往往都会被拒绝开办一个收款账户。用户通过这个银行来缴纳时,钱就被转至这个账户上。
对第三方支付也是一样。收款账户是开办在银行或者第三方支付这边的,即渠道外侧。一般来说,渠道每天都可以获取这个账户的交易流水供电商对账用。
这样在电商这边,渠道就沦为一个收单机构。所以在电商这边,创建这个收款账户对应的对账用的收单账号,用来记录通过这个渠道展开的各项交易流水。
三、账户建模说道了这么多,目的是为了对账户建模。账户模型是和公司业务密切相关的,公司有所不同规模,发展的有所不同阶段必须有所不同的模型。账户建模本身还包括三大核心模型:实体模型、账户模型和交易模型。从交易模型中可以派生出有针对各个角色的账户流水,即明细模型,用作反对对账。
实体模型实体模型和用户、商户模型有重合的地方,这里专门针对缴纳而设置的各个实体属性。一般来说,缴纳涉及的实体模型必须还包括如下的属性:用户ID,一般必要同构到指定账户的ID;否容许继续执行缴纳;缴纳密码;用作设置或者重置缴纳密码的手机号;用户设置或者重置缴纳密码的邮箱;用户的安全等级,根据业务必须来设置。账户模型根据业务必须,可以设置多种账户,如缴纳账户、预付卡账户、代扣账户、零钱账户、承销账户等。从类别上来说,这里的账户一般指总账账户。
一般来说电商系统中牵涉到的账户类型有:虚拟币账号:用户和用于奇点奇豆的商户都必须创建虚拟币账户。代扣账号: 用来反对订阅者类型的定期代扣;零钱账号:即电商的内部账号,用户、商户、整肃单位必须创建零钱账户第三方支付账号:用户在第三方支付机构创建的账户。银行卡账号:用户的银行卡信息,每个卡对应一个账户。
承销账号:用来反对和第三方支付公司、银行展开承销用。第三方支付必须为每个商户号创建承销账号;银行必须为借记卡、贷记卡分别创建承销账号(有适当吗?银行卡直连时用于)。代扣代缴账户:用来反对代扣税款业务。
对这些账户,必须设置如下属性: 基本属性,还包括:账户号,或称作账户ID,一般是系统自动分解。特别注意的是,要事前誓约好账户ID的规则。比如头三位用来回应账户类型,后几位用来回应账户编号等。切勿确保根据账号号需要较慢确认账户类型,并且确保账户号是不反复的。
账户名称,一般是由用户自己设置的,表明用。账户用于的货币类型,留意虽然一张银行卡可以反对多个币种,实际在内部,还是针对每个币种创建独立国家的子账户。牵涉到到多币种的账户,也可以使用类似于的建模方案。
会计科目代码,一般是一级会计科目的代码。账户掌控涉及:否容许充值;否容许提现;否容许欠下;否容许缴纳;否容许账户转入;否容许账户并转出有;否有安全性确保;否转录;否失效。
资金涉及:当前账户余额:相等能用余额+失效余额;当前账户能用余额;当前账户失效的余额。失效余额所指在账户上嗣后无法用于的额度。在缴纳的时候,往往是再行失效,商品出库后, 再行实际继续执行扣款。银行卡、第三方支付信息:第三方实体的ID;第三方账号,如银行卡号或者在第三方支付的open_id等;第三方的app_id;账号的过热日期,该账号什么时候过热。
留意,有些第三方信息是无法留存的,如用户的账号密码、信用卡的CV号等。为了防止账户信息被爬库或者数据库信息车祸泄漏,一般还必须对脆弱字段,如密码等,展开加密留存,甚至留存到另外的表中。
更进一步,为了防止账户信息被车祸改动,还可以减少一个校验字段,在载入数据时设置该字段,在读取数据时做到校验,一旦找到数据有问题,则重开该账号。交易模型交易记录、交易流水、账户流水、交易台账,这几个更容易误解的概念,从数据上来说却并不简单,它们的核心是交易流水,账户流水就是指账户视角的交易流水。
一笔交易,牵涉到到的方方面面内容很多,有哪些必须记录的呢?考虑到交易记录将被用作风控和信用分析,能搜集到的信息是就越全面就越好。流水号:每一笔交易的流水号都不一样。必须根据业务情况详细设计流水号。
这个号往往也是对交易表做分表分库的依据。交易记录创立时间;交易记录最后改动时间;会计科目代码;关联的订单号,由商户获取;订单名称、叙述、关联的地址等信息;费用信息,还包括: 承销货币类型、完整费用、实际费用等;交易主体信息,记录主体ID、类型、名字、账号、账号类型、用于的IP地址、手机号、平台、通报邮箱、当前方位等。这些信息虽然可以从主体表中提供,但考虑到主体表格信息随时不会被改动,所以这里必须记录详尽的各完整信息。
交易输掉信息,记录输掉主体的ID,类型,名字,账号,账号类型,手机号,平台,通报邮箱等。交易渠道信息,记录所用于的交易渠道的实体id、渠道账户、渠道继续执行缴纳的时间、渠道外侧回到的订单号等。如果有错误再次发生,还必须记录从渠道接管到的错误信息和错误码。四、总结如上内容,不管是账户还是交易,模型都很简单。
否有适当记录这么多信息,如何在交易中用于这些模型,请求注目先前文章。(公众号:)录:本文由人人都是产品经理社区作者@凤凰牌老熊(微信公众号:shamphone)原创公布。凤凰牌老熊,程序员架构师。
先后在中科辅龙、三星(中国)研究院和国内一些大型的互联网公司工作过。2014年重新加入爱人奇艺,负责管理数据仓库和缴纳系统的建设。文章未经许可,不得刊登。
原创文章,予以许可禁令刊登。下文闻刊登须知。
本文来源:凯时k66平台-www.shengpeib.com