1. 文档目的
本文用于说明 Audlis 从下单到支付、从履约到物流、从异常到售后的完整业务流程。
这份文档的目标是:
- 让研发明确系统事实源和状态流转
- 让运营理解后台每个动作在流程中的位置
- 为后续售后、退货、评价、生命周期营销打基础
- 为写书提供可直接复用的业务链路材料
2. 流程总览
Audlis 当前采用的订单链路是:
- 用户浏览商品并加入购物车
- 用户进入结账并提交订单信息
- 系统创建订单并进入支付流程
- Stripe 支付成功后通过 webhook 确认交易
- 系统触发供应商履约
- 后续同步 tracking 信息
- 记录 tracking events 与 shipping exceptions
- 用户与后台都可以查看订单和物流状态
- 如出现问题,再进入客服 / 售后 / 隐私 / 人工处理流程
3. 参与角色
3.1 用户
负责:
- 浏览商品
- 加入购物车
- 提交订单
- 支付
- 查询订单
- 查看物流
- 发起咨询或售后
3.2 管理员 / 运营
负责:
- 维护商品与价格
- 查看订单
- 查看履约与物流
- 处理异常
- 处理客户问题
3.3 支付服务(Stripe)
负责:
- 接收付款
- 支付状态确认
- 通过 webhook 提供权威支付结果
3.4 供应商 / 履约方(CJ Dropshipping)
负责:
- 接收履约请求
- 发货
- 返回物流信息
3.5 系统自身
负责:
- 持久化订单事实
- 串联支付与履约
- 对外提供订单与物流查询
- 标记异常并支持人工处理
4. 下单与支付流程
4.1 购物车阶段
用户在商品详情页或商品列表中把商品加入购物车。
当前购物车特点:
- 由前端状态管理
- 在浏览器中持久化
- 进入结账前不生成正式订单
这意味着购物车是“意向数据”,不是订单事实。
4.2 结账阶段
用户进入结账页后,填写:
- 联系信息
- 地址信息
- 配送相关信息
系统在服务端做以下事情:
- 校验商品和价格
- 计算订单基础数据
- 创建订单记录
- 进入 Stripe 支付流程
4.3 支付确认阶段
支付完成后,不能只依赖前端跳转结果。
真正的支付确认流程是:
- Stripe 处理支付
- Stripe 调用系统 webhook
- 系统校验 webhook 签名
- 系统更新订单支付状态
因此:
- 成功页只是用户体验上的“返回页”
- webhook 才是支付事实源
这是整个订单系统最关键的设计点之一。
5. 订单状态逻辑
当前订单至少包含两个层面的状态:
5.1 支付状态
例如:
- pending
- paid
- failed
- refunded
5.2 履约 / 物流相关状态
例如:
- 未创建 tracking
- 已创建 tracking
- in transit
- delivered
- exception
在系统设计上,支付状态和物流状态不能混成一个字段,否则后续运营和客服会非常混乱。
6. 履约流程
6.1 支付完成后触发履约
当 Stripe webhook 确认支付成功后,系统开始尝试进入供应商履约流程。
当前主要供应商是:
- CJ Dropshipping
这一步通常包括:
- 生成供应商订单
- 记录供应商订单 ID
- 后续准备 tracking 同步
6.2 供应商源信息的重要性
之所以系统保留 source_data,是因为:
- 商品可能经过本地二次编辑
- 但履约、源图、供应商属性仍需要回看原始数据
这在 dropshipping 系统里非常关键。
7. 物流同步流程
7.1 为什么不能只存 tracking number
如果只保存:
- tracking number
- carrier
那用户和后台看到的只是一个“物流编号”,并不能支撑客服和异常处理。
所以系统进一步引入了:
order_tracking_eventsshipping_exceptions
7.2 tracking events
tracking events 用于保存物流时间线事实,例如:
- shipped
- arrived at facility
- customs processing
- out for delivery
- delivered
用户订单查询页和后台订单详情都可以消费这部分数据。
7.3 shipping exceptions
shipping exceptions 用于标记需要运营关注的异常,例如:
- 长时间未出 tracking
- 长时间无新物流节点
- 投递失败
- 运输异常
这使系统从“能显示物流”升级为“能运营物流问题”。
8. 用户查询流程
用户查询订单有两条路径:
8.1 账户内查询
已登录用户可在账户中心查看:
- 订单列表
- 订单详情
- 当前物流状态
8.2 独立订单查询
未登录或访客用户可通过订单页查询:
- 订单状态
- tracking 信息
- tracking timeline
这对跨境电商很重要,因为很多用户不会长期保留账户登录状态。
9. 后台处理流程
后台订单管理主要面向运营和客服,当前支持:
- 查看订单
- 查看支付状态
- 查看物流时间线
- 查看 shipping exception
- 在物流异常页集中处理问题
后台需要的不是“跟用户看到一样的页面”,而是“能帮助运营排查问题的事实面板”。
10. 客服与物流的关系
在实际业务里,订单、物流、客服不是三个独立系统,而是同一条服务链。
典型问题包括:
- 什么时候发货
- 为什么 tracking 没更新
- 预计多久送达
- 丢件怎么办
- 退货怎么处理
因此系统已经把以下能力串起来:
- 订单
- 物流事件
- 物流异常
- AI 客服
- Support Tickets
这条链越清晰,客服成本越低。
11. 异常处理与售后衔接
当前系统已经有以下异常与售后基础能力:
- shipping exceptions
- support tickets
- AI 客服转人工
- privacy requests
- returns / RMA 文档与数据层准备
这意味着订单系统已经不是“支付完成即结束”,而是具备向完整售后系统演进的基础。
后续最合理的扩展包括:
- 正式 returns / RMA 工作流
- replacement / refund 分支
- review request 触发
- delivered 后自动营销触发
12. 生命周期营销与订单链路的关系
订单不是运营终点,而是营销起点。
基于订单状态,可以触发:
- 弃购提醒
- 发货提醒
- 妥投提醒
- 评价邀请
- 复购推荐
因此订单、物流和营销系统必须共用同一套事实层,而不是各自维护一套“猜测状态”。
13. 当前流程中的关键设计原则
13.1 webhook 是支付事实源
不要信任成功页。
13.2 tracking events 是物流事实源
不要只信一个 tracking number。
13.3 供应商源数据要长期保留
不要把导入前的原始数据丢掉。
13.4 客服、物流、售后要用同一事实层
不要让每个模块自己维护一套状态口径。
13.5 前台与后台消费的是同一订单实体
只是视角不同,不应分裂成两套系统。
14. 当前流程仍待补强的部分
虽然主链路已经成型,但还有几块需要继续完善:
- 退货 / RMA 正式工作流
- 自动化通知更完整的覆盖
- 物流异常规则进一步细化
- 更清晰的退款与争议流程
- 更细的订单 / 履约 / 售后状态枚举管理
这些不影响现有系统成立,但会影响它从“可运营”升级到“成熟运营”。
15. 一句话总结
Audlis 当前的订单与履约系统,已经完成了从“下单收钱”到“支付确认、供应商履约、物流事实、异常处理、客服衔接”的关键跃迁。
这使它具备了成为完整跨境电商运营系统的基础,而不只是一个支付成功后就结束的网站。
