Flutter支付集成插件flutter_paystack_mo的使用
Flutter支付集成插件flutter_paystack_mo的使用
📚 目录
🚀 安装
要使用此插件,在您的pubspec.yaml
文件中添加flutter_paystack_mo
作为依赖项。
dependencies:
flutter_paystack_mo: ^版本号
然后在您的组件中初始化插件,最好是在initState
方法中进行初始化。
import 'package:flutter_paystack_mo/flutter_paystack.dart';
class _PaymentPageState extends State<PaymentPage> {
var publicKey = '[YOUR_PAYSTACK_PUBLIC_KEY]';
final plugin = PaystackPlugin();
@override
void initState() {
plugin.initialize(publicKey: publicKey);
}
}
无需其他配置,插件即可直接使用。
💲 制作支付
该插件提供了两种方式来制作支付。
- 结账:这是最简单的方式;插件会处理所有涉及的支付过程(除了交易初始化和验证,这些应从您的后端进行)。
- 刷卡:这是一种更长的方法;您需要处理所有回调和UI状态。
1. 🌟 结账(推荐)
您可以通过一个金额、邮箱和访问码或引用来初始化一个Charge
对象。如果已经从后端初始化了交易,请传递accessCode
,否则传递reference
。
Charge charge = Charge()
..amount = 10000
..reference = _getReference()
// 或者 ..accessCode = _getAccessCodeFrmInitialization()
..email = 'customer@email.com';
CheckoutResponse response = await plugin.checkout(
context,
method: CheckoutMethod.card, // 默认为CheckoutMethod.selectable
charge: charge,
);
请注意,如果方法是CheckoutMethod.bank
或CheckoutMethod.selectable
,则需要accessCode
。
plugin.checkout()
返回一个包含支付状态和详细信息的CheckoutResponse
实例。
建议在plugin.checkout()
返回后,在您的后端验证支付。
2. ⭐ 刷卡
您可以选择在本地初始化支付或者通过后端初始化支付。
A. 通过后端初始化(推荐)
- a. 首先,通过HTTP POST请求到您的后端上的Paystack进行初始化。
- b. 如果一切顺利,初始化请求将返回一个带有
access_code
的响应。然后创建一个带有访问码和卡片详情的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_mo的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件flutter_paystack_mo的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_paystack_mo
是一个用于在 Flutter 应用中集成 Paystack 支付功能的插件。Paystack 是一个流行的支付网关,支持在非洲地区的在线支付。通过 flutter_paystack_mo
,你可以轻松地在你的 Flutter 应用中接受信用卡和其他支付方式的付款。
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 flutter_paystack_mo
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_paystack_mo: ^1.0.0 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化 Paystack
在你的 Dart 文件中,导入 flutter_paystack_mo
并进行初始化:
import 'package:flutter_paystack_mo/flutter_paystack_mo.dart';
final PaystackPlugin paystackPlugin = PaystackPlugin();
void initializePaystack() {
paystackPlugin.initialize(
publicKey: 'your_public_key', // 你的 Paystack 公钥
);
}
确保在应用启动时调用 initializePaystack()
方法。
3. 创建支付请求
接下来,你可以创建一个支付请求。通常,你需要从你的后端服务器获取一个 transaction reference
,然后使用它来发起支付。
void makePayment() async {
// 从你的后端服务器获取 transaction reference
String transactionReference = await getTransactionReferenceFromBackend();
Charge charge = Charge()
..amount = 10000 // 金额,单位为分(例如 10000 = 100.00 美元)
..email = 'customer@example.com' // 客户的电子邮件
..reference = transactionReference; // 交易参考号
CheckoutResponse response = await paystackPlugin.checkout(
context, // 当前上下文
method: CheckoutMethod.card, // 支付方式,可以选择 card、bank 等
charge: charge,
fullscreen: false, // 是否全屏显示支付页面
);
if (response.status == true) {
// 支付成功
print('Payment successful: ${response.reference}');
} else {
// 支付失败
print('Payment failed: ${response.message}');
}
}