Flutter支付集成插件paylink_payment_sdk的使用

Flutter支付集成插件paylink_payment_sdk的使用

Paylink Payment SDK

概述

paylink_payment_sdk 是一个为 Flutter 应用程序设计的 SDK,旨在简化将 Paylink 支付网关集成到 Flutter 应用中的过程。它提供了一种便捷的方式来处理应用程序内的支付操作。

特性

  • 与 Paylink 支付网关轻松集成。
  • 使用最少的代码即可完成支付流程。
  • 安全地处理支付交易。

开始使用

安装

要将 paylink_payment_sdk 添加到您的 Flutter 项目中,请在项目的 pubspec.yaml 文件中添加以下依赖项:

dependencies:
  flutter:
    sdk: flutter
  paylink_payment_sdk: ^0.9.3  # 使用最新版本

然后运行以下命令以安装依赖:

flutter pub get

示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 paylink_payment_sdk

示例代码

文件结构

example/
├── lib/
   └── main.dart

main.dart

import 'package:flutter/material.dart';
import 'package:paylink_payment_sdk/paylink_payment_sdk.dart'; // 导入 SDK

void main() {
  runApp(const MyApp()); // 启动应用
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'), // 主页面
    );
  }
}

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

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState(); // 创建状态对象
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title), // 设置标题
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: const [
            Text('Paylink Payment Example'), // 显示文本
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // 调用支付方法
          PaymentSDK(context).openPaymentForm(
            '1704667110670', // 订单号
            (orderNumber, transactionNo, orderPaid, orderTotal) {
              // 回调函数
              print('订单号: $orderNumber');
              print('交易号: $transactionNo');
              print('订单已支付金额: $orderPaid');
              print('订单总金额: $orderTotal');
            },
          );
        },
        tooltip: 'Increment',
        child: const Icon(Icons.add), // 浮动按钮图标
      ),
    );
  }
}

代码说明

  1. 导入 SDK

    import 'package:paylink_payment_sdk/paylink_payment_sdk.dart';

    导入 paylink_payment_sdk 包以便在应用中使用其功能。

  2. 初始化应用

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

    定义主函数并启动应用。

  3. 创建主页面

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

    定义主页面并设置主题。

  4. 定义状态类

    class _MyHomePageState extends State<MyHomePage> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text(widget.title),
          ),
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: const [
                Text('Paylink Payment Example'),
              ],
            ),
          ),
          floatingActionButton: FloatingActionButton(
            onPressed: () {
              PaymentSDK(context).openPaymentForm(
                '1704667110670',
                (orderNumber, transactionNo, orderPaid, orderTotal) {
                  print('订单号: $orderNumber');
                  print('交易号: $transactionNo');
                  print('订单已支付金额: $orderPaid');
                  print('订单总金额: $orderTotal');
                },
              );
            },
            tooltip: 'Increment',
            child: const Icon(Icons.add),
          ),
        );
      }
    }
1 回复

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


paylink_payment_sdk 是一个用于在 Flutter 应用中集成支付功能的插件。以下是如何在 Flutter 项目中使用 paylink_payment_sdk 的基本步骤:

1. 添加依赖

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

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

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

2. 初始化 SDK

在你的 Flutter 应用中,首先需要初始化 paylink_payment_sdk。通常,你可以在 main.dart 或某个初始化文件中进行初始化。

import 'package:paylink_payment_sdk/paylink_payment_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 Paylink SDK
  await PaylinkPaymentSdk.initialize(
    apiKey: 'YOUR_API_KEY',
    environment: Environment.sandbox, // 或者 Environment.production
  );
  
  runApp(MyApp());
}

3. 创建支付请求

接下来,你可以创建一个支付请求并启动支付流程。

import 'package:paylink_payment_sdk/paylink_payment_sdk.dart';

Future<void> startPayment() async {
  try {
    // 创建支付请求
    PaymentRequest paymentRequest = PaymentRequest(
      amount: 100.0, // 支付金额
      currency: 'USD', // 货币类型
      orderId: 'ORDER12345', // 订单ID
      customerName: 'John Doe', // 客户名称
      customerEmail: 'john.doe@example.com', // 客户邮箱
      customerPhone: '+1234567890', // 客户电话
      description: 'Payment for order #12345', // 支付描述
      returnUrl: 'https://yourwebsite.com/return', // 支付完成后的返回URL
    );

    // 启动支付
    PaymentResponse response = await PaylinkPaymentSdk.startPayment(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. 处理支付结果

startPayment 方法中,你可以根据 PaymentResponse 的状态来处理支付结果。

if (response.status == PaymentStatus.success) {
  // 支付成功
} else if (response.status == PaymentStatus.failed) {
  // 支付失败
} else if (response.status == PaymentStatus.cancelled) {
  // 支付取消
}

5. 处理回调

如果支付完成后需要返回到你的应用,你可以在 returnUrl 中指定一个 URL,并在该 URL 中处理回调。

6. 测试与发布

在开发过程中,你可以使用 Environment.sandbox 进行测试。当你准备发布应用时,记得将 environment 切换为 Environment.production

7. 处理错误

在支付过程中,可能会遇到各种错误。确保你捕获并处理这些错误,以便为用户提供更好的体验。

try {
  PaymentResponse response = await PaylinkPaymentSdk.startPayment(paymentRequest);
  // 处理支付结果
} catch (e) {
  print('Error during payment: $e');
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!