折扣码 applicable 为 false 却没减钱怎么查
现象#
cartDiscountCodesUpdate 返回 200、userErrors 为空,cart.discountCodes 里能看到输入的码,但 applicable: false,cost.totalAmount 一分没少。
原因#
- 码本身有效,但购物车未达到最低消费、指定商品或客户标签条件,Cart 只记录不应用
- 折扣限定市场或币种,buyerIdentity.countryCode 与折扣配置不一致时不会生效
- 一次性码已被使用,或与购物车里已存在的自动折扣发生冲突
- 2025-07 起 mutation 会返回 warnings 说明不适用原因,只读 applicable 会丢掉这些信息
处理步骤#
- 在 mutation 里加选
warnings { code message target },先读具体原因 - 查
cart.cost.subtotalAmount是否达到折扣的最低消费门槛 - 核对码的适用范围:商品、集合、客户标签、市场是否包含当前 countryCode
- 把
discountCodes一次性传完整列表,不要只传本次新增的那个码 - 用同一个码在原生主题结账页测试,排除码本身配置有误
验收标准#
满足条件后 applicable 变 true,cost.totalAmount 比加码前少对应金额,warnings 为空数组。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。