Shopify Functions

Shopify 购物车校验函数在 POS 与订阅续订上不生效

现象#

后台 设置 → 结账 里已启用校验项,线上普通结账能拦住超量下单;同一天 POS 门店卖出 12 件限购 5 件的商品,系统没有任何提示,订单照常完成。

原因#

  • 校验函数挂在 cart.validations.generate.run,POS 与订阅续订不在执行面
  • 函数只在购物车与结账流程被调用,Admin 改单或 Create Order API 下单不会重跑
  • 同一店铺最多启用 25 个校验函数,超出的被静默跳过,列表里也看不出
  • 错误抛在哪个阶段由 buyerJourney.step 决定,购物车阶段的错误会被忽略

处理步骤#

  1. 在 shopify.extension.toml 把 target 写成 cart.validations.generate.run
  2. 输入查询加 buyerJourney { step },只在 CHECKOUT_COMPLETION 抛错
  3. 用 shopify app function run -j 分别模拟两种 buyerJourney.step
  4. 限购规则在购物车阶段只提示,结账阶段才 validationAdd
  5. POS 与订阅续订另用 Flow 工作流或库存策略兜底,不指望该函数覆盖

验收标准#

开发店铺的普通结账与 Shop Pay 快捷结账各下一单超量订单,两处都在付款前出现同一条文案;POS 单不再被当作覆盖范围。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。