精华内容
下载资源
问答
  • 退货退款流程图.pdf

    2020-05-28 13:38:25
    可供参考的流程图-退货退款流程图,在此模版下各位按照自己的情况进行修改,设计出自己或公司所需要的流程图。
  • 线上退货流程图.pdf

    2020-07-09 15:04:04
    可供参考的流程图-线上退货流程图,在此模版下各位按照自己的情况进行修改,设计出自己或公司所需要的流程图。
  • 医药行业退货流程

    2020-12-23 21:59:27
    相信来查找医药行业退货流程的你对于这一行业多少也有些了解,而医药行业退货流程就是最好的选择,赶快下...该文档为医药行业退货流程,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 退货流程

    2020-12-08 17:10:21
    最新退货流程图更新,需要使用的朋友可以来下载看看样式,退货流程图包含了最全的内容,能够最大程度方便...该文档为退货流程图,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 近期在做微信小程序时,涉及到了小程序的支付和退款流程,所以也大概的将这方面的东西看了一个遍,就在这篇文章里总结一下
  • 支付网关清算及退款流程简介如第三方支付公司成功,银行无交易,先判断是否由于日切时间原因造成,如不是日切原因则联系发卡银行查明原因
  • 商城简单的退款流程实现思路,简单一点,但是要可行。最好不要和正常的订单及订单项状态有太多关联。
  • 微信小程序支付及退款流程详解【上】中讲了微信支付的相关流程。在理清思路后,流程还是比较清晰和简单的。重点在于需要注意一些细节问题,例如数据格式,加密方法等。下面说一下微信小程序退款的具体实现二.退款小 ...
  • (2)逆向流程 上面说到逆向流程是各种修改订单、取消订单、退款退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。 订单修改:可梳理订单内信息,根据信息关联程度及业务诉求...

    3cc0e6ffde12725ef572fd72a0da37f2.png
    文章主要跟大家分享在订单系统承载的角色,以及梳理了主要功能的设计思路,一起来文中看看~

    概述

    本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。

    1. 订单系统在企业中的角色

    在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功能,进而保证各系统之间高效简洁的工作。

    2. 订单系统与各业务系统的关系

    3f4be7a95ab210b645aa1f703cec16c9.png

    (1)对外系统:

    所有给企业外部用户使用的系统都在这一层,包括官网、普通用户使用的C端,还包括给商户使用的商家后台和在各个销售渠道进行分销的系统,比如与银行信用卡中心合作、微信合作在合作商的平台露出本企业的产品。这类系统站在与客户接触的最前线,是公司实现商业模式的桥头堡。

    (2)管理中后台:

    每个C端的业务形态都会有一个对应的系统模块,如负责管理平台交易的订单系统,管理优惠信息的促销系统,管理平台所有产品的产品系统,以及管理所有对外系统显示内容的内容系统等。

    (3)公共服务系统:

    随着企业的发展,信息化建设到达一定程度后,企业需要将通用功能服务化、平台化,以保证应用架构的合理性,提升服务效率。这类系统主要给其他应用系统提供基础服务能力支持。

    3. 订单系统上下游关系

    eceb58ff5eae9716ff0c4d60158b9377.png

    由此可见,订单系统对上接收用户信息,将用户信息转化为产品订单,同时管理并跟踪订单信息和数据,承载了公司整个交易线的重要对客环节。对下则衔接产品系统、促销系统、仓储系统、会员系统、支付系统等,对整个电商平台起着承上启下的作用。

    4. 订单系统的业务架构

    1d086b6330463387b7b1f63ebf2d5931.png

    (1)订单服务

    该模块的主要功能是用户日常使用的服务和页面,主要有订单列表、订单详情、在线下单等,还包括为公共业务模块提供的多维度订单数据服务。

    (2)订单逻辑

    订单系统的核心,起着至关重要的作用,在订单系统负责管理订单创建、订单支付、订单生产、订单确认、订单完成、取消订单等订单流程。还涉及到复杂的订单状态规则、订单金额计算规则以及增减库存规则等。在4节核心功能设计中会重点来说。

    (3)底层服务

    信息化建设达到一定程度的企业,一般会将公司公共服务模块化,比如:产品,会构建对应的产品系统,代码、数据库,接口等相对独立。但是,这也带来了一个问题,比如:订单创建的场景下需要获取的信息分散在各个系统。

    如果需要从各个公共服务系统调用:一是会花费大量时间,二是代码的维护成本非常高。因此,订单系统接入所需的公共服务模块接口,在订单系统即可完成对接公共系统的服务。

    订单系统核心功能

    1. 订单中所包含的内容信息

    ef28037fc87ca62b93c61a4912f80753.png

    为了使订单系统能够对订单进行高效、精准的管理和跟踪,订单会储存关于产品、优惠、用户、支付信息等一系列的订单实时数据,来和下游系统,如:促销、仓储、物流进行交互。

    以一个通用B2C商城的订单为例,梳理其包含的信息如下:

    这里要注意的是订单类型,随着平台业务的不断发展,品类丰富、交易方式丰富后,需要对订单进行多维度的分类管理,同时订单类型利于订单系统的扩展性。每种订单类型将会对应一套流程及一套状态,便于对订单进行分类管理和复用。

    2. 流程引擎

    流程是指从平台角度出发,将订单从创建到完成的整个流转过程进行抽象,从而行程了一套标准流程规则。而不同的产品类型或交易类型在系统中的流程会千差万别,因此为了方便对订单流程进行管理,会组建流程引擎模块。

    每套订单流程中会包含正向流程及逆向流程,正向流程可以比作一次顺利的网购体验过程中,后台系统之间的信息流转。逆向流程则是修改订单、取消订单、退款、退货等各种动作引起的后台系统流程,同时每个流程触发的条件又可分为系统触发和人工触发两种场景。

    (1)正向流程

    以一个通用B2C商城的订单系统为例,根据其实际业务场景,其订单流程可抽象为5大步骤:订单创建>订单支付>订单生产>订单确认>订单完成。

    而每个步骤的背后,订单是如何在多系统之间交互流转的,可概括如下图:

    b4e54e9e9e189d8923d970d2dece9c0a.png

    订单创建:

    用户下单后,系统需要生成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则无此环节。

    接着获取该账户的会员权益,这里要注意的是:优惠信息与会员权益的区别,比如:商品满减是优惠信息,SUPER会员全场9.8折指的是会员权益,一个是针对商品,另一个是针对账户。其次就是优惠活动的叠加规则和优先级规则等。

    增减库存规则是指订单中的商品,何时从仓储系统中对相应商品库存进行扣除,目前主流有两种方式:

    下单减库存——即用户下单成功时减少库存数量

    • 优势:用户体验友好,系统逻辑简洁;
    • 缺点:会导致恶意下单或下单后却不买,使得真正有需求的用户无法购买,影响真实销量;

    解决办法:

    1. 设置订单有效时间,若订单创建成功N分钟不付款,则订单取消,库存回滚;
    2. 限购,用各种条件来限制买家的购买件数,比如一个账号、一个ip,只能买一件;
    3. 风控,从技术角度进行判断,屏蔽恶意账号,禁止恶意账号购买。

    付款减库存——即用户支付完成并反馈给平台后再减少库存数量

    • 优势:减少无效订单带来的资源损耗;
    • 缺点:因第三方支付返回结果存在时差,同一时间多个用户同时付款成功,会导致下单数目超过库存,商家库存不足容易引发断货和投诉,成本增加。

    解决办法:

    1. 付款前再次校验库存,如确认订单要付款时再验证一次,并友好提示用户库存不足;
    2. 增加提示信息:在商品详情页,订单步骤页面提示不及时付款,不能保证有库存等。

    综上所述,两种方式各有优缺点,因此,需结合实际场景进行考虑,如:秒杀、抢购、促销活动等,可使用下单减库存的方式。而对于产品库存量大,并发流量没有那么强的产品使用付款减库存的方式。

    将两种方式带入到销售场景中,关联商品类型、促销类型、供需关系等,灵活使用,以充分发挥计算机系统的优势。

    订单支付:

    用户支付完订单后,需要获取订单的支付信息,包括支付流水号、支付时间等。支付完订单接着就是等商家发货,但在发货过程中,根据平台业务模式的不同,可能会涉及到订单的拆分。

    订单拆分一般分两种:

    • 一种是用户挑选的商品来自于不同渠道(自营与商家,商家与商家);
    • 另一种是在SKU层面上拆分订单:不同仓库,不同运输要求的SKU,包裹重量体积限制等因素需要将订单拆分。

    订单拆分也是一个相对独立的模块,这里就不详细描述了。

    订单生产:订单生产,是指产品从企业到用户这一流程的概述。如电商平台中,商家发货过程已有一个标准化的流程,订单内容会发送到仓库,仓库对商品进行打单、拣货、包装、交接快递进行配送。

    订单确认:收到货后,订单系统需要在快递被签收后提醒用户对商品做评价。这里要注意,确认收到货不代表交易成功,相反是售后服务的开始。

    订单完成:订单完成是指在收到货X天的状态,此时订单不在售后的支持时间范围内。到此,一个订单的正向流程就算走完了。

    (2)逆向流程

    e14ecf1047a7859b923e42046e1fe624.png

    上面说到逆向流程是各种修改订单、取消订单、退款、退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。

    订单修改:可梳理订单内信息,根据信息关联程度及业务诉求,设定订单的可修改范围是什么,比如:客户下单后,想修改收货人地址及电话。此时只需对相应数据进行更新即可。

    订单取消:用户提交订单后没有进行支付操作,此时用户原则上属于取消订单,因为还未付款,则比较简单,只需要将原本提交订单时扣减的库存补回,促销优惠中使用的优惠券,权益等视平台规则,进行相应补回。

    退款:用户支付成功后,客户发出退款的诉求后,需商户进行退款审核,双方达成一致后,系统应以退款单的形式完成退款,关联原订单数据。因商品无变化,所以不许考虑与库存系统的交互,仅需考虑促销系统及支付系统交互即可。

    退货:用户支付成功后,客户发出退货的诉求后,需商户进行退款审核,双方达成一致后,需对库存系统进行补回,支付系统、促销系统以退款单形式完成退款。最后,在退款/退货流程中,需结合平台业务场景,考虑优惠分摊的逻辑,在发生退款/退货时,优惠该如何退回的处理规则和流程。

    (3)状态机

    状态机是管理订单状态逻辑的工具。状态机可归纳为3个要素,即现态、动作、次态。

    1. 现态:是指当前所处的状态。
    2. 动作:动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。
    3. 次态:动作满足后要迁往的新状态,“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

    状态机的设计需要结合平台实际业务场景,将状态间的切换细化成了执行了某个动作。

    以一个B2C商城的订单系统举例如下:

    1e9abbddad0e305f0debfb4fdceaf087.png

    订单系统为了高效的对订单进行跟踪和管理,会对订单流程当中的关键节点,抽象出订单状态。而订单状态从不同用户的角度可分为,系统订单状态、商家订单状态、买家订单状态等。

    对于订单系统来说,订单状态细分的颗粒度越细、越明确,订单系统管理的精度和可靠性就越高,比如:在待付款和待发货两个状态中,订单系统后台会细分为订单超时取消、订单支付失败、订单付款完成等。

    因此,订单状态模块中,通常会维护状态映射表,以不同的用户角色对系统订单状态进行重新划分,以满足不同用户的需求。

    除此以外,随着电商平台的不断发展,不同的业务类型,所对应的订单状态都会有所区别。所以,订单系统中一般会储存多套状态机,以满足不同的订单类型来使用。

    订单系统的发展

    订单系统的主体框架,和主要业务模块已基本讲完,那么随着企业的发展,业务量和业务形式不断变化,企业有可能形成多个订单系统并存以满足不同的业务需要的情况。

    业务系统架构如下:

    e4292c9255fa1781c37d3ef8945856e2.png

    这种状况的出现,将会给平台带来非常大的发展瓶颈,如:

    三个订单系统,每个订单系统处理不同类型的订单,没有统一的订单销量、订单状态信息,网站前台对订单的状态展示与控制不统一,只能是在网站前台会员中心硬代码维护一套面向会员的统一订单明细与状态数据。而无线侧上线后,由于不了解前台网站会员中心的订单状态管理逻辑,所以需要把前台网站的订单明细及状态管理再在无线应用侧再实现一遍。

    三套后台订单系统与公共业务系统如会员中心、支付与财务、促销工具、客户分单等系统都需要对接一遍,公共业务处理逻辑不统一,一旦逻辑变更多个系统统一个接口都要修改一遍,接口的重复维护开发工作量大。

    订单开发目前分到事业部,各个事业部只会考虑自己的逻辑,不会考虑公共架构,只会越走越远。碰到像无线这样的项目,需要对接各个事业部,无线侧应用上线进展慢。

    因此未来的订单系统可拆分为订单中心与业务订单系统两个模块,以管理公司所有订单数据,并为各个模块提供统一服务。

    业务系统架构如下:

    145227eb262ea8c569b37667f7069d89.png

    最后

    对于企业订单系统的搭建,并不是要做的大而全、也不是要小而精。而需要结合市场、公司、业务的实际情况来最终制定系统设计方案和产品迭代计划。

    最终,和公司整体发展相互协调,相辅相成。

    原文作者:sleeping
    原出处:人人都是产品经理
    原文链接:订单系统:从0到1设计思路 | 人人都是产品经理
    展开全文
  • 商城退货流程的总结

    千次阅读 2019-06-14 15:21:00
    B2C商城的订单退款和售后流程——axure原型图详解 前一段时间接到任务,要做一个B2C的官方商城,自有品牌的,基于前面的电商经验,其他模块很快上手,唯独订单模块困扰了我好久,尤其是订单...

    转载:http://www.sohu.com/a/283734911_114819

    转载:https://blog.csdn.net/jacko_chan/article/details/80266606

    B2C商城的订单退款和售后流程——axure原型图详解

    前一段时间接到任务,要做一个B2C的官方商城,自有品牌的,基于前面的电商经验,其他模块很快上手,唯独订单模块困扰了我好久,尤其是订单的退货退款和售后流程,与订单的正向流程密切相关,什么时候该展示什么数据,什么功能,退款单的状态对订单状态的影响等等,接下来我将用axure原型图一一讲解。

    在做订单流程这一块,参考了很多大神的文章,还有各种开源的商城软件,都过于理论化,实操性不强,对于新手来说没有一个实操的axure原型讲解,都是在用流程图告诉大家退款售后有哪些步骤,但是没有一个具体的案例来分析。

    相信我,你是不可能一上来就做到像很多文章里写得很完美订单管理系统的,况且文章中连原型图都没有。其实,即使是天猫和京东,在售后方面也是有取舍的,设定好规则才能让系统跑通,而不是说能够应付所有的异常情况。

    在设计之前,要考虑很多看似基础,却需要重视的规格,比如:

    1. 是否支持部分退款,部分退货?
    2. 是否支持换货?
    3. 是否支持多次申请退款/退货?
    4. 如果在售中时申请退款被拒绝了,还可不可以申请售后?
    5. 部分退款时,自动收货时间到了怎么办?如果退款申请拒绝了,订单状态怎么继续走?

    我这些只是举例了冰山一角,对于订单管理的确有很多异常分支情况和用户错误操作。那我在这里既然说要用案例具体去讲订单的逆向流程,我就先要规定好我们商城的订单规则:

    1. 待发货前可以申请一次退款,发货后可以申请一次售后(退货/退款);
    2. 一笔订单多种商品只能分开申请退款,不支持对订单申请退款,意思是有一种商品时就是全退,有多种商品时就是只能部分申请退款;
    3. 订单中暂不含优惠券,只包括运费,在待发货时部分退款,最后一笔申请会退运费;在已发货后申请售后就不再退运费,其他原因走人工客服。

    以上就是我对订单的设置的前提条件,有了前提条件,我再去跟技术评审,就让他们心里也感觉到靠谱一些,毕竟第一次的时候他们提出了很多漫无边际,非常离谱但是也会出现的异常情况,一开始得时候我真的很苦恼,后来才发现是我没有设定规则,没有规则,技术同学当然怕出现出现异常情况程序不知道怎么跑了。

    一、用户端订单页面

    关于订单的具体流程我就不多讲了,大家都知道的,待付款,待发货,待收货,交易成功,待评价,那我们先来看看我是如何对订单设置布局的:

    图片所展示的,一笔订单分为商品操作栏,交易状态栏和操作栏,对于商品操作栏我是分开的,所以一笔订单有多种商品时在申请退款的时候,一定是单个申请的;交易状态栏是合并在一起的,这是对订单整体进度的状态显示,在部分退款时显示的订单状态;最后操作栏在确认收货前都是合并在一起的,对整个订单的签收,当状态为交易成功时,则会显示商品的评价入口。

    那么这里就涉及这三块的状态和操作功能的切换,我们先来看一下退款单过程状态对商品操作栏的显示影响:

    我前面有讲,当处于待发货状态时,商品操作入口为“申请退款”;当已发货后,商品操作就为“申请售后”,那退款单的状态先去影响了商品操作栏的显示。具体的细分状态我在图片中已经详细列出来了,包括异常情况该如何处理。

    在看完退款单对商品操作的影响后,再来看看退款单对订单状态的影响,注意,退款单与订单是多对一的关系,退款单和商品也是多对一的关系,所以才会有申请一次退款被拒绝了,还可以申请一次售后(退款/退货)。

    下图是退款单结果状态对订单状态的影响:

    可以看出来每一种订单都有部分和全部两种影响,这里要注意,全部并不是一次对订单提交的退款申请,而是查看到订单中是不是所有商品都有退款单,并且都有结果。

    通过这样表格的分析整理,会很清晰理解订单状态随退款单的变化。

    二、用户端退款单界面

    前面讲了订单页面中订单状态的变化,具体的订单详情我就不做过多说明了,因为大家参考其他网站也可以很直观的看到,接下来看退款管理的界面:

    根据我之前的设置的退款规则,这里的退款单一定是一种商品一个退款单(可能包含多件,因为规定申请退款是不能选择退款数量,要么全退,要么客服联系,因为后台可以修改退款金额)。退款单分为两种,仅退款和退货退款,在待发货时只能申请仅退款,在发货后可以选择申请退款或者是申请退货,但是只有一次机会!

    这里很多人就会说我不考虑用户体验问题,首先我想说京东一上来退款退货规则也不完善,当然发展到今天他仍然还有很多不好的地方,当用户的退货申请被拒绝了你作为用户怎么办?京东的客服什么时候上线过,那个时候你只能网上发发牢骚。

    商城是从0到1,订单模块第一版的计划就是用户能下单,能退款,能退货。至于为什么用户不能一次申请所有商品的退款,为什么不能设置一种商品的退货数量等,后期会加上批量选择退款商品,设置退货数量等,不断优化退款和退货的流程图。

    这篇文章很适合产品新人来了解基础的退款退货的原型图设计,毕竟这里不包含优惠券,没有拆单,也没有调仓等等

    【干货】关于电商售后(退货、退款、换货)的相关流程

    我们在电商交易系统中,从用户下单到购买支付的流程走完后,后续就有可能会涉及到售后退款、退货等等的问题,接下来就来剖解下,可能遇到的一些情景和处理方案:

    由于实物商品和虚拟商品的退货规则会有所不同,所以会详细说明两者设计时需要注意的细项

     

    实物商品
    1. 用户已付款,订单尚未发货
    这种情况在电商系统里面属于比较常见的,用户刚下完单可能就申请取消订单退款;

    *这种情况因为不涉及退货,所以只需要用户提起退款申请,填写具体原因,由卖家进行审核是否同意退款;

    同意退款:卖家审核成功,款项将在指定时间内退还至用户账上;

    拒绝退款:卖家需要填写原因告知用户,后续用户可跟卖家进行电话沟通;

    2. 订单已发货,用户申请退款
    *卖家已发货用户申请退款,有两个场景:

    (1)卖家在系统填写了该订单物流单号发货,实际商品尚未出库

    用户提交退款,卖家确认商品是否尚未出库,同意申请后,撤回物流发送,款项在指定时间内退还至用户账上;若拒绝申请(商品实际已出库,无法撤回),卖家填写拒绝原因,并与用户协商收到商品后,再申请退货退款流程;

    (2)用户已收货,申请退货退款

    用户发起退款申请,填写具体退款原因,等待卖家进行审核;

    审核通过:用户根据卖家提供的退货地址信息等,寄回商品给卖家后,在系统填写对应的物流单号和快递公司,等待卖家签收确认,卖家确认无误后,款项将在指定时间内退还至用户账上。

    审核不通过:填写拒绝退货的原因,返回给用户(注:商品被人为因素破坏或不符合退货规则的情况下,卖家有理由拒绝商品的退款申请);

    3. 仅换货,不退款
    这个场景一般是商品出现质量问题(非人为损坏)需要进行换货,用户发起换货申请,填写换货原因和上传图片凭证,等待卖家进行审核;

    审核通过:用户将商品寄回卖家的售后地址,卖家确认签收商品后,向用户再次发送新的商品;

    审核不通过:卖家确认商品非质量问题或认为损坏,将其原因写入告知用户;

     
    虚拟商品
    以下是设计虚拟商品售后时的注意事项:

    1. 虚拟商品不存在质量问题,所以不会有换货的功能;

    2.虚拟商品使用后(例如话费已充值、影片购买等),一经发货充值后,不予退款;

    3.若订单商品尚未发货(提供服务)时,用户可发起退款申请,由卖家确认审核,审核通过则进行退款,反之把拒绝原因通知用户;

    以上均为个人设计想法,若有不对之处,还望大家指正;

    转载于:https://www.cnblogs.com/jiangxiaobo/p/11023452.html

    展开全文
  • 生鲜熟食退货流程

    2020-12-30 11:44:03
    生鲜熟食退货流程适用于超市管理学、超市管理人员、超市职员等学习参考使用,欢迎大家下载生鲜熟食退货流...该文档为生鲜熟食退货流程,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • (2)逆向流程 上面说到逆向流程是各种修改订单、取消订单、退款退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。 订单修改:可梳理订单内信息,根据信息关联程度及业务诉求...

    本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。

    1. 订单系统在企业中的角色

    在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功能,进而保证各系统之间高效简洁的工作。

    2. 订单系统与各业务系统的关系

    61aee685a98c264adc05d569d28bf812.png

    (1)对外系统:

    所有给企业外部用户使用的系统都在这一层,包括官网、普通用户使用的C端,还包括给商户使用的商家后台和在各个销售渠道进行分销的系统,比如与银行信用卡中心合作、微信合作在合作商的平台露出本企业的产品。这类系统站在与客户接触的最前线,是公司实现商业模式的桥头堡。

    (2)管理中后台:

    每个C端的业务形态都会有一个对应的系统模块,如负责管理平台交易的订单系统,管理优惠信息的促销系统,管理平台所有产品的产品系统,以及管理所有对外系统显示内容的内容系统等。

    (3)公共服务系统:

    随着企业的发展,信息化建设到达一定程度后,企业需要将通用功能服务化、平台化,以保证应用架构的合理性,提升服务效率。这类系统主要给其他应用系统提供基础服务能力支持。

    3. 订单系统上下游关系

    c7b70cc56e9c4cb82683af2227f03bb0.png

    由此可见,订单系统对上接收用户信息,将用户信息转化为产品订单,同时管理并跟踪订单信息和数据,承载了公司整个交易线的重要对客环节。对下则衔接产品系统、促销系统、仓储系统、会员系统、支付系统等,对整个电商平台起着承上启下的作用。

    4. 订单系统的业务架构

    ae79cf6f0ca48c1566b1f888e54321d6.png

    (1)订单服务

    该模块的主要功能是用户日常使用的服务和页面,主要有订单列表、订单详情、在线下单等,还包括为公共业务模块提供的多维度订单数据服务。

    (2)订单逻辑

    订单系统的核心,起着至关重要的作用,在订单系统负责管理订单创建、订单支付、订单生产、订单确认、订单完成、取消订单等订单流程。还涉及到复杂的订单状态规则、订单金额计算规则以及增减库存规则等。在4节核心功能设计中会重点来说。

    (3)底层服务

    信息化建设达到一定程度的企业,一般会将公司公共服务模块化,比如:产品,会构建对应的产品系统,代码、数据库,接口等相对独立。但是,这也带来了一个问题,比如:订单创建的场景下需要获取的信息分散在各个系统。

    如果需要从各个公共服务系统调用:一是会花费大量时间,二是代码的维护成本非常高。因此,订单系统接入所需的公共服务模块接口,在订单系统即可完成对接公共系统的服务。

    订单系统核心功能

    1. 订单中所包含的内容信息

    90238d094ff52e15cc986628e8eb5cd1.png

    为了使订单系统能够对订单进行高效、精准的管理和跟踪,订单会储存关于产品、优惠、用户、支付信息等一系列的订单实时数据,来和下游系统,如:促销、仓储、物流进行交互。

    以一个通用B2C商城的订单为例,梳理其包含的信息如下:

    这里要注意的是订单类型,随着平台业务的不断发展,品类丰富、交易方式丰富后,需要对订单进行多维度的分类管理,同时订单类型利于订单系统的扩展性。每种订单类型将会对应一套流程及一套状态,便于对订单进行分类管理和复用。

    2. 流程引擎

    流程是指从平台角度出发,将订单从创建到完成的整个流转过程进行抽象,从而形成了一套标准流程规则。而不同的产品类型或交易类型在系统中的流程会千差万别,因此为了方便对订单流程进行管理,会组建流程引擎模块。

    每套订单流程中会包含正向流程及逆向流程,正向流程可以比作一次顺利的网购体验过程中,后台系统之间的信息流转。逆向流程则是修改订单、取消订单、退款、退货等各种动作引起的后台系统流程,同时每个流程触发的条件又可分为系统触发和人工触发两种场景。

    (1)正向流程

    以一个通用B2C商城的订单系统为例,根据其实际业务场景,其订单流程可抽象为5大步骤:订单创建>订单支付>订单生产>订单确认>订单完成。

    而每个步骤的背后,订单是如何在多系统之间交互流转的,可概括如下图:

    ee40d0906802b525ab01140337e5009d.png

    订单创建:

    用户下单后,系统需要生成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则无此环节。

    接着获取该账户的会员权益,这里要注意的是:优惠信息与会员权益的区别,比如:商品满减是优惠信息,SUPER会员全场9.8折指的是会员权益,一个是针对商品,另一个是针对账户。其次就是优惠活动的叠加规则和优先级规则等。

    增减库存规则是指订单中的商品,何时从仓储系统中对相应商品库存进行扣除,目前主流有两种方式:

    下单减库存——即用户下单成功时减少库存数量

    • 优势:用户体验友好,系统逻辑简洁;
    • 缺点:会导致恶意下单或下单后却不买,使得真正有需求的用户无法购买,影响真实销量;

    解决办法:

    1. 设置订单有效时间,若订单创建成功N分钟不付款,则订单取消,库存回滚;
    2. 限购,用各种条件来限制买家的购买件数,比如一个账号、一个ip,只能买一件;
    3. 风控,从技术角度进行判断,屏蔽恶意账号,禁止恶意账号购买。

    付款减库存——即用户支付完成并反馈给平台后再减少库存数量

    • 优势:减少无效订单带来的资源损耗;
    • 缺点:因第三方支付返回结果存在时差,同一时间多个用户同时付款成功,会导致下单数目超过库存,商家库存不足容易引发断货和投诉,成本增加。

    解决办法:

    1. 付款前再次校验库存,如确认订单要付款时再验证一次,并友好提示用户库存不足;
    2. 增加提示信息:在商品详情页,订单步骤页面提示不及时付款,不能保证有库存等。

    综上所述,两种方式各有优缺点,因此,需结合实际场景进行考虑,如:秒杀、抢购、促销活动等,可使用下单减库存的方式。而对于产品库存量大,并发流量没有那么强的产品使用付款减库存的方式。

    将两种方式带入到销售场景中,关联商品类型、促销类型、供需关系等,灵活使用,以充分发挥计算机系统的优势。

    订单支付:

    用户支付完订单后,需要获取订单的支付信息,包括支付流水号、支付时间等。支付完订单接着就是等商家发货,但在发货过程中,根据平台业务模式的不同,可能会涉及到订单的拆分。

    订单拆分一般分两种:

    • 一种是用户挑选的商品来自于不同渠道(自营与商家,商家与商家);
    • 另一种是在SKU层面上拆分订单:不同仓库,不同运输要求的SKU,包裹重量体积限制等因素需要将订单拆分。

    订单拆分也是一个相对独立的模块,这里就不详细描述了。

    订单生产:订单生产,是指产品从企业到用户这一流程的概述。如电商平台中,商家发货过程已有一个标准化的流程,订单内容会发送到仓库,仓库对商品进行打单、拣货、包装、交接快递进行配送。

    订单确认:收到货后,订单系统需要在快递被签收后提醒用户对商品做评价。这里要注意,确认收到货不代表交易成功,相反是售后服务的开始。

    订单完成:订单完成是指在收到货X天的状态,此时订单不在售后的支持时间范围内。到此,一个订单的正向流程就算走完了。

    (2)逆向流程

    da274b827f0fab67de6eda8672e30876.png

    上面说到逆向流程是各种修改订单、取消订单、退款、退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。

    订单修改:可梳理订单内信息,根据信息关联程度及业务诉求,设定订单的可修改范围是什么,比如:客户下单后,想修改收货人地址及电话。此时只需对相应数据进行更新即可。

    订单取消:用户提交订单后没有进行支付操作,此时用户原则上属于取消订单,因为还未付款,则比较简单,只需要将原本提交订单时扣减的库存补回,促销优惠中使用的优惠券,权益等视平台规则,进行相应补回。

    退款:用户支付成功后,客户发出退款的诉求后,需商户进行退款审核,双方达成一致后,系统应以退款单的形式完成退款,关联原订单数据。因商品无变化,所以不需考虑与库存系统的交互,仅需考虑促销系统及支付系统交互即可。

    退货:用户支付成功后,客户发出退货的诉求后,需商户进行退款审核,双方达成一致后,需对库存系统进行补回,支付系统、促销系统以退款单形式完成退款。最后,在退款/退货流程中,需结合平台业务场景,考虑优惠分摊的逻辑,在发生退款/退货时,优惠该如何退回的处理规则和流程。

    (3)状态机

    状态机是管理订单状态逻辑的工具。状态机可归纳为3个要素,即现态、动作、次态。

    1. 现态:是指当前所处的状态。
    2. 动作:动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。
    3. 次态:动作满足后要迁往的新状态,“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

    状态机的设计需要结合平台实际业务场景,将状态间的切换细化成了执行了某个动作。

    以一个B2C商城的订单系统举例如下:

    719e78bb53a6829edc29f367309189f6.png

    订单系统为了高效的对订单进行跟踪和管理,会对订单流程当中的关键节点,抽象出订单状态。而订单状态从不同用户的角度可分为,系统订单状态、商家订单状态、买家订单状态等。

    对于订单系统来说,订单状态细分的颗粒度越细、越明确,订单系统管理的精度和可靠性就越高,比如:在待付款和待发货两个状态中,订单系统后台会细分为订单超时取消、订单支付失败、订单付款完成等。

    因此,订单状态模块中,通常会维护状态映射表,以不同的用户角色对系统订单状态进行重新划分,以满足不同用户的需求。

    除此以外,随着电商平台的不断发展,不同的业务类型,所对应的订单状态都会有所区别。所以,订单系统中一般会储存多套状态机,以满足不同的订单类型来使用。

    订单系统的发展

    订单系统的主体框架,和主要业务模块已基本讲完,那么随着企业的发展,业务量和业务形式不断变化,企业有可能形成多个订单系统并存以满足不同的业务需要的情况。

    业务系统架构如下:

    779bd3b16c1ceb6a242ae3041a377e71.png

    这种状况的出现,将会给平台带来非常大的发展瓶颈,如:

    三个订单系统,每个订单系统处理不同类型的订单,没有统一的订单销量、订单状态信息,网站前台对订单的状态展示与控制不统一,只能是在网站前台会员中心硬代码维护一套面向会员的统一订单明细与状态数据。而无线侧上线后,由于不了解前台网站会员中心的订单状态管理逻辑,所以需要把前台网站的订单明细及状态管理再在无线应用侧再实现一遍。

    三套后台订单系统与公共业务系统如会员中心、支付与财务、促销工具、客户分单等系统都需要对接一遍,公共业务处理逻辑不统一,一旦逻辑变更,多个系的同一个接口都要修改一遍,接口的重复维护开发工作量大。

    订单开发目前分到事业部,各个事业部只会考虑自己的逻辑,不会考虑公共架构,只会越走越远。碰到像无线这样的项目,需要对接各个事业部,无线侧应用上线进展慢。

    因此未来的订单系统可拆分为订单中心与业务订单系统两个模块,以管理公司所有订单数据,并为各个模块提供统一服务。

    最后

    对于企业订单系统的搭建,并不是要做的大而全、也不是要小而精。而需要结合市场、公司、业务的实际情况来最终制定系统设计方案和产品迭代计划。

    最终,和公司整体发展相互协调,相辅相成。

    展开全文
  • 退货退款:用户收到货后,想要申请售后,则此时需要提供让用户输入售后原因,包括上传凭证的功能,如果与商家协商无果,还需要增加平台客服的入口,方便用户进行申诉。而协商结果/申诉成功后直接触发自动退款机制,...

    5a9a4f14fdaa2c1cb9306a068ff05d25.gif

    文章来自:https://baijiahao.baidu.com/s?id=1602959656926168475&wfr=spider&for=pc

    作者:人人都是产品经理

    点击加入:PHP自学中心技术交流微信群

    商务合作: 请加微信(QQ):2230304070

    精选教程推荐

    技术交流微信群

    我们在学习中单枪匹马,还不如一次短短的交流,你可以在别人吸取各种学习经验,学习方法以及学习技巧,所以,学习与交流少不了一个圈子,提升你的学习技能,请点击加技术群:PHP自学中心交流③群     记得备注:加群

    0a83414e91b4448c7ccab75f104f2dc9.png

    视频教程分享

    以下视频教程的网址:http://blog.startphp.cn 

    已经更改为:http://www.mano100.cn  请知悉!

    1 Laravel你要从底层学起?还是掌握其核心内容便可?

    2 关于PHP与消息队列,你会吗?

    3 阿里云环境搭建以及项目上线还有谁不会的?

    4 PHP程序员是否要学习Linux课程?

    5 在CentOS7系统下如何搭建ElasticSearch

    更多视频教程,请关注网站:http://www.mano100.cn

    精选文章正文

    一个订单系统的设计并不简单,它需要一批又一批的人去维护、去优化,根据公司的业务情况做出改变与兼容。这篇文章主要与大家分析一下电商订单系统该如何设计。 在一个电商所有模块中,订单系统作为最为核心的模块,它决定了整个流程能不能顺畅的执行,起着承上启下的作用。 订单系统 设计订单系统时需要考虑几个模块。只有明确考虑所有模块,才能保证订单系统的稳定性和可扩展性。 1. 订单字段

    实际上,界面上显示的订单信息由各种订单字段组成。完成订单字段在某种程度上代表着订单流程的完整。

    0b7c3ba87d1486049357edeac8a551af.png

    订单字段包括几个部分,其中金额信息因为特殊性,单独来讲解,本质上,金额信息也是属于商品信息的。

    商品信息:商品信息属于订单系统的上游端。所有订单都是从商品演变而来的。从商品到订单,订单系统必须收集相关的商品信息,包括商店信息,商品ID,商品规格,商品数量和商品价格。获得的商品信息将显示在订单详细信息页面上。形成订单信息后,仓库可以方便地进行拣选和打包。

    用户信息:用户信息包括购买用户的ID,收货人,收货人地址和联系信息。某些平台的用户成长系统是根据平台上的用户活跃度来计算的。例如,京东(JD.com)具有类似的增长指标,例如会员级别和积分卡。此时,除了普通信息字段外,还需要获得用户信息。获取用户级别,购买后获得的积分以及用户所在等级可以从订单中扣除的折扣等,然而这些具体操作取决于公司的业务方向。

    金额信息:由于金额信息的特殊性,理论上认为金额信息应该属于商品信息。金额信息的特殊性在于它不代表金额,涉及到商品的金额,折扣金额和付款金额等。折扣金额所涉及的信息更为复杂。例如,具有自营和第三方结算的电子商务平台将具有商家折扣和跨商店折扣。这些折扣分为不同的类型,例如现金扣减和消费者优惠券扣减,点数获取,礼品卡扣减或以上各项的组合。如果要很好地涉及此内容,则需要根据公司的当前业务状况列出支持的优惠类型,然后枚举各种组合下的优惠类型以确保流程的完整性。

    时间信息:记录各个状态点下的时间,一是记录,二也是方便售后验证与客户分析。订单时间是根据订单状态改变而改变的。时间信息看起来不重要,其实是订单系统一个重要的组成部分,具体看以下:下单未付款:即订单创建时间、下单时间;待发货状态:订单创建时间、下单时间、支付时间;待收货状态:订单创建时间、下单时间、支付时间、发货时间;交易完成状态:订单创建时间、下单时间、支付时间、发货时间、完成时间;待退款状态:退款订单创建时间、申请退款时间;交易关闭-用户取消:订单创建时间、下单时间、用户取消时间;交易关闭-仅退款:订单创建时间、下单时间、支付时间、退款申请时间、退款成功时间;交易关闭-退货退款(包含部分仅退款):订单创建时间、下单时间、支付时间、交易完成时间、退款申请时间、退款时间。

    订单信息:订单信息在订单系统是最为核心,订单信息最重要的又是订单的状态。一个电商系统中,订单状态分别有以下几种状态:【待付款】、【待发货】、【待收货】、【待评价】、【交易完成】、【用户取消】、【仅退款】、【退货退款】。而我们一般会将后三种统一放在订单售后独立呈现,方便平时商家操作的便捷性。
    下面看看流程图:

    bd95c807e2003553476805a5b805105a.png

    2. 订单流程

    订单流程是指从订单生成到完成的过程,包括前正向流程和反向流程。  

    正向流程就是正常的网购的步骤:订单生成->付款订单->卖方发货->确认收货->交易成功。

    而逆向流程则是各种退款退货的流程。

    (1)正向流程

    cff6cf5f53cc617d9f2178ffa363e6d5.png

    订单生成:用户下单后,系统需要生成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则无此环节。

    接着获取该账户的会员权益(这里其实需要注意的是:优惠信息与会员权益是有区别的,就好比商品满减是优惠信息,新人立减是会员权益,一个是针对商品,另一个是针对账户)。

    支付订单:用户支付完订单后,需要获取订单的支付信息,包括支付流水号、支付时间等。支付完订单接着就是等商家发货,但在发货过程中,往往还有一种情况存在,很正常却也比较复杂,就是订单拆单。

    • 订单拆单分两种:一种是用户挑选的商品来自于不同渠道(自营与商家,商家与商家),此时就需要拆分订单,并分开结算,这里还涉及父子订单的说法,这里不再赘述。

    • 另一种是在SKU层面上拆分订单:不同仓库,不同运输要求的SKU,包裹重量体积限制等因素都需要将订单拆分。比如:商品A只在甲仓库有,商品B又只在乙仓库有,此时会将商品A与商品B拆分成两个订单。或者有些企业的做法是将商品A/B调拨到另外一个仓库统一发货,也方便了用户。

    订单拆单看起来简单,其实里面涉及到底层的系统支持,如你需要对每一个仓库的货品进行相对准确的盘点,且做到实时同步(涉及到仓库精细化管理),对商品进行准确分类与摆放,对商品信息记录准确无误等。

    这其中哪一模块都是一个浩大的工程,PM一般进入一家公司都会在原有(半成品)的基础上进行优化,大家不妨多思考一下底层业务,只有在底层做好精细化管理,才能支持线上丰富的用户需求。

    商家发货:商家发货过程也有一个标准化的流程,上面也有讲到,订单拆分时会涉及到仓库间调拨,然后仓库会对商品进行打单、拣货、包装、交接快递配送。这套标准化流程如果优化好,也是一个大工程,这里不再赘述,建议大家看看库存与仓库管理方面的书籍,详细了解。

    确认收货:商家发货后,就是等快递配送了,订单系统需要接入一些常用快递企业的接口,方便用户与商家在站内查询快递信息。

    交易成功:收到货后,不是一个服务的结束,相反是一个服务的开始。订单系统需要在快递被签收后提醒用户对商品做评价,这里要注意,确认收到货不代表交易成功,交易成功是指在收到货X天的状态,此时订单不在售后的支持时间范围内。到此,一个订单的正向流程就算走完了。

    (2)逆向流程

    aac1da12bd930e0c9fd2775d63b269e1.png

    一个电商的基本逆向流程如上图所示,订单的逆向流程复杂就在于它几乎允许在正向流程的任何环节出现。有人会问:用户未收到货为什么还能退款?

    其实我们换位思考,也很容易理解。假想你是用户,买了一双鞋子,付了款发了货,正在美滋滋的等待收快递,然后刚好路过一家鞋店看到刚买的同款鞋子大促销,于是你就拿起手机点击退款,买下了这双促销的鞋子。

    这种场景其实是很普通也很正常的用户日常,所以我们的订单系统就必须得支持用户各种丰富的场景需求,也十分考验PM的业务渗透能力,好在电商的先行者淘宝已经做了很多基础建设和用户教育,我们直接可以拿来套用,不过还是要根据各个公司的业务情况进行修改。

    取消订单:用户提交订单时,在跳转至支付前直接退出,此时用户原则上属于取消订单,因为还未付款,则比较简单,只需要将原本提交订单时扣减的库存补回即可。

    支付失败:用户进行支付时退出,或者取消支付,我们将其列为支付失败状态,此时处理同上,将扣减的库存补回可销售库存即可。

    付款后退款:用户支付成功后,商家还未发货,支持用户申请退款,此时如果仓库与客服是分离的,则需要先检查仓库是否已经发货,若已发货则应与客户沟通是否可以收到货后再进行退款,如果仓库还未发货,则可直接同意用户退款。或者企业接入菜鸟物流,实行截件功能,不过这种操作还不成熟,成本会比较大,不适合中小创业型公司。

    缺货退款:用户支付成功后,商家发货时发现仓库缺货(如果提交订单扣减库存,则会减少缺货情况,为什么是减少而不是避免?因为仓库管理商品时没办法做到100%精准,所以信息有时候会不准确,导致线上的可销售库存显示有库存而仓库已经售空的状态),则需要与用户协商是否退款。

    这个流程订单系统可以做到流程化、自动化,连接消息中心和仓库管理系统去实现,难点在于消息的实时性。我就遇到过在淘宝买过一件上衣,一天过去了,商家跟我说没货了,我当时杀人的心都有了。

    待收货退款:这个问题目前还没有特别完美的解决方法,商家发了货之后,用户还未收到货,此时货在路上。大体上分为两种做法:一种是用户收到货后重新寄回;另一种是用户直接拒收包裹,包裹直接退回原地址。

    退货退款:用户收到货后,想要申请售后,则此时需要提供让用户输入售后原因,包括上传凭证的功能,如果与商家协商无果,还需要增加平台客服的入口,方便用户进行申诉。而协商结果/申诉成功后直接触发自动退款机制,退款后触发消息通知,同时触发交易关闭状态,整个售后过程才算结束。

    系统的学习PHP

    关注本公众号:PHP自学中心,回复相应的关键词,领取以下视频教程

    0 全流程开发 TP6.0实战高并发电商服务系统

    链接:https://docs.qq.com/doc/DV2J5WWpoRnlYYXhB

    1 产品经理高清实战

    公众号里回复:07212019

    2 设计模式实例剖析与深入解读

    公众号里回复:20190714

    3 Git&GitHub视频教程

    公众号里回复:gitnnnx

    4 尚硅谷Redis

    公众号里回复:0713ksy1

    5 SQL 注入及如何防止

    公众号里回复:20190712

    以上是本文的全部内容,希望对大家的学习有帮助,也希望大家多多支持 php自学中心 

    35eed07e5436d300d41ff6bc888545c9.png

    展开全文
  • 很多时候开发的需求和相应问题的解决真的要跳出语言语法层面,去从系统和流程的角度考虑。好的,也不说什么废话了。进入正题。 一. 支付 支付主要分为几个步骤: 前端携带支付需要的数据(商品id,购买数量等)发起...
  • 本篇文章给大家介绍php实现微信申请退款流程,使用到官方提供的SDK中的最重要的一个类文件WxPay.Api.php中提供的refund()方法来实现的,完整大家大家参考下本
  • 近期应用户需求,在系统中测试了一下客户退货流程。记录如下: MB1C接收客户退货退货库存。输入物料号,客户代码,退货数量和退货存放的库位。 可以用MB03/MB51查询生成的退货物料凭证,相关信息都有记录。...
  • 微信退款流程实现整理(java)

    千次阅读 2020-06-13 11:08:10
    退款请求数据均来自客户支付的订单信息,以订单为依据进行退款;其中的逻辑以自己的业务需求来制定,此处仅此校验订单是否存在与订单状态是否符合退款需求; 此处请求退款需要小程序绑定商户平台的“退款证书”,在...
  • 微信JSAPI支付,微信APP支付,微信退款,支付宝手机网站支付,支付宝APP支付,支付宝退款,我都放到个人公众号:JAVA大贼船。觉得个人以后开发会用到的可以关注一下哦!少走点弯路… 官方文档 [传送门](...
  • 客服退款流程.rar

    2021-09-16 19:25:05
    客服退款流程.rar
  • 支付宝退款流程

    2019-04-29 21:09:00
    当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间...
  • 用户退款流程

    2019-09-25 03:20:25
    转载于:https://www.cnblogs.com/a19960101/p/11305359.html
  • 11.客服退款流程.xlsx

    2021-09-13 15:44:01
    11.客服退款流程
  • 进出货及退货流程.doc

    2021-10-10 16:45:12
    进出货及退货流程.doc
  • SAP采购退货流程课件(PPT38页).pptx
  • 微信-原路退款流程

    千次阅读 2019-08-03 16:24:04
    部分内容参考:... 这里主要描述 退款回调信息内容: 微信申请退款接口文档: https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_4&index=4 微信退款通知接口文档: https://pay.weixin.qq....
  • 基于退货单的采购退货流程是一种比较特殊的采购退货流程,无法使用“生成进帐发票的采购退货流程”不能使用的时候,都应该使用“基于退货单的采购退货流程处理”。该流程也需要通过贷记凭证在系统中表现,但该笔贷记...
  • ecshop退货流程文档

    2015-01-07 16:13:10
    ecshop退货流程,详细的退货流程逻辑解读与记录。方便用户了解ecshop现在的退货机制。
  • 连锁商场商品管理流程-相关文件:商品质量管理程序.doc,商品物流管理流程,商品陈列工作流程,商品退货调拨流程,商品盘点管理程序,商品调价工作流程,商品补货工作流程,商品报损工作流程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,915
精华内容 7,166
关键字:

退货流程