Flutter支付集成插件flutter_getitpayment的使用

GetIt Payments 是一个支付网关,允许企业通过其网站或移动应用程序轻松收取付款。此插件确保该过程既安全又简单。目前,GetIt Payments 仅在圣卢西亚可用。

功能

  • RSA 加密
  • 支付交易
  • 简单设置

开始使用

  1. 首先设置您的 GetIt Payments 账户。
  2. 从设置中获取您的公钥和公司 ID。

使用方法

以下是使用插件的基本步骤:

初始化插件

void main() async {
  // 初始化插件,传入公司 ID 和公钥字符串
  GetItPayments.initialize(
    companyID: "YOURS_HERE", // 替换为您的公司 ID
    setTestMode: true,       // 设置为测试模式
    publicKeySTRING: "-----BEGIN RSA PUBLIC KEY-----YOUR_PUBLIC_KEY-----END RSA PUBLIC KEY-----" // 替换为您的公钥
  );

  runApp(const MyApp());
}

启动支付交易

在需要的地方调用以下代码以启动支付交易:

ServerResponse? sR = await getItPayments.startTransaction(
  amountToPay: 200,        // 支付金额(单位为最小货币单位)
  currency: "XCD",         // 支付货币代码
  context: context          // 当前上下文
);

if (sR == null) {
  print("Nothing there"); // 如果返回为空,表示没有数据
} else {
  print("状态 : " + sR.status.toString()); // 打印交易状态
  print("消息 : " + sR.msg.toString());    // 打印附加信息
}

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

1 回复

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


flutter_getitpayment 是一个用于 Flutter 应用的支付集成插件,它简化了与支付网关的集成过程,支持多种支付方式。以下是如何在 Flutter 项目中使用 flutter_getitpayment 插件的基本步骤:

1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 flutter_getitpayment 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_getitpayment: ^1.0.0  # 请使用最新版本

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

2. 配置支付网关

在使用 flutter_getitpayment 之前,你需要配置支付网关的相关信息,例如 API 密钥、商户 ID 等。这些信息通常由支付服务提供商提供。

import 'package:flutter_getitpayment/flutter_getitpayment.dart';

void configurePaymentGateway() {
  GetItPayment.configure(
    apiKey: 'your_api_key',
    merchantId: 'your_merchant_id',
    environment: Environment.sandbox, // 使用沙盒环境进行测试
  );
}

3. 发起支付请求

你可以使用 flutter_getitpayment 发起支付请求。以下是一个简单的示例:

void initiatePayment() async {
  PaymentRequest paymentRequest = PaymentRequest(
    amount: 1000, // 支付金额(以分为单位)
    currency: 'USD', // 货币类型
    orderId: 'order_12345', // 订单ID
    description: 'Test Payment', // 支付描述
  );

  try {
    PaymentResponse response = await GetItPayment.initiatePayment(paymentRequest);
    if (response.status == PaymentStatus.success) {
      print('Payment successful: ${response.transactionId}');
    } else {
      print('Payment failed: ${response.errorMessage}');
    }
  } catch (e) {
    print('Error during payment: $e');
  }
}

4. 处理支付结果

支付完成后,你可以根据 PaymentResponse 的状态来处理支付结果。

void handlePaymentResponse(PaymentResponse response) {
  switch (response.status) {
    case PaymentStatus.success:
      print('Payment succeeded with transaction ID: ${response.transactionId}');
      break;
    case PaymentStatus.failed:
      print('Payment failed with error: ${response.errorMessage}');
      break;
    case PaymentStatus.cancelled:
      print('Payment was cancelled by the user');
      break;
    default:
      print('Unknown payment status');
  }
}

5. 监听支付状态(可选)

你还可以监听支付状态的变化,以便在支付过程中执行一些操作。

void listenToPaymentStatus() {
  GetItPayment.paymentStatusStream.listen((PaymentStatus status) {
    switch (status) {
      case PaymentStatus.pending:
        print('Payment is pending');
        break;
      case PaymentStatus.processing:
        print('Payment is processing');
        break;
      case PaymentStatus.completed:
        print('Payment is completed');
        break;
      default:
        print('Unknown payment status');
    }
  });
}

6. 处理支付回调(可选)

如果你的支付网关支持回调,你可以设置一个回调 URL 来处理支付完成后的通知。

void handlePaymentCallback(Uri callbackUri) {
  // 解析回调URI并处理支付结果
  print('Received payment callback: $callbackUri');
}

7. 测试支付流程

在开发过程中,建议使用沙盒环境进行测试,以确保支付流程的正确性。

void main() {
  configurePaymentGateway();
  initiatePayment();
  listenToPaymentStatus();
}

8. 发布应用

在发布应用之前,确保将支付网关的环境从 Environment.sandbox 切换到 Environment.production,并使用真实的 API 密钥和商户 ID。

GetItPayment.configure(
  apiKey: 'your_production_api_key',
  merchantId: 'your_production_merchant_id',
  environment: Environment.production,
);
回到顶部