后台订单没有 Cancel 按钮,通常说明订单对象的 canCancel() 判断为否。已进入 complete、closed、canceled 状态,或全部商品已经开票,订单通常不能再按普通取消流程处理。

支付方式也会参与判断。仅授权的交易在取消订单时可能需要向网关发起 void;如果授权已过期、交易已捕获或支付扩展不支持 void,按钮可能消失或操作失败。

检查订单 state、status、已开票数量、已取消数量和 payment transaction。自定义状态如果错误绑定到 complete,也会让业务上尚未完成的订单失去取消能力。

已经收款的订单通常应走 Credit Memo 退款,而不是强行取消。不要直接修改 sales_order 的 state/status 恢复按钮,这会绕过库存补偿、支付处理和订单历史。应先确定资金与履约实际状态,再选择取消、作废授权或退款。