Flutterwave如何集成到Flutter项目中

如何在Flutter项目中集成Flutterwave支付功能?我已经尝试过官方文档的步骤,但在Android端总是遇到配置错误。有没有完整的集成教程或示例代码可以参考?特别想知道如何处理回调通知和验证支付结果。

2 回复

在Flutter项目中集成Flutterwave:

  1. 添加依赖:flutterwave_flutter: ^3.0.5
  2. 导入包:import 'package:flutterwave_flutter/flutterwave_flutter.dart'
  3. 初始化Flutterwave实例
  4. 调用支付方法
  5. 处理支付回调

需先在Flutterwave官网注册获取API密钥。

更多关于Flutterwave如何集成到Flutter项目中的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


要将 Flutterwave 集成到 Flutter 项目中,可以按照以下步骤操作,使用官方提供的 flutterwave_flutter 包:

步骤 1:添加依赖

pubspec.yaml 文件的 dependencies 部分添加:

dependencies:
  flutterwave_flutter: ^3.0.0

然后运行 flutter pub get 安装包。

步骤 2:配置 Android 清单文件(仅 Android)

android/app/src/main/AndroidManifest.xml 中添加网络权限(如果已存在则忽略):

<uses-permission android:name="android.permission.INTERNET" />

步骤 3:初始化支付

在 Dart 文件中导入包并初始化支付。以下是一个完整示例:

import 'package:flutterwave_flutter/flutterwave_flutter.dart';

class PaymentService {
  static Future<void> initiatePayment({
    required String email,
    required double amount,
    required String currency,
    required String publicKey,
    required String encryptionKey,
  }) async {
    try {
      // 初始化 Flutterwave
      Flutterwave flutterwave = Flutterwave(
        context: context, // 从 BuildContext 获取
        publicKey: publicKey,
        currency: currency,
        amount: amount.toString(),
        customer: Customer(
          email: email,
          phonenumber: "1234567890", // 替换为实际号码
          name: "User Name",
        ),
        paymentOptions: "card, bank, ussd", // 支付方式
        customization: Customization(
          title: "支付测试",
          description: "测试交易",
        ),
        isTestMode: true, // 测试模式,上线时设为 false
      );

      // 发起支付
      final ChargeResponse response = await flutterwave.charge();
      if (response != null) {
        print("支付状态: ${response.status}");
        print("交易ID: ${response.transactionId}");
        if (response.status == "success") {
          // 处理成功支付
        } else {
          // 处理失败或取消
        }
      }
    } catch (e) {
      print("支付错误: $e");
    }
  }
}

步骤 4:处理支付结果

根据 ChargeResponsestatus 字段判断支付结果:

  • success:支付成功。
  • errorcancelled:支付失败或取消。

注意事项:

  1. 密钥管理:从 Flutterwave 仪表板获取 publicKeyencryptionKey,并避免硬编码在代码中(建议使用环境变量)。
  2. 测试模式:开发时使用测试密钥并启用 isTestMode: true,上线前切换为生产密钥和 isTestMode: false
  3. 错误处理:添加 try-catch 块以处理网络或支付异常。

通过以上步骤,即可在 Flutter 应用中集成 Flutterwave 支付功能。详细参数请参考 官方文档

回到顶部