某一子订单的退货状态机
某一子订单的退款状态机
订单状态一般有以下6种
待付款、待发货、已发货、已完成、已关闭、退款中
订单的最终状态如何判断
订单的最终状态只有2种:已完成、已关闭。
实付金额>0,最终状态是已完成。
实付金额=0,最终状态是已关闭。
订单支付金额不为0
0元订单从交易流程上讲是没问题,但是没有交易流水产生。
和订单的主流程是有一定差异的,需要考虑异常情况。比如退换货的时候如何处理,查询流水的时候查不到。
请使用0.01元代替。
trade和order的关系和区别
trade称为父订单,order称为子订单,或者说trade是一笔交易单,子订单是每笔交易中的商品明细单,trade与order可以是一对多的关系,trade是由使用购物车生成。
当一笔交易只有一个子订单,那么tid=oid,这个时候主要看trade结构体里面的内容,当一笔交易有多笔子订单(类似于购物车购买方式),那么tid=n*oid,这个时候主要看order结构体里面的内容。
订单交易号、订单号、支付宝&微信交易号的关系
交易号为tid,子订单号为oid,支付宝交易号为alipay_no,一笔交易可能包含多笔子订单,这就是一个购物车中的多个商品,一笔交易对应一个交易号,一种商品对应一笔子订单。
其他
如果订单需要退款,必须原路返回(央行规定)
订单状态变成已发货之后,不能再取消订单。
每笔订单至少包含1件商品。
发送到网仓
发送到手工单
买家下单
网仓出库
买家确认收货
否
否
是
是
退货是否成功
系统超过72小时
系统超过15天
买家申请退款
退款是否成功
从网仓撤回
从手工单撤回
待付款
待发货
已确认
已发货
已完成
已关闭
退货失败
退货成功
=
父订单
子订单1
子订单2
子订单N
+
+
订单的逻辑拆分
+
子订单N+1
商品sku1
商品sku2
赠品sku1
补运费
按照sku将订单拆分成多笔子订单,只是补差价sku、补运费sku,发货的时候选择无需物流。
赠品sku的价格一般是0元,可以查看商品详情。
买家付款
退款中
退货中
…
+
商品sku…
订单状态机
买家申请退货
订单的金额构成
sku1金额
sku2金额
运费
活动
优惠券
+
+
+
打折
积分
-
sku…金额
+
订单金额
=
赠品
…
-
订单的物理拆分
临时订单
仓库1订单
仓库2订单
仓库…订单
=
+
+
当服务端检测到提交过来的订单含有多个仓库的商品,按照仓库拆分成多个订单。
拆分的时机有2种:
生成临时订单就立即拆分,这样的开发工作量最小。
付款成功之后再拆分,极大的减少了付款流失可能性。(京东是这种)
款项是否全退
是
sku是否全退
否
是
否
退款失败
退款成功
款项是否全退
sku是否全退
是
否
否
是
选择商品
确认订单
提交订单
加入购物车
查看商品
增减商品数量
选择支付方式
填写收货地址
填充优惠券
确认信息无误
选择SKU
选择商品数量
下单的功能结构图
页面标题
回到根目录
RP源文件
知识星球
视频教程