现象:购物车显示已满免邮门槛,填写地址后又收运费。要先明确规则按折扣前后、含税或基础币种哪个金额判断。

阶段具体操作
取证记录地址前后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运费一致。