You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Google Pay按钮不显示:设备/API/地区差异问题求助

Google Pay按钮无法显示问题排查

问题现象

  • 测试项目中模拟器表现不一致:API 30版本模拟器无法显示Google Pay按钮,但API 31、33版本模拟器可正常显示
  • 真机测试差异明显:委内瑞拉地区的手机完全不显示按钮,智利地区的手机测试可正常显示
  • 本地手机调试日志如下:
W/Activity(27610): PerfMonitor: Slow Operation: Activity com.example.gpay/.MainActivity onDestroy took 202ms
D/AppScoutStateMachine(27610): 27610-ScoutStateMachinecreated
D/DecorView[](27610): getWindowModeFromSystem  windowmode is 1
D/SurfaceView(27610): UPDATE null, mIsCastMode = false
D/SurfaceView(27610): UPDATE Surface(name=SurfaceView[com.example.gpay/com.example.gpay.MainActivity])/@0xffd4333, mIsProjectionMode = false
D/SurfaceControl(27610): nativeSetScreenProjection ===> setScreenProjection

使用的Google Pay按钮代码

GooglePayButton(
  paymentConfigurationAsset:
      'default_payment_profile_google_pay.json',
  paymentItems: _paymentItems,
  type: GooglePayButtonType.pay,
  margin: const EdgeInsets.only(top: 15.0),
  onPaymentResult: print,
  loadingIndicator: const Center(
    child: CircularProgressIndicator(),
  ),
),

排查与解决建议

  1. 地区服务可用性验证
    Google Pay并非在所有地区提供服务,委内瑞拉可能不在支持范围内。可以确认目标地区是否在Google Pay支持列表中。另外,尝试将手机系统地区临时切换到已确认支持的地区(如智利),测试按钮是否正常显示。

  2. API版本兼容性检查
    API 30模拟器无法显示按钮,而更高版本API可以,可能和Google Play服务版本或系统权限有关。建议检查不同API版本设备上的Google Play服务版本,确保使用的Google Pay Flutter插件版本与系统API版本兼容。

  3. 支付配置文件核对
    检查default_payment_profile_google_pay.json配置文件:

    • 确认allowedCountries字段是否包含需要支持的地区代码(如智利CL),若要支持委内瑞拉需先确认Google Pay是否支持该地区
    • 核对商户ID、支付网关等配置信息是否有效
  4. 设备Google服务状态检查
    确保本地手机安装并更新了最新版Google Pay应用,同时确认Google Play服务运行正常。部分地区可能因网络限制导致Google服务无法正常访问,这也会影响按钮加载。

内容的提问来源于stack exchange,提问作者Willders Carvajal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:00:52