订单 webhook 读不到 selling_plan_id 怎么办
现象#
代码里读 line_items[].selling_plan_id 得到 undefined,订阅订单被当成一次性购买,续费提醒全部漏发。
原因#
- selling_plan_id 自 2026-10 版才出现在订单 webhook 的 line_items 上,旧版本没有
- include_fields 只列了 id 与 quantity,该字段被裁掉,读出来自然是 undefined
- 一次性购买的行该字段为 null,用真值判断会混淆 null 与字段不存在
- 它只是计划的 id,不含配送周期与金额,当订阅合同用会算错续费日
处理步骤#
- 把订阅的
api_version升到2026-10后重新 deploy 抓包 - 在
include_fields里显式加line_items.selling_plan_id - 代码按
lineItem.selling_plan_id ?? null读取,区分 null 与缺字段 - 需要周期与金额时用
sellingPlan或sellingPlanAllocation回查 - 下笔订阅测试单,比对 webhook 与 Admin API 返回的 plan id
验收标准#
订阅订单的 line_items 里 selling_plan_id 有值且与后台计划 id 一致,一次性订单为 null。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。