Flutter支付集成插件fiatpe_payments_sdk的使用
Flutter支付集成插件fiatpe_payments_sdk的使用
fiatpe_payments_sdk
fiatpe_payments_sdk 是一个用于简化 Flutter 应用中 UPI 支付功能集成的 SDK。它旨在通过灵活和可扩展的设计来优化支付流程,并计划在未来支持更多支付选项。
✨ 特性
- 🔄 UPI Payments: 轻松将 UPI 支付集成到您的 Flutter 应用程序中。
- 🚀 未来就绪: 计划支持网银支付和信用卡/借记卡支付等更多支付方式。
🛠 安装
在 pubspec.yaml
文件中添加以下依赖:
dependencies:
fiatpe_payments_sdk: ^1.0.1
或者通过运行以下命令直接添加依赖:
dart pub add fiatpe_payments_sdk
然后执行以下命令以获取依赖项:
flutter pub get
🛠 Android 配置
Add Internet Permission
确保在 AndroidManifest.xml
文件中设置了互联网权限。这一步对于处理应用与 FiatPe 支付服务器之间的网络通信至关重要。
在 <manifest>
标签内添加以下行:
<uses-permission android:name="android.permission.INTERNET" />
🛠 iOS 配置
Update Info.plist
为了确保应用可以检查是否安装了特定的支付应用程序并引导用户完成支付过程,需要在 Info.plist
中配置 URL schemes。
在 Info.plist
中添加以下配置:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>BHIM</string>
<string>bhim</string>
<string>com.amazon.mobile.shopping</string>
<string>gpay</string>
<string>imobile</string>
<string>paytm</string>
<string>paytmmp</string>
<string>payzapp</string>
<string>phonepe</string>
</array>
📝 使用说明
1. 导入库
在 Dart 文件中添加以下导入语句:
import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';
2. 初始化 SDK
在应用启动时初始化 SDK,需要提供 API Key 和 Salt Key。
FiatPePayments.init(
keys: const FiatPeAuthKeys(
api: "YOUR_API_KEY", // 您的 FiatPe API 密钥
salt: "YOUR_SALT_KEY", // 您的 FiatPe Salt 密钥
),
onFailed: (msg) {
print("Initialization failed: $msg");
},
onSuccess: (msg) {
print("Initialization succeeded: $msg");
},
);
参数说明:
api
: (必填)由 FiatPe 提供的 API 密钥。salt
: (必填)由 FiatPe 提供的 Salt 密钥。onFailed
: (可选)初始化失败时触发的回调函数,接收错误消息字符串。onSuccess
: (可选)初始化成功时触发的回调函数,接收成功消息字符串。
3. 启动 UPI 支付
调用 startPayment
方法发起 UPI 支付,传入封装好的 PaymentParams
参数。
FiatPePayments.startPayment(
context: context,
params: PaymentParams(
transactionId: "TRANSACTIONID", // 交易 ID
amount: 100.0, // 支付金额
customerName: "John Doe", // 客户全名
customerEmail: "customer@example.com", // 客户邮箱
phoneNumber: "+911234567890", // 客户电话号码
callbackURL: "https://example.com/payment_callback", // 支付回调 URL
udf1: "custom data 1", // 可选自定义字段
udf2: "custom data 2", // 可选自定义字段
udf3: "custom data 3", // 可选自定义字段
udf4: "custom data 4", // 可选自定义字段
udf5: "custom data 5", // 可选自定义字段
),
onPaymentResult: (result) {
switch (result) {
case PaymentSuccess():
print("Payment Successful. Transaction ID: ${result.details.transactionId}");
break;
case PaymentFailure():
print("Payment Failed. Error: ${result.details?.transactionId}");
break;
case PaymentPending():
print("Payment Pending. Transaction ID: ${result.details.transactionId}");
break;
case PaymentCancelled():
print("Payment Cancelled.");
break;
case PaymentUnknown():
print("Unknown Payment Status.");
break;
}
},
);
更多关于Flutter支付集成插件fiatpe_payments_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter支付集成插件fiatpe_payments_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
fiatpe_payments_sdk
是一个用于在 Flutter 应用中集成支付功能的插件。以下是如何在 Flutter 项目中使用该插件的基本步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 fiatpe_payments_sdk
依赖:
dependencies:
flutter:
sdk: flutter
fiatpe_payments_sdk: ^版本号 # 请替换为最新的版本号
然后运行 flutter pub get
以安装依赖。
2. 初始化 SDK
在你的 Flutter 应用中初始化 fiatpe_payments_sdk
。通常可以在 main.dart
或某个初始化函数中进行。
import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 SDK
await FiatPePaymentsSdk.initialize(
apiKey: 'YOUR_API_KEY', // 替换为你的API Key
environment: Environment.sandbox, // 或者 Environment.production
);
runApp(MyApp());
}
3. 创建支付订单
在需要支付的地方,创建一个支付订单并调用支付接口。
import 'package:fiatpe_payments_sdk/fiatpe_payments_sdk.dart';
Future<void> createPaymentOrder() async {
try {
// 创建支付订单
PaymentOrderResponse response = await FiatPePaymentsSdk.createPaymentOrder(
amount: 100.0, // 支付金额
currency: 'USD', // 货币类型
orderId: 'ORDER123', // 订单ID
customerEmail: 'customer@example.com', // 客户邮箱
customerPhone: '+1234567890', // 客户电话
description: 'Payment for order #123', // 订单描述
);
// 处理支付结果
if (response.status == 'success') {
print('Payment successful: ${response.transactionId}');
} else {
print('Payment failed: ${response.errorMessage}');
}
} catch (e) {
print('Error: $e');
}
}
4. 处理支付回调
在某些情况下,你可能需要处理支付回调,以确认支付是否成功。你可以使用 FiatPePaymentsSdk
提供的回调处理功能。
FiatPePaymentsSdk.setPaymentCallback((PaymentCallbackResponse response) {
if (response.status == 'success') {
print('Payment successful: ${response.transactionId}');
} else {
print('Payment failed: ${response.errorMessage}');
}
});
5. 处理支付结果
在支付完成后,你可以根据支付结果进行相应的处理,例如更新订单状态、显示成功或失败的消息等。
Future<void> handlePaymentResult(PaymentOrderResponse response) async {
if (response.status == 'success') {
// 支付成功,更新订单状态
await updateOrderStatus(response.orderId, 'paid');
showSuccessMessage('Payment successful!');
} else {
// 支付失败,显示错误信息
showErrorMessage('Payment failed: ${response.errorMessage}');
}
}
6. 处理错误
在支付过程中可能会遇到各种错误,例如网络问题、支付失败等。你需要捕获这些错误并进行适当的处理。
try {
await createPaymentOrder();
} catch (e) {
print('Error: $e');
showErrorMessage('An error occurred: $e');
}
7. 测试支付
在开发过程中,建议使用沙盒环境进行测试。确保在发布应用之前切换到生产环境。
await FiatPePaymentsSdk.initialize(
apiKey: 'YOUR_API_KEY',
environment: Environment.sandbox, // 测试环境
);
8. 发布应用
在完成测试并确保支付功能正常工作后,将应用发布到生产环境。
await FiatPePaymentsSdk.initialize(
apiKey: 'YOUR_API_KEY',
environment: Environment.production, // 生产环境
);