PuppyIP 资源中心
跨境平台动态 9 分钟 发布于 2026-09-27

Shopify 卡资料 Deposit mTLS:10 月 15 日迁移与证书轮换清单

Shopify 已确认:通过 customerPaymentMethodCreditCardCreate 或 customerPaymentMethodCreditCardUpdate 存入卡资料的应用,必须在 2026 年 10 月 15 日前让 /sessions deposit 请求携带 Shopify 签发的 mTLS 客户端证书。先判断应用是否真的 deposit 原始卡资料,再申请证书并做小流量验证。

Shopify mTLS 客户付款方式 证书轮换 API 迁移

服务对象与地域限制

PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。

代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。

本文要点

  • 受影响的是先向 https://checkout-mtls.pci.shopifyinc.com/sessions 存入卡资料、取得 session identifier,再调用 customerPaymentMethodCreditCardCreate 或 customerPaymentMethodCreditCardUpdate 的应用。
  • 只使用 customerPaymentMethodRemoteCreate 导入外部网关已保存付款方式引用的应用,不在本次 mTLS deposit 变更范围内。
  • deposit endpoint 地址、GraphQL vault mutations 与 OAuth 流程没有改变;新增要求是 /sessions 请求必须携带 Shopify 签发的客户端证书。
  • 首张证书由 Shopify 人工签发,官方要求邮件提供 API client ID 与技术联系人,并提醒可能需要数天,应在 10 月 15 日前预留验证时间。
  • 首张证书后可通过 Shopify Certificate Signing Service 自助轮换;证书有效期为一年,过期或轮换遗漏会让新的卡资料 deposit 停止。

先定范围:只有直接 deposit 卡资料的应用需要迁移

Shopify 在 2026 年 7 月 16 日公告,card-deposit endpoint 的 mTLS 客户端证书要求将在 2026 年 10 月 15 日强制执行。它针对的是应用先把卡资料提交到 /sessions、拿到 session identifier,再把该 identifier 交给 customerPaymentMethodCreditCardCreate 或 customerPaymentMethodCreditCardUpdate 的流程。

先在代码、配置、调用日志和架构清单中查找上述两个 mutations、checkout-mtls.pci.shopifyinc.com/sessions 与 sessionId。若应用只调用 customerPaymentMethodRemoteCreate,把 Stripe、Braintree、Authorize.Net、Adyen 或 PayPal 等外部网关已保存的付款方式引用导入 Shopify,官方明确说无需因这次变更行动。

什么变了,什么没有变

endpoint 仍是 https://checkout-mtls.pci.shopifyinc.com/sessions,GraphQL Admin API 的两个 vault mutations 仍接收 deposit 返回的 session identifier,OAuth 流程也不受影响。不要同时改 endpoint、mutation 和认证流程,把单一证书迁移扩大成高风险重构。

变化仅发生在 deposit 连接:每次请求都要呈现 Shopify 签发的有效 mTLS 客户端证书。到强制执行后,无证书或证书无效的请求将不能继续存入新的卡资料;已有付款方式、外部网关引用与其他不经过该 endpoint 的路径不能从这条公告推导为受影响。

申请首张 Shopify 证书

官方要求向 [email protected] 申请首张证书,并在邮件中提供 API client ID 与技术联系人。首张证书由 Shopify 人工签发,可能需要数天;把申请、接收、部署、验证和故障缓冲都排在 10 月 15 日之前。

编辑实施建议:只发送官方要求的标识和联系人信息。不要在普通邮件、工单、代码仓库或日志中发送私钥、访问令牌、完整卡资料或生产证书内容。私钥应在受控的 PCI 合规环境生成和保存,证书与私钥的读取权限、审计和轮换责任人要在部署前确定。

部署前把证书接入缩成可验证改动

以下证书接入、静态核对与灰度步骤属于编辑实施建议,需结合应用授权及支付数据边界执行。在 HTTP client 或出站代理的 /sessions 专用配置中加载客户端证书与对应私钥,同时保留现有 endpoint、请求字段和 GraphQL 后续调用。测试环境与生产环境的证书、密钥路径、secret 名称和到期提醒应分开,日志只记录证书指纹或内部版本号,不输出私钥和卡资料。

先做静态核对:证书链可加载、证书与私钥匹配、运行身份能读取 secret、目标 hostname 和 TLS 校验保持开启。不要关闭服务端证书验证、降低 TLS 安全设置或把证书写进镜像来换取一次成功连接。

灰度验证:同时证明 deposit 与 vault mutation 成功

选择非关键测试客户或官方允许的安全测试路径,先发起一笔携带新证书的 /sessions 请求,确认返回新的 session identifier;再分别覆盖实际使用的 create 或 update mutation,核对 processing、customerPaymentMethod 与 userErrors。只有 TLS 成功而 mutation 失败,不能算迁移完成。

保存脱敏的请求时间、应用版本、证书指纹、HTTP 状态、TLS 错误类别、mutation 名称和 userErrors。Shopify 还要求确认 deposit 流量已带有效证书,并由其侧验证 cutover;完成单应用小流量核对后再扩大,不要用真实卡号做临时探测。

失败、停止与回退边界

证书未签发、私钥不匹配、TLS handshake 失败、session identifier 缺失、GraphQL userErrors 无法解释或 Shopify 尚未确认 cutover 时,应停止扩大流量。把网络连接、mTLS 客户端认证、OAuth、API scope 与业务字段分别定位,避免把所有 4xx 或 TLS 错误归为同一个原因。

强制执行前可以把流量退回已验证的旧版本以恢复业务,同时继续修复证书接入;但 10 月 15 日要求生效后,退回不带证书的 deposit 路径不能作为长期回滚。若应用无法在截止前迁移,应暂停新增卡资料路径并与 Shopify 协调,而不是关闭 TLS 校验或重试真实付款数据。

一年有效期不是一次性任务:建立轮换与网络边界

Shopify 说明首张证书后可使用 Certificate Signing Service 自助轮换,证书 TTL 为一年。为到期时间设置分级告警,提前签发下一张证书,验证双证书或顺序切换能力,并在新证书稳定后再撤下旧证书;遗漏轮换会停止新的 deposit。

证书过期、client-certificate-required、unknown ca 或 handshake failure 应先按 mTLS 证据处理。只有 DNS、407、连接超时或多个 Shopify 官方端点同时不可达时,才参考<a href="/resources/proxy-connection-troubleshooting-checklist">代理连接排查清单</a>检查出口;固定 IP 不能代替 Shopify 签发证书、PCI 边界或证书轮换。

资料来源

常见问题

Shopify 的 mTLS 要求从什么时候强制执行?

官方要求在 2026 年 10 月 15 日前完成迁移;强制执行后,card-deposit 请求必须携带有效的 Shopify 签发客户端证书。

只用 customerPaymentMethodRemoteCreate 也要申请证书吗?

不用因这次公告申请。该 mutation 导入外部网关已保存付款方式的引用,不向 Shopify deposit 原始卡资料,官方明确列为范围外。

endpoint、GraphQL mutation 或 OAuth 地址需要一起改吗?

不需要。/sessions endpoint、customerPaymentMethodCreditCardCreate/Update 和 OAuth 流程保持不变,新增的是 deposit 请求上的 mTLS 客户端证书。

首张证书怎么申请?

按 Shopify 公告邮件联系 [email protected],提供 API client ID 与技术联系人。不要通过普通邮件发送私钥、token 或卡资料。

怎样证明迁移成功?

既要确认带证书的 /sessions 请求取得 session identifier,也要确认后续 create/update mutation 的 processing、结果与 userErrors 符合预期,并完成 Shopify 侧 cutover 验证。

换固定 IP 能代替 mTLS 证书吗?

不能。固定出口不能提供客户端身份证明,也不能绕过证书签发、有效期和 PCI 边界;只有明确的 DNS、407 或连接超时证据才进入网络排查。