Flutter支付集成插件airwallex的使用

Flutter支付集成插件airwallex的使用

一个用于在Flutter应用中处理Airwallex平台的插件。

平台支持

该插件支持Android和iOS。Windows、Linux和macOS将在不久后推出。

开始使用

在开始之前,请在Airwallex平台上创建一个账户。要创建Airwallex账户,请点击以下链接: https://www.airwallex.com/signup

使用步骤

要在项目中使用此插件,首先需要在pubspec.yaml文件中添加依赖项:

dependencies:
  airwallex: ^0.0.2

添加完依赖项后,需要初始化插件。初始化代码如下:

Airwallex _airwallex = Airwallex();
await _airwallex.initialize(
  true,
  "DEMO",
  ["CARD", "REDIRECT"],
);

初始化插件后,需要登录以获取令牌才能使用插件的功能。使用以下代码进行登录:

await _airwallex.login(
  "Your-API-key",
  "Your-ClientId",
);

完整示例代码

下面是一个完整的示例代码,展示了如何在Flutter应用中集成Airwallex支付插件:

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

import 'package:airwallex/airwallex.dart';
import 'package:flutter/services.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 _token = "等待获取令牌";

  final _airwallex = Airwallex();

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

  // 异步消息处理,因此我们通过异步方法进行初始化。
  Future<void> initPlatformState() async {
    String token;

    // 可能会抛出PlatformException,因此我们使用try/catch来处理。
    // 我们还处理了消息可能返回null的情况。
    try {
      // 选择SDK的环境之一:STAGING, DEMO, PRODUCTION
      // 选择SDK的组件提供商之一:CARD, REDIRECT, WECHAT
      await _airwallex.initialize(
        true,
        "DEMO",
        ["CARD", "REDIRECT"],
      );

      debugPrint(UniqueKey().toString());
      token = await _airwallex.login(
        "Your-ApiKey",
        "Your-ClientId",
      );
    } on PlatformException {
      token = "登录失败,无法获取令牌";
    }

    // 如果小部件从树中被移除且异步平台消息正在飞行,则我们想要丢弃回复而不是调用setState来更新我们的非存在的外观。
    if (!mounted) return;
    setState(() {
      _token = token;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Airwallex插件示例'),
        ),
        body: Center(
          child: Text("我的令牌: $_token"),
        ),
      ),
    );
  }
}

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

1 回复

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


在 Flutter 应用中集成 Airwallex 支付功能,可以使用 airwallex_flutter 插件。以下是集成步骤和使用方法:

1. 添加依赖

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

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

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

2. 初始化 Airwallex

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

import 'package:airwallex_flutter/airwallex_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Airwallex
  await Airwallex.initialize(
    clientId: 'YOUR_CLIENT_ID',
    environment: AirwallexEnvironment.production, // 或 AirwallexEnvironment.sandbox
  );

  runApp(MyApp());
}

3. 创建支付页面

创建一个页面来处理支付逻辑。使用 AirwallexPayment 类来处理支付流程:

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

class PaymentPage extends StatelessWidget {
  Future<void> _startPayment() async {
    try {
      final paymentIntent = await Airwallex.createPaymentIntent(
        amount: 100.0, // 支付金额
        currency: 'USD', // 货币类型
        customerId: 'YOUR_CUSTOMER_ID', // 客户 ID
        returnUrl: 'YOUR_RETURN_URL', // 支付完成后的返回 URL
      );

      await Airwallex.confirmPaymentIntent(paymentIntent.id);
      // 处理支付成功逻辑
    } catch (e) {
      // 处理支付失败逻辑
      print('Payment failed: $e');
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Airwallex Payment'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _startPayment,
          child: Text('Pay Now'),
        ),
      ),
    );
  }
}
回到顶部