Flutter支付集成插件flutter_paynimo的使用

Flutter支付集成插件flutter_paynimo的使用

Flutter Paynimo Payment Gateway - flutter_paynimo

pub package

这是一个用于Android Paynimo支付网关集成的Flutter插件。

注意:此插件仍在开发中,某些API可能尚不可用。我们正在这里进行重构:问题

特性

  • 使用商户凭证初始化支付网关
  • 发起支付请求
  • 处理支付响应

安装

首先,在pubspec.yaml文件中添加flutter_paynimo作为依赖项。

Android

android/app/build.gradle文件中将最低Android SDK版本更改为21(或更高)。

minSdkVersion 21

初始化

[@override](/user/override)
void initState() {
  super.initState();

  /// 初始化Paynimo
  initializePaynimo();
}

/// 输入您的Paynimo公钥和商户ID
/// 这些是测试凭据
/// 商户ID: T750
/// 公钥: 1234-6666-6789-56

initializePaynimo() async {
  await FlutterPaynimo.configure(
      merchantId: "T750", publicKey: "1234-6666-6789-56");
}

示例

以下是一个完整的Flutter应用程序示例,运行Paynimo客户端。

import 'package:flutter/material.dart';
import 'package:flutter_paynimo/flutter_paynimo.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String paymentResponse = 'Unknown';

  [@override](/user/override)
  void initState() {
    super.initState();

    /// 初始化Paynimo
    initializePaynimo();
  }

  /// 输入您的Paynimo公钥和商户ID
  /// 这些是测试凭据
  /// 商户ID: T750
  /// 公钥: 1234-6666-6789-56

  initializePaynimo() async {
    await FlutterPaynimo.configure(
        merchantId: "T750", publicKey: "1234-6666-6789-56");
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('PAYNIMO FLUTTER PAYMENT'),
        ),
        body: Center(
          child: ElevatedButton(
            child: const Text("Start Payment"),
            onPressed: () async {
              // 发起支付请求
              // final result = await FlutterPaynimo.startPayment(
              //     amount: "100",
              //     currency: "NGN",
              //     description: "Test Payment",
              //     email: "",
              //     firstName: "",
              //     lastName: "",
              //     phone: "",
              //     redirectUrl: "",
              //     metadata: "",
              //     onSuccess: (data) {
              //       setState(() {
              //         paymentResponse = data;
              //       });
              //     },
              //     onError: (data) {
              //       setState(() {
              //         paymentResponse = data;
              //       });
              //     });
              // });

              Map<dynamic, dynamic> paymentResult = await FlutterPaynimo.startPayment();

              debugPrint("PAYMENT RESULT : ${paymentResult.toString()}");
            },
          ),
        ),
      ),
    );
  }
}

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

1 回复

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


flutter_paynimo 是一个用于集成 Paynimo 支付网关的 Flutter 插件。Paynimo 是一个流行的支付解决方案,支持多种支付方式,包括信用卡、借记卡、网银、钱包等。通过 flutter_paynimo 插件,开发者可以在 Flutter 应用中轻松集成 Paynimo 支付功能。

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  flutter_paynimo: ^1.0.0  # 请根据最新版本号进行替换

然后运行 flutter pub get 来获取依赖。

2. 配置支付参数

在使用 flutter_paynimo 之前,你需要配置一些必要的支付参数,如商户 ID、交易金额、交易 ID 等。

import 'package:flutter_paynimo/flutter_paynimo.dart';

void initiatePayment() async {
  final paynimo = FlutterPaynimo();

  final paymentParams = {
    'merchantId': 'YOUR_MERCHANT_ID',
    'transactionId': 'UNIQUE_TRANSACTION_ID',
    'amount': '100.00', // 交易金额
    'currency': 'INR', // 货币类型
    'customerEmail': 'customer@example.com', // 客户邮箱
    'customerMobile': '1234567890', // 客户手机号
    'returnUrl': 'https://yourwebsite.com/return', // 支付成功后的返回 URL
    'callbackUrl': 'https://yourwebsite.com/callback', // 支付回调 URL
  };

  try {
    final response = await paynimo.initiatePayment(paymentParams);
    print('Payment Response: $response');
  } catch (e) {
    print('Error: $e');
  }
}

3. 处理支付结果

Paynimo 支付处理完成后,会通过 returnUrlcallbackUrl 返回支付结果。你需要在服务器端处理这些回调,以确认支付状态。

4. 启动支付

在你的应用界面中,添加一个按钮或其他触发事件来启动支付流程:

ElevatedButton(
  onPressed: () {
    initiatePayment();
  },
  child: Text('Pay Now'),
)
回到顶部