Shopify Functions

Shopify 脚本迁移到 Function 后折扣被算了两次

现象#

迁移完成后同一笔订单出现两条相同减免,一条来自自动折扣、一条来自折扣码;订单详情里的折扣合计正好是原来的两倍。

原因#

  • 原脚本同时覆盖自动与手动场景,迁移时建了两个折扣节点,各减一次
  • 折扣节点上的组合设置允许叠加,函数之间又互不知情,减免被累加
  • 一条逻辑留在 Scripts 未停用,新函数也在跑,两边同时生效
  • 同一函数被重复激活,或多个 app 装了同类折扣函数,最多 25 个并发

处理步骤#

  1. 在 后台 折扣 列表核对 discountAutomaticApp 与 discountCodeApp 条目
  2. 只保留一个入口,另一个删除或把 combinesWith 设为 false
  3. 别只改 discountApplicationStrategy,叠加由折扣节点控制
  4. 停用仍在跑的旧脚本,检查 应用 → Script Editor 里没有残留
  5. 用带码测试单核对订单折扣合计与日志里 discounts 条数

验收标准#

同一购物车只产生一条减免,订单详情折扣合计等于单次计算值,Function 日志里 discounts 只有一项。

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