Flutter支付插件feexpay_flutter的使用

Flutter支付插件feexpay_flutter的使用

FeexPay 是一个用于接受移动货币和信用卡支付的安全插件。

安装

使用 Flutter 安装

flutter pub add feexpay_flutter

使用 Dart 安装

flutter pub add feexpay_flutter

导入

在你的 Dart 代码中,你可以这样导入:

import 'package:feexpay_flutter/feexpay_flutter.dart';

使用示例

以下是一个完整的示例,展示了如何使用 feexpay_flutter 插件进行支付操作。

示例代码

example/lib/main.dart

import 'package:example/end.dart';
import 'package:example/success.dart';
import 'package:feexpay_flutter/feexpay_flutter.dart';
import 'package:flutter/material.dart';
import 'package:random_string/random_string.dart';

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

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'My Flutter Application'),
      routes: <String, WidgetBuilder>{
        '/endpayment': (BuildContext context) => const EndPage(),
        '/successpayment': (BuildContext context) => const SuccessPage(),
      },
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key key, required this.title}) : super(key: key);

  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
  bool popupIsActive = false;
  late String editableText;
  String randomString = randomAlphaNumeric(15);
  String amount = '100';

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            MaterialButton(
              child: Text('Payer $amount'),
              color: Color(0xFF112C56),
              textColor: Colors.white,
              shape: RoundedRectangleBorder(
                borderRadius: BorderRadius.circular(10.0),
              ),
              onPressed: () => {
                print(double.parse(amount)),
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => ChoicePage(
                    token: 'fp_9jqqsIq8chG71drXD4SklEo6kHB6pjEkE0PYZuESPW49hoVBUyE87pSGH0AEsgkk',
                    id: '64636ba955d2ed60e9eac0b9',
                    amount: amount,
                    redirecturl: 'successpayment',
                    errorredirecturl: 'endpayment',
                    trans_key: randomString,
                    callback_info: {"id": "fvjinduhghbuyfjhfdg"},
                  )),
                )
              },
            ),
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


feexpay_flutter 是一个用于 Flutter 应用的支付插件,通常用于集成第三方支付服务。以下是一个基本的使用指南,帮助你快速集成并开始使用 feexpay_flutter 插件。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 feexpay_flutter 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  feexpay_flutter: ^latest_version

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

2. 初始化支付插件

在你的 Flutter 应用中,首先需要初始化 feexpay_flutter 插件。通常,你可以在 main.dart 或支付相关的代码中进行初始化。

import 'package:feexpay_flutter/feexpay_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Feexpay
  await FeexpayFlutter.initialize(
    apiKey: 'YOUR_API_KEY',
    environment: Environment.SANDBOX, // 或者 Environment.PRODUCTION
  );

  runApp(MyApp());
}

3. 发起支付

你可以使用 FeexpayFlutter 提供的方法来发起支付请求。通常,你需要提供支付金额、货币类型、订单号等信息。

import 'package:feexpay_flutter/feexpay_flutter.dart';

Future<void> initiatePayment() async {
  try {
    final response = await FeexpayFlutter.initiatePayment(
      amount: 1000, // 支付金额(单位:分)
      currency: 'USD', // 货币类型
      orderId: 'ORDER12345', // 订单号
      description: 'Payment for goods', // 支付描述
    );

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

4. 处理支付结果

在支付完成后,你通常会收到一个支付结果。你可以根据这个结果来更新你的应用状态或进行其他操作。

if (response.status == 'success') {
  // 支付成功,更新订单状态
  updateOrderStatus('PAID');
} else {
  // 支付失败,显示错误信息
  showErrorMessage(response.message);
}

5. 可选功能

feexpay_flutter 可能还提供其他功能,如退款、查询订单状态等。你可以查阅官方文档以获取更多信息。

// 查询订单状态
final orderStatus = await FeexpayFlutter.getOrderStatus(orderId: 'ORDER12345');

// 发起退款
final refundResponse = await FeexpayFlutter.refundPayment(
  transactionId: 'TRANSACTION12345',
  amount: 1000,
);

6. 注意事项

  • API Key: 确保你使用的是正确的 API Key,并且在生产环境中使用生产环境的 Key。
  • 错误处理: 在支付过程中可能会遇到各种错误,确保你的应用能够妥善处理这些错误。
  • 安全性: 不要在客户端代码中硬编码敏感信息,如 API Key。

7. 参考文档

你可以访问 feexpay_flutter 的官方文档或 GitHub 仓库,以获取更多详细的使用说明和示例代码。

feexpay_flutter GitHub

回到顶部