Magento 2 的满额包邮可以通过购物车价格规则实现。配置重点不只是输入金额,还要明确使用折扣前还是折扣后小计、哪些商品参与、适用的配送方式和客户组。

1. 创建购物车价格规则

在后台进入购物车价格规则,新建规则并填写名称、启用状态、网站、客户组和生效日期。如果所有符合条件的购物车都自动包邮,优惠券选项选择“不使用优惠券”。

2. 设置金额条件

在 Conditions 中选择购物车属性,例如 Subtotal 大于等于指定金额。若商店含税、折扣或多币种配置复杂,应先确认后台条件使用的金额口径,避免用户看到的合计已经达标但规则没有触发。

3. 设置免运费动作

在 Actions 中将 Free Shipping 设置为适当范围:

  • For shipment with matching items:只要符合条件的商品在配送中,即可影响该配送。
  • For matching items only:仅匹配商品享受免运费,适合部分商品活动。

不同版本后台文字可能略有差异,应以当前系统字段说明为准。

4. 配送方式也要支持

购物车规则标记免运费后,还要确保 Free Shipping 配送方式已在当前网站范围启用,或当前承运方式能正确处理 free shipping 标记。检查最低订单金额、适用国家和错误提示。

5. 控制规则叠加

如果站点还有优惠券或会员折扣,设置规则优先级,并决定是否停止后续规则处理。两个规则同时修改运费时,顺序不明确容易造成前台显示和订单金额不一致。

6. 缓存和索引

bin/magento cache:clean config full_page

购物车价格规则保存后通常不需要全量重建所有索引。若规则未生效,先检查网站、客户组、日期和条件,不要先执行全部 reindex。

测试场景

  • 金额刚好低于、等于和高于门槛。
  • 登录客户与游客。
  • 含税和不含税显示。
  • 使用优惠券前后。
  • 多地址结账。
  • 不同国家、配送方式和币种。
  • 购物车中包含不参与活动的商品。

测试时以最终订单的 shipping amount 为准,同时确认购物车、结账页、订单邮件和后台订单金额一致。