Shopify 安全与风控

customers/redact 未实现会怎样

现象#

App Store 审核提示隐私 webhook 未返回 200;客户要求删除数据后,app 数据库里仍留着 email 和订单 ID。

原因#

  • 只注册了订单与商品 webhook,漏掉三个 mandatory compliance topics
  • customers/redact 在客户 6 个月无订单时于请求后 10 天发送,否则要等到满 6 个月
  • shop/redact 在卸载 48 小时后才发,且重装后不再补发
  • 端点先返回 200 再异步删数据,删失败时没有任何重试与告警

处理步骤#

  1. 在 app 配置里声明 customers/redact 等三个 compliance webhook
  2. 端点用原始请求体验 X-Shopify-Hmac-Sha256,5 秒内返回 200
  3. 把 shop_id、customer.id、orders_to_redact 入队,异步删除关联表
  4. 删除任务失败要重试并告警,保留 request id 与完成时间供审核
  5. 用 shopify webhook trigger 造一条 redact,确认数据库真的清空

验收标准#

三个 topic 都在 5 秒内返回 200,按 customer_id 与 shop_id 查库为空,日志能对上每次请求。

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