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

Flutter中Stripe支付表单无法显示Google Pay按钮求助

Flutter集成Stripe Google Pay按钮不显示的常见排查点

以下是大概率导致Google Pay按钮不出现的几个常见问题及解决步骤:

  • 设备与环境兼容性问题

    • Google Pay仅支持Android 5.0(API 21)及以上设备,且设备需安装Google Pay应用并已绑定有效支付方式;iOS平台对应Apple Pay,不要混淆配置。
    • 测试环境下,确保使用Stripe测试密钥,且测试设备满足Google Pay测试要求:模拟器需安装并更新Google Play服务,且登录Google账号;真机需添加Stripe测试卡片(如4242 4242 4242 4242,有效期填未来任意日期,CVV任意3位)。
    • 核对Stripe控制台中配置的允许应用ID,必须与你的Flutter应用包名完全一致(路径:Payment Methods > Google Pay)。
  • Flutter Stripe初始化与配置遗漏

    • 初始化Stripe时,务必传入正确的merchantId:测试环境可使用Stripe提供的测试商户ID,生产环境需使用Google Pay控制台获取的正式商户ID。
    • 检查AndroidManifest.xml是否添加了Google Pay启用标记:
      <meta-data
          android:name="com.google.android.gms.wallet.api.enabled"
          android:value="true" />
      
    • 升级flutter_stripe到最新版本,旧版本可能存在兼容性bug:
      flutter pub upgrade flutter_stripe
      
  • PaymentSheet参数配置错误

    • 创建PaymentSheet时,必须正确配置googlePay参数,示例代码:
      final paymentSheet = await Stripe.instance.createPaymentSheet(
        paymentSheetParameters: SetupPaymentSheetParameters(
          merchantDisplayName: "你的商户名称",
          paymentIntentClientSecret: 你的支付Intent密钥,
          googlePay: const PaymentSheetGooglePay(
            testEnv: true, // 生产环境改为false
            currencyCode: "USD", // 适配你的业务货币
            countryCode: "US", // 货币所属国家/地区代码
          ),
        ),
      );
      
    • 确认currencyCode与countryCode为Google Pay支持的合法组合,比如使用CNY时countryCode需设为"CN",且需符合对应地区的支付政策。
  • 依赖与权限检查

    • 确认Android项目build.gradle中已引入Google Pay依赖(flutter_stripe通常会自动集成,若未生效可手动添加):
      implementation 'com.google.android.gms:play-services-wallet:19.1.0'
      
    • 确保应用已声明INTERNET权限(默认会包含,但需确认未被误删)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:03:13