Flutter支付集成插件fiatpe_payments_sdk的使用

发布于 1周前 作者 vueper 来自 Flutter

Flutter支付集成插件fiatpe_payments_sdk的使用


fiatpe_payments_sdk

pub package license

fiatpe_payments_sdk 是一个用于简化 Flutter 应用中 UPI 支付功能集成的 SDK。它旨在通过灵活和可扩展的设计来优化支付流程,并计划在未来支持更多支付选项。


✨ 特性

  • 🔄 UPI Payments: 轻松将 UPI 支付集成到您的 Flutter 应用程序中。
  • 🚀 未来就绪: 计划支持网银支付和信用卡/借记卡支付等更多支付方式。

🛠 安装

pubspec.yaml 文件中添加以下依赖:

dependencies:
  fiatpe_payments_sdk: ^1.0.1

或者通过运行以下命令直接添加依赖:

dart pub add fiatpe_payments_sdk

然后执行以下命令以获取依赖项:

flutter pub get

🛠 Android 配置

Add Internet Permission

确保在 AndroidManifest.xml 文件中设置了互联网权限。这一步对于处理应用与 FiatPe 支付服务器之间的网络通信至关重要。

<manifest> 标签内添加以下行:

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

🛠 iOS 配置

Update Info.plist

为了确保应用可以检查是否安装了特定的支付应用程序并引导用户完成支付过程,需要在 Info.plist 中配置 URL schemes。

Info.plist 中添加以下配置:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>BHIM</string>
    <string>bhim</string>
    <string>com.amazon.mobile.shopping</string>
    <string>gpay</string>
    <string>imobile</string>
    <string>paytm</string>
    <string>paytmmp</string>
    <string>payzapp</string>
    <string>phonepe</string>
</array>

📝 使用说明

1. 导入库

在 Dart 文件中添加以下导入语句:

import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';

2. 初始化 SDK

在应用启动时初始化 SDK,需要提供 API Key 和 Salt Key。

FiatPePayments.init(
  keys: const FiatPeAuthKeys(
    api: "YOUR_API_KEY",  // 您的 FiatPe API 密钥
    salt: "YOUR_SALT_KEY", // 您的 FiatPe Salt 密钥
  ),
  onFailed: (msg) {
    print("Initialization failed: $msg");
  },
  onSuccess: (msg) {
    print("Initialization succeeded: $msg");
  },
);
参数说明:
  • api: (必填)由 FiatPe 提供的 API 密钥。
  • salt: (必填)由 FiatPe 提供的 Salt 密钥。
  • onFailed: (可选)初始化失败时触发的回调函数,接收错误消息字符串。
  • onSuccess: (可选)初始化成功时触发的回调函数,接收成功消息字符串。

3. 启动 UPI 支付

调用 startPayment 方法发起 UPI 支付,传入封装好的 PaymentParams 参数。

FiatPePayments.startPayment(
  context: context,
  params: PaymentParams(
    transactionId: "TRANSACTIONID", // 交易 ID
    amount: 100.0, // 支付金额
    customerName: "John Doe", // 客户全名
    customerEmail: "customer@example.com", // 客户邮箱
    phoneNumber: "+911234567890", // 客户电话号码
    callbackURL: "https://example.com/payment_callback", // 支付回调 URL
    udf1: "custom data 1", // 可选自定义字段
    udf2: "custom data 2", // 可选自定义字段
    udf3: "custom data 3", // 可选自定义字段
    udf4: "custom data 4", // 可选自定义字段
    udf5: "custom data 5", // 可选自定义字段
  ),
  onPaymentResult: (result) {
    switch (result) {
      case PaymentSuccess():
        print("Payment Successful. Transaction ID: ${result.details.transactionId}");
        break;
      case PaymentFailure():
        print("Payment Failed. Error: ${result.details?.transactionId}");
        break;
      case PaymentPending():
        print("Payment Pending. Transaction ID: ${result.details.transactionId}");
        break;
      case PaymentCancelled():
        print("Payment Cancelled.");
        break;
      case PaymentUnknown():
        print("Unknown Payment Status.");
        break;
    }
  },
);

更多关于Flutter支付集成插件fiatpe_payments_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter支付集成插件fiatpe_payments_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


fiatpe_payments_sdk 是一个用于在 Flutter 应用中集成支付功能的插件。以下是如何在 Flutter 项目中使用该插件的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 fiatpe_payments_sdk 依赖:

dependencies:
  flutter:
    sdk: flutter
  fiatpe_payments_sdk: ^版本号  # 请替换为最新的版本号

然后运行 flutter pub get 以安装依赖。

2. 初始化 SDK

在你的 Flutter 应用中初始化 fiatpe_payments_sdk。通常可以在 main.dart 或某个初始化函数中进行。

import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 SDK
  await FiatPePaymentsSdk.initialize(
    apiKey: 'YOUR_API_KEY', // 替换为你的API Key
    environment: Environment.sandbox, // 或者 Environment.production
  );
  
  runApp(MyApp());
}

3. 创建支付订单

在需要支付的地方,创建一个支付订单并调用支付接口。

import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';

Future<void> createPaymentOrder() async {
  try {
    // 创建支付订单
    PaymentOrderResponse response = await FiatPePaymentsSdk.createPaymentOrder(
      amount: 100.0, // 支付金额
      currency: 'USD', // 货币类型
      orderId: 'ORDER123', // 订单ID
      customerEmail: 'customer@example.com', // 客户邮箱
      customerPhone: '+1234567890', // 客户电话
      description: 'Payment for order #123', // 订单描述
    );

    // 处理支付结果
    if (response.status == 'success') {
      print('Payment successful: ${response.transactionId}');
    } else {
      print('Payment failed: ${response.errorMessage}');
    }
  } catch (e) {
    print('Error: $e');
  }
}

4. 处理支付回调

在某些情况下,你可能需要处理支付回调,以确认支付是否成功。你可以使用 FiatPePaymentsSdk 提供的回调处理功能。

FiatPePaymentsSdk.setPaymentCallback((PaymentCallbackResponse response) {
  if (response.status == 'success') {
    print('Payment successful: ${response.transactionId}');
  } else {
    print('Payment failed: ${response.errorMessage}');
  }
});

5. 处理支付结果

在支付完成后,你可以根据支付结果进行相应的处理,例如更新订单状态、显示成功或失败的消息等。

Future<void> handlePaymentResult(PaymentOrderResponse response) async {
  if (response.status == 'success') {
    // 支付成功,更新订单状态
    await updateOrderStatus(response.orderId, 'paid');
    showSuccessMessage('Payment successful!');
  } else {
    // 支付失败,显示错误信息
    showErrorMessage('Payment failed: ${response.errorMessage}');
  }
}

6. 处理错误

在支付过程中可能会遇到各种错误,例如网络问题、支付失败等。你需要捕获这些错误并进行适当的处理。

try {
  await createPaymentOrder();
} catch (e) {
  print('Error: $e');
  showErrorMessage('An error occurred: $e');
}

7. 测试支付

在开发过程中,建议使用沙盒环境进行测试。确保在发布应用之前切换到生产环境。

await FiatPePaymentsSdk.initialize(
  apiKey: 'YOUR_API_KEY',
  environment: Environment.sandbox, // 测试环境
);

8. 发布应用

在完成测试并确保支付功能正常工作后,将应用发布到生产环境。

await FiatPePaymentsSdk.initialize(
  apiKey: 'YOUR_API_KEY',
  environment: Environment.production, // 生产环境
);
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!