跳到主内容

排序

订单记录 Casdoor 中的商品购买。用户购买商品时,会自动创建一个订单,记录购买详情并跟踪其生命周期。

订单与支付​

订单和支付关系紧密,但用途不同:

  • 订单:记录买了什么,以及履约状态
  • 支付:记录这笔交易如何付款

购买商品时两者都会创建,但订阅走的是另一套流程(Pricing → Plan → Payment → Subscription),不创建订单。

创建订单​

用户购买商品时,系统会创建订单并立即给出反馈。订单创建后会显示成功提示,然后跳转到支付页。如果订单创建失败,会显示说明问题的错误信息。

订单结构​

每个订单包含:

  • 基本信息:所有者、名称、创建时间和显示名称
  • 商品引用:订单中包含的一个或多个商品
  • 商品信息快照:购买时保存的商品详情(名称、显示名称、图片、价格)
  • 用户与支付:买家和关联支付的引用
  • 状态管理:当前状态、可选的状态消息,以及记录状态最近一次变化时间的 Update time

一个订单可以包含多个商品,可以在一笔交易中购买多件商品。创建订单时,系统会给每个商品当前的信息拍一个快照,包括显示名称、图片、详情和价格。即使商品详情之后有变化,这个快照也会保留当时买的是什么。

订单总价会自动累加各个商品的价格。商品可能以不同币种定价,但同一订单中的所有商品必须使用同一币种,才能准确计算总价。

订单状态​

订单根据付款状态在以下状态之间流转:

  • Created:订单已创建,但尚未完成付款
  • Paid:付款已成功处理
  • Failed:付款尝试出错失败
  • Canceled:付款或订单已取消
  • Timeout:付款在完成前超时
  • Delivered:商品或服务已交付给用户
  • Completed:订单已全部履约
  • Expired:订单已过期(限时商品)

支付提供商把交易结果通知 Casdoor 时,系统会自动更新订单状态,并在 Update time 中记录变化的时间。这个字段显示在订单详情页上,标签会随最终状态变化,例如已付款订单显示 "Payment time",已取消订单显示 "Cancel time"。这种同步保证订单始终反映当前的付款状态,无论付款成功、失败、取消还是超时。

查看订单​

打开 Orders 页面查看购买记录。普通用户只能看到自己的订单;管理员能看到所在组织的所有订单,选择默认组织时能看到所有组织的订单。

订单列表中有一个 Products 列,显示每个订单中的所有商品。包含多个商品的订单,每个商品单独一行,并链接到其详情。 Payment 列直接链接到关联的支付记录,方便跟踪交易状态。

可以按支付名称、商品名称、用户或其他字段搜索订单。按状态筛选、按列排序,找到特定的交易。

管理订单​

点击订单可以查看或编辑。订单编辑器用多选下拉框列出商品,可以在那里添加或移除商品。商品列表变化时,系统会根据保存的商品快照重新计算总价。

编辑器还可以更新订单状态、添加消息和修改时长。即使商品当前价格变了,商品快照也会保留历史价格。