flutter如何配置google pay

在Flutter项目中如何正确配置Google Pay支付功能?我已经按照官方文档添加了依赖和基本设置,但在运行时仍然遇到"Google Play services are updating"的错误。请问具体的配置步骤是什么?是否需要额外配置AndroidManifest.xml文件或添加其他权限?测试时需要注意哪些关键点才能确保支付功能正常运作?

2 回复

在 Flutter 中配置 Google Pay 主要依赖 google_pay 插件。步骤如下:

  1. 添加依赖:在 pubspec.yaml 中添加:

    dependencies:
      google_pay: ^4.0.0
    
  2. 配置 Android

    • AndroidManifest.xml 中添加元数据:
    <meta-data
        android:name="com.google.android.gms.wallet.api.enabled"
        android:value="true" />
    
    • 确保应用满足 Google Pay 要求(如 HTTPS、合法业务)。
  3. 初始化支付

    import 'package:google_pay/google_pay.dart';
    
    void initGooglePay() {
      GooglePay.init(
        environment: Environment.Test, // 测试环境
        merchantName: '你的商户名',
        paymentProfile: PaymentProfile.PaymentGateway, // 根据支付网关调整
      );
    }
    
  4. 发起支付请求

    final paymentData = await GooglePay.makePayment(
      price: '10.00',
      currencyCode: 'USD',
    );
    
  5. 处理回调:通过 paymentData 获取支付结果并验证。

注意:需在 Google Pay Business Console 注册商户并获取配置参数。

更多关于flutter如何配置google pay的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中配置Google Pay主要使用google_pay插件,以下是详细步骤:

1. 添加依赖

pubspec.yaml中添加:

dependencies:
  google_pay: ^2.0.0

运行 flutter pub get

2. 配置Android

  • android/app/src/main/AndroidManifest.xml中添加网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
  • 确保android/app/build.gradle中:
    • minSdkVersion ≥ 19
    • compileSdkVersion ≥ 28

3. 基本使用代码

import 'package:google_pay/google_pay.dart';

class GooglePayButton extends StatelessWidget {
  void _onPressed() async {
    final paymentData = await GooglePay.makePaymentRequest(
      GooglePayPaymentRequest(
        price: '10.00',
        currencyCode: 'USD',
      ),
    );
    // 处理支付结果
    print(paymentData);
  }

  @override
  Widget build(BuildContext context) {
    return GooglePayButton(
      onPressed: _onPressed,
    );
  }
}

4. 重要配置项

  • 环境配置:测试时使用.test环境
GooglePayPaymentRequest(
  environment: GooglePayEnvironment.test,
  // 其他参数...
)
  • 商家信息
merchantName: 'Your Store Name',
merchantId: '你的商家ID', // 从Google商家中心获取

5. 注意事项

  1. 需要Google Play服务支持
  2. 在Google Pay Business Console注册商家账号
  3. 测试时使用Google提供的测试卡号
  4. 确保应用签名一致

6. 错误处理

try {
  final result = await GooglePay.makePaymentRequest(request);
} catch (e) {
  print('支付失败: $e');
}

完成以上配置后,Google Pay按钮就能正常显示和处理支付请求了。记得在实际发布前切换到生产环境并完成所有商家验证流程。

回到顶部