Flutter支付集成插件flutter_paystack_naza的使用
Flutter支付集成插件flutter_paystack_naza的使用


这是一个用于通过Paystack支付网关进行支付的Flutter插件。该插件完全支持Android和iOS。
安装
要使用此插件,在pubspec.yaml
文件中添加flutter_paystack
作为依赖项。
dependencies:
flutter_paystack: ^最新版本号
然后在你的小部件的initState
中初始化插件:
import 'package:flutter_paystack_naza/flutter_paystack.dart';
class _PaymentPageState extends State<PaymentPage> {
var publicKey = '[YOUR_PAYSTACK_PUBLIC_KEY]';
final plugin = PaystackPlugin();
@override
void initState() {
plugin.initialize(publicKey: publicKey);
}
}
无需其他配置——插件开箱即用。
进行支付
1. 结账(推荐)
这是最简单的方法;插件处理所有涉及的支付过程(除了交易初始化和验证,这些应该从你的后端进行)。
首先,初始化一个带有金额、邮箱和访问码或引用的Charge
对象。如果你已经从后端初始化了交易,请传递accessCode
。否则,传递reference
。
Charge charge = Charge()
..amount = 10000
..reference = _getReference()
..email = 'customer@email.com';
CheckoutResponse response = await plugin.checkout(
context: context,
method: CheckoutMethod.card, // 默认为CheckoutMethod.selectable
charge: charge,
);
请注意,如果方法是CheckoutMethod.bank
或CheckoutMethod.selectable
,则需要accessCode
。
plugin.checkout()
返回支付状态和详细信息的实例CheckoutResponse
。
建议在plugin.checkout()
返回时,在你的后端验证支付。
2. 充值卡
你可以选择在本地或通过你的后端初始化支付。
A. 通过你的后端初始化(推荐)
-
a. 首先,向
https://api.paystack.co/transaction/initialize
发送HTTP POST请求以初始化交易。 -
b. 如果一切顺利,初始化请求将返回一个包含
access_code
的响应。然后创建一个带有访问码和卡片详情的Charge
对象。这个charge
将传递给plugin.chargeCard()
函数进行支付:
PaymentCard _getCardFromUI() {
// 使用必须参数
return PaymentCard(
number: cardNumber,
cvc: cvv,
expiryMonth: expiryMonth,
expiryYear: expiryYear,
);
}
_chargeCard(String accessCode) async {
var charge = Charge()
..accessCode = accessCode
..card = _getCardFromUI();
final response = await plugin.chargeCard(context, charge: charge);
// 使用响应
}
如果response.status
为true,则交易成功。请参阅CheckoutResponse文档获取更多信息。
B. 在本地初始化
直接将支付详情传递给plugin.chargeCard
:
Charge charge = Charge();
charge.card = _getCardFromUI();
charge
..amount = 2000
..email = 'user@email.com'
..reference = _getReference()
..putCustomField('Charged From', 'Flutter PLUGIN');
_chargeCard();
更多关于Flutter支付集成插件flutter_paystack_naza的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件flutter_paystack_naza的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_paystack_naza
是一个用于在 Flutter 应用中集成 Paystack 支付功能的插件。Paystack 是一个流行的支付网关,广泛用于非洲市场。通过 flutter_paystack_naza
,你可以轻松地在 Flutter 应用中实现支付功能。
以下是如何使用 flutter_paystack_naza
插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 flutter_paystack_naza
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_paystack_naza: ^1.0.0
然后运行 flutter pub get
来安装依赖。
2. 初始化 Paystack
在你的 Dart 文件中,导入 flutter_paystack_naza
并初始化 Paystack:
import 'package:flutter_paystack_naza/flutter_paystack_naza.dart';
void initializePaystack() {
PaystackPlugin.initialize(publicKey: 'your_public_key');
}
将 your_public_key
替换为你在 Paystack 控制台中获得的公钥。
3. 发起支付
接下来,你可以使用 PaystackPlugin
发起支付。以下是一个简单的例子:
import 'package:flutter/material.dart';
import 'package:flutter_paystack_naza/flutter_paystack_naza.dart';
class PaymentPage extends StatefulWidget {
[@override](/user/override)
_PaymentPageState createState() => _PaymentPageState();
}
class _PaymentPageState extends State<PaymentPage> {
final plugin = PaystackPlugin();
[@override](/user/override)
void initState() {
super.initState();
plugin.initialize(publicKey: 'your_public_key');
}
Future<void> makePayment() async {
Charge charge = Charge()
..amount = 10000 // 金额单位为 kobo (例如,10000 kobo = 100 Naira)
..email = 'customer@example.com'
..reference = 'ref_${DateTime.now().millisecondsSinceEpoch}'
..card = PaymentCard(
number: '4084084084084081',
cvc: '408',
expiryMonth: 12,
expiryYear: 2025,
);
CheckoutResponse response = await plugin.checkout(
context,
method: CheckoutMethod.card, // 支付方式
charge: charge,
);
if (response.status == true) {
// 支付成功
print('Payment successful: ${response.reference}');
} else {
// 支付失败
print('Payment failed: ${response.message}');
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Paystack Payment'),
),
body: Center(
child: ElevatedButton(
onPressed: makePayment,
child: Text('Make Payment'),
),
),
);
}
}