Shopify 购物车校验函数在 POS 与订阅续订上不生效
现象#
后台 设置 → 结账 里已启用校验项,线上普通结账能拦住超量下单;同一天 POS 门店卖出 12 件限购 5 件的商品,系统没有任何提示,订单照常完成。
原因#
- 校验函数挂在
cart.validations.generate.run,POS 与订阅续订不在执行面 - 函数只在购物车与结账流程被调用,Admin 改单或 Create Order API 下单不会重跑
- 同一店铺最多启用 25 个校验函数,超出的被静默跳过,列表里也看不出
- 错误抛在哪个阶段由
buyerJourney.step决定,购物车阶段的错误会被忽略
处理步骤#
- 在
shopify.extension.toml把 target 写成cart.validations.generate.run - 输入查询加
buyerJourney { step },只在CHECKOUT_COMPLETION抛错 - 用
shopify app function run -j分别模拟两种buyerJourney.step - 限购规则在购物车阶段只提示,结账阶段才
validationAdd - POS 与订阅续订另用 Flow 工作流或库存策略兜底,不指望该函数覆盖
验收标准#
开发店铺的普通结账与 Shop Pay 快捷结账各下一单超量订单,两处都在付款前出现同一条文案;POS 单不再被当作覆盖范围。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。