Google Pay API生产环境不同地区用户国家列表显示不一致问题求助
排查方向整理
针对你遇到的Google Pay生产环境下不同地区用户显示国家列表不一致的问题,给出以下排查方向:
检查代码中
shippingAddressParameters的配置逻辑
你提供的代码里明确将allowedCountryCodes硬编码为["US", "GB"],理论上所有用户都应该只看到这两个国家选项。但印度测试能看到全部国家,可能是:- 你在印度测试时使用的是测试环境Merchant ID,测试环境下Google Pay会放宽部分配置限制;
- Google Pay针对印度地区的商户有特殊适配,默认覆盖了代码中的国家限制配置。
确认生产环境使用的Merchant ID正确性
核实当前生产版本打包时配置的是正式生产Merchant ID,而非测试ID。测试Merchant ID的行为逻辑和生产环境存在差异,比如测试环境可能忽略地区限制,而生产环境会严格遵循商户注册信息和API配置。检查Google Pay商户中心的地区权限配置
登录Google Pay商户后台,查看你的商户账号的允许交易/配送的国家地区设置:- 如果你的商户注册地区为印度,可能默认开放了更多国家的配送权限;
- MENA地区的支付政策或商户权限限制,导致Google Pay强制过滤了其他国家选项,仅保留代码中配置的US/GB。
验证版本一致性
确保印度测试和MENA地区用户使用的是完全相同的生产APK包,不存在代码分支差异(比如是否有根据用户所在地区动态修改allowedCountryCodes的隐藏逻辑)。核对Google Pay API地区适配规则
查阅Google Pay官方文档中关于不同地区的shipping address处理规则,部分地区的Google Pay服务可能会根据当地支付政策,对商户的地址配置做强制调整,导致不同地区显示的国家列表不一致。
内容的提问来源于stack exchange,提问作者AndroidLearner
相关产品推荐
相关产品推荐

