Flutter支付集成插件airpay_emar_package的使用

Flutter支付集成插件airpay_emar_package的使用

Airpay EMAR SDK Package

Airpay EMAR Flutter 插件用于通过 Airpay 中间件进行支付集成。


使用

在你的 pubspec.yaml 文件中添加 airpay_emar_package 作为依赖项。

你可以在项目中包含一个 airpayPackage。有关如何在 Android 操作系统中使用该小部件的更多详细信息,请参阅 airpayPackage 的 Dart 文档。适用的支付方法/支付方式将支持在线卡支付(通过新卡或保存的卡)。


安装

此插件在 Pub 上可用:https://pub.dev/packages/airpay_emar_package

在你的应用的 pubspec.yaml 文件中添加以下内容:

dependencies:
  airpay_emar_package: ^1.0.11

确保在 AndroidManifest.xml 文件中设置 windowSoftInputModeadjustResize


Android 应用必须在 Android 清单文件中声明其互联网使用权限

在位于 android/app/src/mainAndroidManifest.xml 文件中,你需要在 <manifest> 标签内添加以下权限。

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

示例代码

以下是一个完整的示例代码,展示如何在 Flutter 应用中使用 airpay_emar_package 插件。

示例代码:example/lib/main.dart

import 'package:flutter/material.dart';

import 'screens/home.dart';
import 'screens/launch.dart';
import 'dart:io';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      initialRoute: '/',
      routes: {
        '/' : (context) => SplashScreen(),
        '/home' : (context) => Home(isSandbox: false,),
        '/Choice' : (context) => ChoiceScreen()
      },
    );
  }
}

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

1 回复

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


airpay_emar_package 是一个用于在 Flutter 应用中集成支付功能的插件。它提供了与 AirPay 和 EMAR 支付网关的集成,使开发者能够轻松地在应用中实现支付功能。以下是如何使用 airpay_emar_package 插件的详细步骤:

1. 添加依赖

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

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

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

2. 初始化插件

在你的 Flutter 应用的 main.dart 文件中初始化插件。你需要在 main 函数中调用插件的初始化方法。

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AirpayEmarPackage.initialize(
    apiKey: 'YOUR_API_KEY',  // 替换为你的 API Key
    environment: Environment.sandbox,  // 使用沙盒环境进行测试
  );
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

3. 创建支付请求

在你的应用页面中,创建一个支付请求并调用插件的支付方法。

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

class MyHomePage extends StatelessWidget {
  Future<void> _makePayment() async {
    try {
      PaymentResponse response = await AirpayEmarPackage.makePayment(
        amount: 100.0,  // 支付金额
        currency: 'USD',  // 货币类型
        orderId: 'ORDER123',  // 订单ID
        customerEmail: 'customer@example.com',  // 客户邮箱
        customerPhone: '1234567890',  // 客户电话
      );

      if (response.status == PaymentStatus.success) {
        // 支付成功
        print('Payment successful: ${response.transactionId}');
      } else {
        // 支付失败
        print('Payment failed: ${response.errorMessage}');
      }
    } catch (e) {
      // 处理异常
      print('Error: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Payment Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _makePayment,
          child: Text('Make Payment'),
        ),
      ),
    );
  }
}

4. 处理支付结果

makePayment 方法中,你可以根据 PaymentResponse 对象的状态来处理支付结果。PaymentResponse 包含了支付的状态、交易ID、错误信息等。

if (response.status == PaymentStatus.success) {
  // 支付成功
  print('Payment successful: ${response.transactionId}');
} else {
  // 支付失败
  print('Payment failed: ${response.errorMessage}');
}

5. 测试支付

在开发过程中,你可以使用沙盒环境进行测试。确保在初始化插件时将 environment 设置为 Environment.sandbox

await AirpayEmarPackage.initialize(
  apiKey: 'YOUR_API_KEY',
  environment: Environment.sandbox,
);

6. 发布应用

当你准备发布应用时,将 environment 设置为 Environment.production,并使用生产环境的 API Key。

await AirpayEmarPackage.initialize(
  apiKey: 'YOUR_PRODUCTION_API_KEY',
  environment: Environment.production,
);
回到顶部