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), // 浮动按钮图标
),
);
}
}
代码说明
-
导入 SDK:
import 'package:paylink_payment_sdk/paylink_payment_sdk.dart';
导入
paylink_payment_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 _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), ), ); } }
更多关于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');
}