从0到1构建电商平台之订单系统(1):提交订单
笔者复盘了电商平台从0到1的搭建过程,梳理并分析了具体的流程设计,涉及商家系统、商品系统、订单系统、售后系统、会员系统、营销系统、财务系统、数据系统等,与大家分享。
最近我经历了一次电商平台从0到1的搭建,准备把项目以文章的方式写出来(除去可能会涉及到公司内部业务流程的地方)。
写文章的目的,一是为了复盘,重新梳理思路,二是为了写出来与大家共同学习和讨论,设计得不合理的地方(技术的角度或者流程功能的角度)还请大家指出。
电商平台主要会涉及商家系统、商品系统、订单系统、售后系统、会员系统、营销系统、财务系统、数据系统等。我会把订单系统的文章拆分成三篇,本篇是第一篇。
虽然每个公司的具体需求与业务场景不一样,我们平台的功能需求可能其他平台不尽相同,但整个订单的产生到结束的,主要有以下3个流程:
本篇文章主要是提交订单这一步,当用户停留在客户端的提交订单这一步时,会涉及到哪些字段,各字段会有哪些影响,后端的一系列判断流程
一、字段信息
在该页面需要提交的字段信息如下图所示:
二、用户操作
用户一系列操作对各项数据的影响:
1. 选择收货地址
用户选择的收货地址中的地区会涉及到运费的计算(每个商家有自己的n套运费计算模板,添加商品时会选择对应的运费模板,不同地区的运费计算会根据商品重量或件数进行计算,相应的介绍在商家系统一文中阐述)
2. 选择是否抵扣
我们平台业务上暂未涉及优惠券,但会通过一些渠道获得相应的金币,而这些金币是可以用来抵扣订单金额的,但是抵扣有多种方式。
比如有多个商品时,从上往下依次抵扣,平均抵扣,但相对最合理的是按商品价值比例进行抵扣,比如有3款商品,分别为20元,30元,50元,而你的金币正好抵扣10元,按2元,3元,5元抵扣。
需要注意的是,当你的商品总价100元,运费为10元,而金币可抵扣105元,此时是先抵扣运费再抵扣商品,还是当先把商品金额抵扣完后是否抵扣运费,这就要看平台的规则或不同的业务场景相应的规则了;
毕竟要涉及到退货退款,如果用户是选择7天无理由退货,是不会退用户运费的,此时如果先抵扣运费再抵扣商品,用户只会损失金币,而先抵扣商品不抵扣运费,用户损失的是现金,对用户的体验是不一样的。
3. 选择是否朋友代付
代付是一套比较复杂的业务场景,会涉及到微信的分享,获取微信的openid之类的流程,具体在另外的文章中我会写出来。
4. 选择是否匿名购买
当用户选择是后,用户对该商品的评价可以根据一定的显示规则来隐藏昵称
5. 填写订单备注
需要注意的一点是,订单备注是跟着商家走的,也就是跟着订单走的(因为会涉及到以商家为维度拆单),所以需要每个商家有一个输入框。
三、判断流程
点击提交订单按钮后,此时后台会进行一系列的判断。
1. 风控验证
判断此次下单是否恶意可以通过一些维度,比如该账号或ip是否一段时间内重复下单多次,是否有过恶意下单记录等,这里不做展开。
2. 验证商品状态
如果当用户停留在提交订单页面期间,商家下架了该商品,处于已下架状态,或者用户选择的该sku已售罄;所以需要在提交订单页面验证一次。
3. 验证sku库存
比如用户在选择sku时,购买数量为2件,库存也剩2件,但此时有另外的用户抢先购买了1件;所以需要在提交订单页面判断一次库存是否大于该用户的购买数量(因为在提交订单后就会锁定库存,所以并不会出现在支付页面显示商品库存不足的情况)。
4. 验证sku信息是否更改
当用户停留在提交订单页面期间,商家更改了商品的sku信息(比如直接删掉或修改了金额)并成功上架,此时应提示用户“商品信息已更改,请重新下单”,并原路返回页面。
下一篇:“支付订单”
本文由 @张璨 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。