Magento 订单同时存在 state 与 status。State 代表处理阶段,例如 processing、complete;Status 是展示给管理员和客户的具体标签。一个 state 可以绑定多个 status,所以前后台文字不同不一定代表订单数据冲突。
先读取同一订单的 state、status,再到后台订单状态配置中查看绑定关系。自定义状态如果绑定到错误 state,可能导致后台显示“已处理”,系统却仍认为订单不能开票或发货。
前台主题和接口不应根据中文标签判断业务阶段。自定义代码应读取状态代码,涉及能否取消、开票、发货时,应使用订单对象提供的能力判断,而不是自己比较字符串。
若数据库值一致但客户中心仍显示旧状态,检查页面缓存、自定义 API 缓存和前端状态映射。支付回调延迟也会造成短暂差异,应结合订单历史中的时间顺序判断,而不是立即手工修改状态。

