Flutter插件easebuzz_flutter的安装及使用方法详解
Flutter插件easebuzz_flutter的安装及使用方法详解
Flutter 插件用于 Easebuzz SDK。通过此插件,您可以轻松地在 Flutter 应用程序中集成 Easebuzz 支付网关。
- 开始使用
- 前置条件
- 安装
- 使用
- 示例代码
开始使用
此 Flutter 插件是基于我们的 Android 和 iOS SDK 的封装,提供了将 Easebuzz 支付网关集成到 Flutter 应用程序的一种简便方式。要了解 Easebuzz 支付流程及其实现,请参阅官方文档:Easebuzz 文档。
前置条件
在进行集成之前,请确保以下条件已经满足:
商户注册
- 创建一个商户账户,并通过 Easebuzz 注册门户 完成注册流程。
测试环境凭据
- 在您的注册邮箱中会收到测试凭据。这些凭据使您能够在安全的沙箱环境中测试支付功能,确保不会发生真实的金融交易。
- 在充分测试后,用生产环境密钥替换测试密钥以处理实际支付。
安装
该插件可在 pub.dev 上找到。
要在您的 Flutter 项目中集成 easebuzz_flutter
,请在 pubspec.yaml
文件中添加以下依赖项:
easebuzz_flutter: ^0.0.1
或者运行以下命令:
flutter pub add easebuzz_flutter
添加依赖项后,运行以下命令获取包:
flutter pub get
使用
要集成 Easebuzz 支付功能,请遵循以下步骤:
导入包
import 'package:easebuzz_flutter/easebuzz_flutter.dart';
初始化插件
创建插件实例并定义支付响应变量:
final _easebuzzFlutterPlugin = EasebuzzFlutter();
String _paymentResponse = 'No payment response yet';
实现支付功能
使用以下方法发起支付:
// 使用 Easebuzz 插件发起支付的方法
Future<void> initiatePayment() async {
String accessKey = "Access key generated by the Initiate Payment API";
String payMode = "test"; // 可以是 'test' 或 'production'
try {
// 调用平台方法以发起支付
final paymentResponse = await _easebuzzFlutterPlugin.payWithEasebuzz(accessKey, payMode);
setState(() {
_paymentResponse = paymentResponse.toString(); // 存储并显示响应
});
} on PlatformException catch (e) {
setState(() {
_paymentResponse = "Payment failed: ${e.message}";
});
}
}
示例代码可以在 example/lib/main.dart
中找到。
示例代码
以下是展示如何集成 initiatePayment
方法的一个示例小部件:
import 'package:flutter/material.dart';
import 'package:easebuzz_flutter/easebuzz_flutter.dart';
class CheckoutPaymentPage extends StatefulWidget {
[@override](/user/override)
_PaymentScreenState createState() => _PaymentScreenState();
}
class _PaymentScreenState extends State<CheckoutPaymentPage> {
final _easebuzzFlutterPlugin = EasebuzzFlutter();
String _paymentResponse = 'No payment response yet';
Future<void> initiatePayment() async {
String accessKey = "Access key generated by the Initiate Payment API";
String payMode = "test"; // 用于测试模式;使用 "production" 进行生产模式
try {
final paymentResponse = await _easebuzzFlutterPlugin.payWithEasebuzz(accessKey, payMode);
setState(() {
_paymentResponse = "Payment successful: $paymentResponse";
});
} on PlatformException catch (e) {
setState(() {
_paymentResponse = "Payment failed: ${e.message}";
});
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Easebuzz Payment'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(_paymentResponse),
SizedBox(height: 20),
ElevatedButton(
onPressed: initiatePayment,
child: Text('Initiate Payment'),
),
],
),
),
);
}
}
更多关于Flutter插件easebuzz_flutter的安装及使用方法详解的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter插件easebuzz_flutter的安装及使用方法详解的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
easebuzz_flutter
是一个用于Flutter应用程序与Easebuzz支付网关集成的插件。Easebuzz是一个印度的支付网关,支持多种支付方式,如信用卡、借记卡、网银、UPI等。通过easebuzz_flutter
插件,开发者可以轻松地将Easebuzz支付功能集成到Flutter应用中。
1. 安装插件
首先,你需要在pubspec.yaml
文件中添加easebuzz_flutter
插件的依赖:
dependencies:
flutter:
sdk: flutter
easebuzz_flutter: ^1.0.0 # 请检查最新版本
然后运行flutter pub get
来安装插件。
2. 配置Easebuzz密钥
在使用easebuzz_flutter
之前,你需要在Easebuzz商户后台获取Merchant Key
和SALT
。这些密钥用于初始化支付请求。
3. 初始化Easebuzz
在你的Flutter应用中,首先需要初始化Easebuzz插件。通常,你可以在应用的main.dart
文件中进行初始化:
import 'package:easebuzz_flutter/easebuzz_flutter.dart';
void main() {
EasebuzzFlutter.initialize(
merchantKey: 'YOUR_MERCHANT_KEY',
salt: 'YOUR_SALT',
environment: Environment.TEST, // 使用TEST环境进行测试,生产环境使用Environment.PRODUCTION
);
runApp(MyApp());
}
4. 发起支付请求
在用户选择支付后,你可以使用EasebuzzFlutter
来发起支付请求。以下是一个简单的示例:
import 'package:easebuzz_flutter/easebuzz_flutter.dart';
Future<void> initiatePayment() async {
try {
var response = await EasebuzzFlutter.initiatePayment(
amount: '100.00', // 支付金额
email: 'user@example.com', // 用户邮箱
phone: '9876543210', // 用户手机号
firstName: 'John', // 用户名字
lastName: 'Doe', // 用户姓氏
address: '123 Street', // 用户地址
city: 'City', // 用户城市
state: 'State', // 用户州
zipCode: '123456', // 用户邮编
country: 'India', // 用户国家
productInfo: 'Product Info', // 产品信息
transactionId: 'TXN123456', // 交易ID
surl: 'https://example.com/success', // 成功回调URL
furl: 'https://example.com/failure', // 失败回调URL
);
// 处理支付响应
print('Payment Response: $response');
} catch (e) {
// 处理错误
print('Payment Error: $e');
}
}