You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过API创建Shopify Webhook时的验证密钥困惑求助

Shopify Webhook 验证密钥选择指南

问题本质

你遇到的验证失败,是因为Webhook创建方式不同,对应的签名密钥完全不同:

  • 通过店铺后台手动创建的Webhook,验证密钥是店铺设置里的专属Webhook密钥
  • 通过Admin API创建的Webhook,必须使用应用的共享密钥(Shared Secret),而非应用的API密钥

正确密钥获取步骤

  1. 登录Shopify合作伙伴后台,定位到你的应用
  2. 进入「应用设置」→「API凭据」页面
  3. 复制「共享密钥(Shared Secret)」字段值,替换代码中的secretKey

代码验证要点

你的Node.js验证逻辑是正确的,但需确保两个关键细节:

  • 必须使用原始请求体:不能用已被解析的req.body,解析会修改内容导致签名不匹配(你代码里用getRawBody(req)的做法是对的)
  • 保持编码一致:Shopify返回的Hmac是base64编码,你的代码digest("base64")符合要求

常见误区

  • 不要混淆「应用API密钥」和「共享密钥」:API密钥用于OAuth流程,Webhook验证只能用共享密钥
  • 手动创建与API创建的Webhook密钥不通用:两种方式的签名体系完全独立,不能交叉使用

内容的提问来源于stack exchange,提问作者hemant jangid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:32:48