Flutter未知功能插件chapasdk的潜在使用
Flutter未知功能插件chapasdk的潜在使用
官方的Chapa Flutter SDK使得Flutter开发者能够无缝地将Chapa的支付API集成到他们的应用中。它支持原生和网页结账,为发起和验证支付提供了强大而灵活的解决方案。
功能
- 🌟 发起支付:轻松通过四种受支持的钱包(telebirr, cbebirr, mpesa, ebirr)进行交易。
- ✅ 验证支付状态:确认支付完成并即时通知用户。
- 🌐 网页结账支持:允许用户使用网页结账以获取额外的支付选项。
预览
支付方法在网格视图中显示
支付方法在列表视图中显示,按钮颜色自定义
错误
成功支付收据
开始使用
安装
在pubspec.yaml
文件中添加以下依赖项:
dependencies:
chapasdk: ^latest_version
然后运行命令:
flutter pub get
参数
参数名 | 类型 | 是否必需 | 描述 |
---|---|---|---|
context |
BuildContext |
是 | 当前小部件的上下文。 |
publicKey |
String |
是 | 您的Chapa公钥(测试环境用测试密钥,生产环境用生产密钥)。 |
currency |
String |
是 | 交易货币(原生结账为ETB,网页结账为ETB或USD,不能使用USD进行原生结账)。 |
amount |
String |
是 | 要收取的金额。 |
email |
String |
是 | 客户的电子邮件地址。 |
phone |
String |
是 | 客户的电话号码。 |
firstName |
String |
是 | 客户的名字。 |
lastName |
String |
是 | 客户的姓氏。 |
txRef |
String |
是 | 交易的唯一参考号。 |
title |
String |
是 | 支付模态框的标题。 |
desc |
String |
是 | 支付的描述。 |
namedRouteFallBack |
String |
是 | 支付事件(成功、失败或取消)后重定向用户的命名路由。 |
nativeCheckout |
bool |
否 | 是否使用原生结账(true )或网页结账(false ),默认为true 。 |
showPaymentMethodsOnGridView |
bool |
否 | 显示支付方法在网格(true )还是水平视图(false ),默认为true 。 |
availablePaymentMethods |
List<String> |
否 | 允许的支付方法列表(mpesa , cbebirr , telebirr , ebirr ),默认为所有方法。 |
buttonColor |
Color |
否 | 原生结账按钮的颜色,默认为应用程序的主题颜色。 |
使用
import 'package:chapasdk/chapasdk.dart';
Chapa.paymentParameters(
context: context,
publicKey: 'CHAPUBK-@@@@',
currency: 'ETB',
amount: '1',
email: 'fetanchapa.co',
phone: '0911223344',
firstName: 'Israel',
lastName: 'Goytom',
txRef: 'txn_12345',
title: 'Order Payment',
desc: 'Payment for order #12345',
nativeCheckout: true,
namedRouteFallBack: '/',
showPaymentMethodsOnGridView: true,
availablePaymentMethods: ['mpesa', 'cbebirr', 'telebirr', 'ebirr'],
);
支付响应
对于原生结账
在原生结账环境中,交易参考编号是Chapa的支付参考编号。
{
"message": "Any Descriptive message regarding the payment status",
"transactionReference": "CHHhvtn7xLEkZ",
"paidAmount": "1.00"
}
对于网页结账
在网页结账环境中,交易参考编号是你生成的支付交易参考编号。
重要提示: 如果从原生结账页面启动网页结账,网页结账的交易参考编号将由应用自身生成。这是因为单个交易参考编号不能同时用于原生和网页结账过程。因此,应用将为网页结账生成一个单独的交易参考编号。
支付已取消
{
"message": "paymentCancelled",
"transactionReference": "txn_12345",
"paidAmount": "1.00"
}
支付成功
{
"message": "paymentSuccessful",
"transactionReference": "txn_12345" ,
"paidAmount": "1.00"
}
支付失败
{
"message": "paymentFailed",
"transactionReference": "txn_12345",
"paidAmount": "0.00"
}
更多关于Flutter未知功能插件chapasdk的潜在使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter未知功能插件chapasdk的潜在使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
针对你提到的Flutter未知功能插件chapasdk
,虽然无法确切知道其具体功能和实现细节(因为这不是一个广为人知的插件),但我可以展示一个典型的Flutter插件使用案例,这样你可以根据这个框架去探索和尝试chapasdk
插件的潜在使用。
通常,Flutter插件的使用包括以下几个步骤:
-
在
pubspec.yaml
文件中添加依赖: 首先,你需要在你的Flutter项目的pubspec.yaml
文件中添加对该插件的依赖。如果chapasdk
是一个有效的Flutter插件,你应该能够在这里找到它的依赖项并添加。dependencies: flutter: sdk: flutter chapasdk: ^x.y.z # 假设这是插件的版本号,你需要替换为实际的版本号
-
导入插件: 在你的Dart文件中,你需要导入该插件以便使用它。
import 'package:chapasdk/chapasdk.dart';
-
初始化插件并调用其功能: 根据插件的文档,你需要初始化插件并调用其提供的功能。下面是一个假设性的示例,展示了如何初始化一个名为
ChapaSDK
的类(这个类名和功能是假设的,你需要根据chapasdk
的实际API进行调整)。void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('ChapaSDK Demo'), ), body: Center( child: ChapaSDKDemo(), ), ), ); } } class ChapaSDKDemo extends StatefulWidget { @override _ChapaSDKDemoState createState() => _ChapaSDKDemoState(); } class _ChapaSDKDemoState extends State<ChapaSDKDemo> { String result = ''; @override void initState() { super.initState(); _initializeChapaSDK(); } void _initializeChapaSDK() async { try { // 假设ChapaSDK有一个名为initialize的方法 await ChapaSDK.initialize(); setState(() { result = 'ChapaSDK initialized successfully!'; }); // 调用插件的某个功能,比如获取数据 var data = await ChapaSDK.fetchSomeData(); setState(() { result = 'Data fetched: $data'; }); } catch (e) { setState(() { result = 'Failed to initialize ChapaSDK: ${e.message}'; }); } } @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text(result), ], ); } }
在这个示例中,我们创建了一个简单的Flutter应用,该应用在启动时尝试初始化ChapaSDK
插件,并调用其某个假设的fetchSomeData
方法来获取数据。结果会显示在应用的中心位置。
注意:
- 实际的
chapasdk
插件可能具有不同的初始化方法和功能,你需要参考其官方文档或源代码来了解具体的API。 - 如果
chapasdk
是一个私有或未公开的插件,你可能需要联系插件的开发者或维护者来获取更多信息和支持。 - 在使用任何第三方插件时,确保检查其安全性和隐私政策,特别是在处理敏感数据时。