Shopify Storefront API

Storefront API 设置 buyerIdentity 后价格没变

现象#

给 cart 设置 buyerIdentity.countryCode 为 US,返回的 cost.totalAmount 仍是本币价格。

原因#

  • 只设置了 countryCode,没有在查询里用 @inContext(country: US)
  • Markets 未为该国家配置价格或货币
  • 缓存了旧 cart 结果,未重新查询

处理步骤#

  1. 查询时加指令:query @inContext(country: $country, language: $lang)
  2. cart 创建后再 cartBuyerIdentityUpdate 设置国家
  3. 确认 Markets 中该国家已启用且价格策略正确
  4. 重新拉取 cart 的 cost 与 buyerIdentity 校验

验收标准#

切换国家后 cart 金额、货币符号、税费按目标市场计算,与前台切换国家结果一致。

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