Flutter支付结算插件flutter_fayaalma_checkout的使用
Flutter支付结算插件flutter_fayaalma_checkout的使用
开始使用
本项目是一个新的Flutter插件项目,用于实现支付结算功能。该插件包含针对Android和/或iOS平台的特定实现代码。
对于希望开始进行Flutter开发的朋友,可以参考在线文档,其中包含了教程、示例、移动开发指南以及完整的API引用。
完整示例
以下是一个使用flutter_fayaalma_checkout
插件的完整示例代码。这个例子展示了如何在应用中集成支付结算功能。
import 'package:flutter_fayaalma_checkout/flutter_fayaalma_checkout.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.grey.shade100,
body: Padding(
padding: const EdgeInsets.only(top: 55),
child: FayaalmaCheckout(
width: double.infinity,
height: double.infinity,
actifColor: Colors.green.shade600,
inactifColor: Colors.amber,
initCheckOutEntity: CheckOutEntity(
appID: '3daf232f-97d6-4452-bd49-69e0bc793c55',
orderID: '28430',
amount: 100.5,
payerFullName: 'Alioune Badara DIOUF',
productsOrdered: [
ProductEntity(
productName: "Sac En Cuire",
unitPrice: 200.0,
quantity: 1,
),
ProductEntity(
productName: "Iphone 15 Pro",
unitPrice: 200.0,
quantity: 2,
),
],
),
),
),
),
);
}
}
更多关于Flutter支付结算插件flutter_fayaalma_checkout的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付结算插件flutter_fayaalma_checkout的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_fayaalma_checkout
是一个用于集成 Fawry 支付网关的 Flutter 插件。Fawry 是中东和北非地区常用的支付解决方案之一,支持多种支付方式,如信用卡、借记卡、移动钱包等。
以下是如何在 Flutter 项目中使用 flutter_fayaalma_checkout
插件的步骤:
1. 添加依赖
首先,在你的 pubspec.yaml
文件中添加 flutter_fayaalma_checkout
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_fayaalma_checkout: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 配置 Android 和 iOS 项目
确保你的 Android 和 iOS 项目配置正确。
Android
在 android/app/build.gradle
文件中,确保 minSdkVersion
至少为 21:
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
// 其他配置
}
iOS
在 ios/Podfile
中,确保 platform :ios
至少为 9.0:
platform :ios, '9.0'
3. 初始化插件
在你的 Dart 代码中,导入并初始化 flutter_fayaalma_checkout
插件:
import 'package:flutter_fayaalma_checkout/flutter_fayaalma_checkout.dart';
4. 发起支付请求
使用 FlutterFayaalmaCheckout
类来发起支付请求。你需要提供 Fawry 的商户信息、支付金额、用户信息等。
void initiatePayment() async {
try {
Map<String, dynamic> paymentDetails = {
'merchantCode': 'YOUR_MERCHANT_CODE',
'merchantRefNum': 'UNIQUE_REFERENCE_NUMBER',
'customerMobile': 'CUSTOMER_MOBILE_NUMBER',
'customerEmail': 'CUSTOMER_EMAIL',
'amount': 'PAYMENT_AMOUNT',
'paymentMethod': 'PAYMENT_METHOD', // e.g., 'CARD', 'WALLET'
'description': 'PAYMENT_DESCRIPTION',
'language': 'LANGUAGE', // e.g., 'en', 'ar'
'returnUrl': 'RETURN_URL',
'items': [
{
'itemId': 'ITEM_ID',
'description': 'ITEM_DESCRIPTION',
'price': 'ITEM_PRICE',
'quantity': 'ITEM_QUANTITY',
}
],
};
var result = await FlutterFayaalmaCheckout.initiatePayment(paymentDetails);
print('Payment Result: $result');
} catch (e) {
print('Error: $e');
}
}
5. 处理支付结果
initiatePayment
方法会返回支付结果,你可以根据返回的结果来处理支付成功或失败的情况。
if (result['status'] == 'SUCCESS') {
// 支付成功
} else {
// 支付失败
}
6. 其他注意事项
- 测试环境:在开发阶段,确保使用 Fawry 的测试环境进行支付测试。
- 生产环境:在发布应用时,记得切换到 Fawry 的生产环境,并使用真实的商户信息。
7. 示例代码
以下是一个完整的示例代码,展示了如何在 Flutter 应用中使用 flutter_fayaalma_checkout
插件:
import 'package:flutter/material.dart';
import 'package:flutter_fayaalma_checkout/flutter_fayaalma_checkout.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Fawry Payment Example')),
body: Center(
child: ElevatedButton(
onPressed: initiatePayment,
child: Text('Pay with Fawry'),
),
),
),
);
}
void initiatePayment() async {
try {
Map<String, dynamic> paymentDetails = {
'merchantCode': 'YOUR_MERCHANT_CODE',
'merchantRefNum': 'UNIQUE_REFERENCE_NUMBER',
'customerMobile': 'CUSTOMER_MOBILE_NUMBER',
'customerEmail': 'CUSTOMER_EMAIL',
'amount': 'PAYMENT_AMOUNT',
'paymentMethod': 'PAYMENT_METHOD', // e.g., 'CARD', 'WALLET'
'description': 'PAYMENT_DESCRIPTION',
'language': 'LANGUAGE', // e.g., 'en', 'ar'
'returnUrl': 'RETURN_URL',
'items': [
{
'itemId': 'ITEM_ID',
'description': 'ITEM_DESCRIPTION',
'price': 'ITEM_PRICE',
'quantity': 'ITEM_QUANTITY',
}
],
};
var result = await FlutterFayaalmaCheckout.initiatePayment(paymentDetails);
print('Payment Result: $result');
} catch (e) {
print('Error: $e');
}
}
}