flutter如何集成google pay
在Flutter项目中集成Google Pay时,具体步骤是什么?需要配置哪些关键参数?有没有推荐的插件或现成的代码示例可以参考?遇到支付回调处理的问题该如何解决?
2 回复
在 Flutter 中集成 Google Pay(现为 Google Pay API)可以通过 google_pay 插件实现。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 中添加:
dependencies:
google_pay: ^0.2.0
运行 flutter pub get 安装。
2. 配置 Android
- 修改
android/app/src/main/AndroidManifest.xml:<meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" />
3. 初始化 Google Pay 按钮
在 Flutter 代码中:
import 'package:google_pay/google_pay.dart';
class PaymentPage extends StatefulWidget {
@override
_PaymentPageState createState() => _PaymentPageState();
}
class _PaymentPageState extends State<PaymentPage> {
final _paymentItems = [
PaymentItem(
label: '总价',
amount: '10.00',
status: PaymentItemStatus.final_price,
)
];
void _onGooglePayResult(paymentResult) {
debugPrint(paymentResult.toString());
// 处理支付结果
}
@override
Widget build(BuildContext context) {
return GooglePayButton(
paymentConfiguration: PaymentConfiguration.fromJson('{
"provider": "google_pay",
"data": {
"environment": "TEST", // 测试环境,上线改为 "PRODUCTION"
"apiVersion": 2,
"apiVersionMinor": 0,
"allowedPaymentMethods": [{
"type": "CARD",
"parameters": {
"allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
"allowedCardNetworks": ["VISA", "MASTERCARD"]
}
}]
}
}'),
paymentItems: _paymentItems,
type: GooglePayButtonType.pay,
onPaymentResult: _onGooglePayResult,
loadingIndicator: const CircularProgressIndicator(),
);
}
}
4. 注意事项
- 环境配置:确保在 Google Pay 商务平台注册应用并获取
merchantId。 - 测试:使用测试卡号在
TEST环境中验证支付流程。 - iOS:Google Pay 主要在 Android 使用,iOS 需考虑 Apple Pay。
5. 处理支付结果
在 _onGooglePayResult 中验证支付状态,并调用后端接口完成订单。
通过以上步骤,即可在 Flutter 应用中集成 Google Pay 功能。


