Storefront API 设置 buyerIdentity 后价格没变
现象#
给 cart 设置 buyerIdentity.countryCode 为 US,返回的 cost.totalAmount 仍是本币价格。
原因#
- 只设置了
countryCode,没有在查询里用@inContext(country: US) - Markets 未为该国家配置价格或货币
- 缓存了旧 cart 结果,未重新查询
处理步骤#
- 查询时加指令:
query @inContext(country: $country, language: $lang) - cart 创建后再
cartBuyerIdentityUpdate设置国家 - 确认 Markets 中该国家已启用且价格策略正确
- 重新拉取 cart 的
cost与buyerIdentity校验
验收标准#
切换国家后 cart 金额、货币符号、税费按目标市场计算,与前台切换国家结果一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。