Flutter支付集成插件flutter_payunit的使用
Flutter支付集成插件flutter_payunit的使用
欢迎来到Pay Unit Flutter SDK,在您的应用中无缝接受和管理付款。
描述
Pay Unit SDK 包装件使您能够通过一个按钮轻松地将支付功能集成到您的应用程序中。
安装
运行以下命令:
使用dart
dart pub add flutter_payunit
使用Flutter
flutter pub add flutter_payunit
手动添加
在pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter_payunit: ^0.0.4
导入包
在Dart文件中导入:
import 'package:flutter_payunit/flutter_payunit.dart';
添加PayUnitButton
在你的应用中添加PayUnitButton组件:
PayUnitButton(
apiUsername: "<Your apiuser>",
apiPassword: "<Your apiPassword>",
apiKey: "<Your apiKey>",
mode: 'live', // live 或者 test
paymentCountry: '<Transaction country>',
notifyUrl: "<Your notification url>",
returnUrl: "<Your return url>",
totalAmount: "<Your transaction amount>",
currency: "XAF",
buttonTextColor: Colors.white,
buttonText: "Pay now",
width: double.infinity,
color: Colors.orange,
actionAfterProccess: (transactionId, transactionStatus) {
// 回调函数,包含交易ID和交易状态
},
),
PayUnit按钮参数
apiUsername
: 您的API用户名在PayUnit仪表板上提供,格式类似于"xxxxxx-xxxxxxx-xxxxxx-xxxxxx"apiPassword
: 您的API密码在PayUnit仪表板上提供,格式类似于"xxxxxx-xxxxxxx-xxxxxx-xxxxxx"apiKey
: 您的应用程序令牌,例如sand_xxxxxx或live_xxxxxxmode
: 可以是测试(test)或生产(live)currency
: 交易货币,例如XAF表示FCFAbuttonTextColor
: 自定义PayUnit按钮文本颜色color
: 自定义PayUnit按钮背景色actionAfterProccess
: 在支付结束后开始的动作。您可以在这里执行一些操作,例如支付完成后显示一个对话框。transactionId
和transactionStatus
是actionAfterProccess
函数的回调参数,不要修改它们。
图库
客户
示例代码
以下是完整的示例代码,展示了如何在Flutter应用中使用flutter_payunit
插件:
import 'package:flutter/material.dart';
import 'package:flutter_payunit/flutter_payunit.dart';
void main() {
runApp(const App());
}
class App extends StatelessWidget {
const App({super.key});
[@override](/user/override)
Widget build(BuildContext context) => const MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: PayButton(),
),
);
}
class PayButton extends StatelessWidget {
const PayButton({
super.key,
});
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey,
appBar: AppBar(
elevation: 1,
backgroundColor: Colors.white,
title: const Text(
"Pay unit demo",
style: TextStyle(color: Colors.black),
),
centerTitle: true,
),
body: Center(
child: Padding(
padding: const EdgeInsets.only(left: 30, right: 30),
child: PayUnitButton(
apiUsername: "xxxxxx-xxxxxxx-xxxxxx-xxxxxx",
apiPassword: "xxxxxx-xxxxxxx-xxxxxx-xxxxxx",
apiKey: 'live_xxxxxxxxxxxxxxxxxxxxxxxxxxx',
mode: 'live', // test 或者 live
totalAmount: 1000,
currency: 'XAF',
paymentCountry: 'CM',
actionAfterProccess: (transactionId, transactionStatus) {
print(
"Transaction id is : $transactionId and transaction status : $transactionStatus");
if (transactionStatus == 'SUCCESS') {
// 如果交易成功
print('The transaction $transactionId is successful');
} else {
// 如果交易失败
print('The transaction $transactionId failed');
}
},
returnUrl:
'https://webhook.site/d457b2f3-dd71-4f04-9af5-e2fcf3be8f34',
notifyUrl:
'https://webhook.site/d457b2f3-dd71-4f04-9af5-e2fcf3be8f34',
),
),
));
}
}
更多关于Flutter支付集成插件flutter_payunit的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件flutter_payunit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_payunit
是一个用于在 Flutter 应用中集成支付功能的插件,支持多种支付网关(如 PayPal、Stripe 等)。以下是如何在 Flutter 项目中使用 flutter_payunit
插件的步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 flutter_payunit
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_payunit: ^1.0.0 # 请使用最新版本
然后,运行 flutter pub get
来获取依赖。
2. 配置支付网关
在使用 flutter_payunit
之前,你需要在相应的支付网关(如 PayPal、Stripe)上创建账户,并获取 API 密钥或其他必要的凭证。
3. 初始化支付
在 Flutter 应用中初始化支付。通常,你需要在应用的某个地方(如 main.dart
或支付页面)初始化支付插件。
import 'package:flutter_payunit/flutter_payunit.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: PaymentPage(),
);
}
}
class PaymentPage extends StatelessWidget {
final PayUnit payUnit = PayUnit();
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Payment Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 初始化支付
await payUnit.initialize(
apiKey: 'YOUR_API_KEY',
gateway: PaymentGateway.PayPal, // 选择支付网关
currency: 'USD', // 设置货币
);
// 发起支付
final paymentResponse = await payUnit.makePayment(
amount: 10.0, // 支付金额
description: 'Test Payment', // 支付描述
);
// 处理支付结果
if (paymentResponse.status == PaymentStatus.success) {
print('Payment Successful: ${paymentResponse.transactionId}');
} else {
print('Payment Failed: ${paymentResponse.errorMessage}');
}
},
child: Text('Pay Now'),
),
),
);
}
}