现象:购物车显示已满免邮门槛,填写地址后又收运费。要先明确规则按折扣前后、含税或基础币种哪个金额判断。
| 阶段 | 具体操作 |
|---|---|
| 取证 | 记录地址前后subtotal、base_subtotal、discount、tax和shipping_amount,多币种门槛通常按base金额。 |
| 定位 | 检查Free Shipping与Cart Price Rule的Website、客户组、国家、邮编和商品条件。 |
| 修复 | 确认是否有不可免邮商品、包裹重量或多地址拆包;Carrier门槛与Sales Rule不要形成两套冲突判断。 |
| 复核 | 统一策略后重新collect totals,不能只把shipping_amount手工改0。 |
可执行检查
SELECT subtotal,base_subtotal,subtotal_with_discount,base_subtotal_with_discount,shipping_amount,discount_amount FROM quote_address WHERE quote_id=:quote_id;
SELECT rule_id,name,conditions_serialized,actions_serialized,simple_free_shipping FROM salesrule WHERE is_active=1;通过标准:门槛前后1分钱、优惠券前后、两个国家和两种币种下,页面、Quote与Order运费一致。

