Shopify Webhooks
Webhook 收不到,九成不是 Shopify 没发,而是端点返回超时、HMAC 校验失败或被中间件提前消费了请求体。本分类把订阅配置、签名校验、5 秒响应窗口与本地隧道 URL 过期这几件事讲透,并给出可复用的校验代码写法与重试观察方法。
-
01
Webhook 返回 200 但业务报错,事件静默丢失怎么查
端点响应 30ms、日志全是 200,ERP 里却少了几十笔订单……
-
02
Shopify webhook 端点返回 301/302 算成功吗
端点做了域名跳转,Shopify 侧记录投递失败,事件被反复重试。
-
03
后台通知里建的 Webhook 和 API 订阅有什么区别
在「设置 → 通知 → Webhook」里建了一条 orders/create,地址能收到推送……
-
04
Shopify webhook 连续失败后被自动停用怎么恢复
某天开始完全收不到事件,后台 webhook 列表里该订阅消失或状态异常,历史投递全是失败。
-
05
创建 Webhook 订阅提示地址必须 HTTPS 怎么改
调 GraphQL 建订阅时返回 userErrors,message 指向地址不合法……
-
06
云函数冷启动超过 5 秒,Webhook 全部超时怎么办
函数日志里处理只花 200ms,Dev Dashboard 的 Response time 却显示 5.2s 并判失……
-
07
customers/data_request 收到后要做什么才算合规
应用商店审核被拒,理由是没有正确处理 customers/data_request;后台隐私页显示有一笔待处理请求……
-
08
Webhook 重复投递导致订单重复处理怎么防
同一笔订单被创建了两条内部记录,或库存被扣两次;日志里同一个 X-Shopify-Webhook-Id 出现多次。
-
09
日志里怎么用 X-Shopify-Event-Id 串起一条事件
排查时只能按订单号搜日志,同一订单几十条记录混在一起,分不清哪几条来自同一次商家操作……
-
10
fulfillments/update 里拿不到运单号和状态怎么办
订阅 fulfillments/update 后,payload 里 shipment_status 为 null……
-
11
Webhook HMAC 用 hex 算出来永远对不上怎么修
同一个 body、同一个 secret,本地算出的签名和 header 里的值长度差一倍,比较永远 false……
-
12
Webhook 验签必须用原始请求体吗
本地用同样密钥算出的 HMAC 与 X-Shopify-Hmac-Sha256 不一致,改了几次编码仍失败。
-
13
Shopify Webhook HMAC 校验失败怎么办
HMAC 校验总失败。
-
14
Shopify webhook 幂等用哪个字段最可靠
重试导致同一事件处理两次,用 payload 里的 id 做去重却误杀了正常更新。
-
15
inventory_levels/update 推得太频繁怎么减压
大促开始后每秒涌进上百条库存事件,同一个 inventory_item_id 反复推送,队列延迟到十几分钟……
-
16
用 IP 白名单校验 Shopify Webhook 为什么不可靠
防火墙按网上一份 23.227.32.0/19 放行,稳定几周后订单事件突然全断,Logs 里显示连接被拒……
-
17
本地开发怎么接收 Shopify webhook
本地起的服务没有公网地址,无法配置 callback URL,只能反复部署到线上调试。
-
18
Shopify 强制合规 webhook 必须实现哪三个
应用提审被拒,提示未实现客户数据请求与删除相关的强制 webhook,或店铺数据删除后应用仍保留数据。
-
19
服务多个店铺时 webhook 怎么区分来源
一个端点接收几十个店铺的事件,处理时不知道该用哪个店铺的 token,日志里也分不清。
-
20
Shopify 订单 webhook 到达顺序乱了怎么办
先收到 orders/paid 再收到 orders/create……
-
21
Shopify Webhook orders/create 收不到
后台已订阅 orders/create,测试下单后端点无请求。
-
22
orders/paid 比 orders/create 先到是怎么回事
同步日志里 paid 处理时查不到订单主键,报外键错误;几分钟后 create 才到达,订单状态已是已付款……
-
23
Webhook 推送字段缺失是版本问题吗
回调里取某个字段一直是 null,但同一笔数据用 Admin API 查又能拿到。
-
24
Shopify webhook payload 太大被截断怎么办
商品包含大量变体或富文本时,收到的 payload 里部分字段为空或缺失,跟文档不一致。
-
25
products/update 全量 payload 太大怎么裁剪
一个两千变体的商品每次保存都推来几 MB JSON,网关偶发 413、函数内存告警……
-
26
批量改商品触发大量 webhook 把服务打挂怎么办
一次 CSV 导入后几分钟内收到上万条 products/update,队列堆积,下游接口被限流。
-
27
Webhook 接进队列异步处理,怎么设计才不丢
改成「先入队再回 200」后响应降到 50ms,但发版时队列里的事件没了,订单同步少一批,日志里没有任何错误。
-
28
Webhook 被录包重放怎么防,时间戳校验怎么做
抓包工具把一条合法的 orders/create 原样重发三次,服务端验签每次通过、每次都建了一笔订单……
-
29
Shopify Webhook 必须快速返回 200 怎么实现
端点处理业务超过数秒,Shopify 标为失败并重试,造成重复入账。
-
30
Webhook 重试次数没有 header 怎么判断第几次
想在 handler 里按重试次数降级,翻遍请求头只有 Topic、Webhook-Id、Event-Id……
-
31
Webhook 失败到底重试几次,48 小时的说法对吗
端点宕机两小时后恢复,只补收到几条重试,更早的事件彻底没有了……
-
32
Shopify webhook 验签到底用哪个密钥
按教程用 API password 验签一直失败,换成 app secret 才通过,不确定哪个才是标准做法。
-
33
订单 webhook 读不到 selling_plan_id 怎么办
代码里读 line_items[].selling_plan_id 得到 undefined……
-
34
改了店铺设置但 shop/update 一直没收到怎么办
在后台改了店铺名称与客服邮箱,又发布了新主题,订阅 shop/update 的端点一条请求都没有……
-
35
Webhook 订阅创建失败提示权限不足怎么查
调用订阅接口返回 Forbidden 或 access denied,后台手动添加却能成功。
-
36
一个端点收多个 topic,路由错乱怎么排查
同一个 /webhooks 地址订了 orders/create 与 products/update……
-
37
Shopify webhook 订阅要指定 API 版本吗
同一次订阅在不同时间创建的 webhook 返回字段不一样,代码解析时偶尔报字段缺失。
-
38
Shopify Webhook 隧道 URL 过期怎么处理
ngrok/cloudflare tunnel 免费域名轮换后 Webhook 全挂。
-
39
Shopify 用 HTTP webhook 还是 EventBridge 更好
事件量大时 HTTP 端点经常超时丢事件,考虑改用云端事件总线。
-
40
Events 订阅和经典 Webhook 到底该用哪个
shopify.app.toml 里同时有 [webhooks] 与 [events] 两段……