Flow 用错订单触发器导致付款后不执行
现象#
工作流用 Order created 触发,客户用银行转账下单三天后才付款,Flow 里始终只有一条下单时的运行记录,付款后没有任何新运行,订单也没打上 paid 标签。
原因#
- Order created 在订单生成瞬间触发,此时支付状态可能还是 pending,收款发生在之后。
- Order paid 只在付款状态变为 paid 时触发,授权未请款与部分付款都不会进入该状态。
- 一条工作流只能挂一个触发器,无法用单条流程同时覆盖下单与付款两个时点。
- 在 Order created 里判断 financialStatus,只会按触发那一刻的值求值,之后不再重跑。
处理步骤#
- 点开触发器,确认是
Order created还是Order paid。 - 需要等钱到账才执行的逻辑,换成
Order paid触发器并重新连接后续条件与动作。 - 下单就要处理的风控、占库存保留在
Order created,不要在其中判断付款状态。 - 把两类业务拆成两条独立工作流并分别命名,避免一条流程里混用两个时点。
- 用测试订单点 标记为已付款,再到 最近运行 确认新增记录来自
Order paid。
验收标准#
付款后 Flow 最近运行里出现一条触发器为 Order paid 的新运行,订单详情 Tags 字段出现 paid 标签。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。