Flutter银行交易插件coopbank_pesalink的使用
Flutter银行交易插件coopbank_pesalink的使用
此插件包含了一些方法,可以轻松地消费Co-op Bank Pesalink API。它支持多平台,包括命令行界面(CLI)、服务器、移动设备、桌面和浏览器。
使用
创建一个CoopPesalink
实例,然后使用它的方法来消费API。
import 'package:coopbank_pesalink/coopbank_pesalink.dart';
void main() async {
String accessToken() {
return 'your token';
}
var coopPesalink = CoopPesalink(baseAccountNo: '36001873000');
// Pesalink转账
BankReponse bankReponse = await coopPesalink.pesaLink(
referenceNumber: 'bcsjsgcjscjbsdjbvdvjrdfi',
accountNumber: '{accountNumber}',
bankCode: '{bankCode}',
amount: 50,
callBackUrl: '{callBackUrl}',
transactionDescription: '{transactionDescription}',
accessToken: accessToken()
);
print(bankReponse.rawResponceBody);
// 获取最近10笔交易
BankReponse bankReponseTransactions = await coopPesalink.trancations(
referenceNumber: 'bcsjsgcjscjbsdjbvdvjrdfi',
noOfTransactions: 10,
accessToken: accessToken()
);
print(bankReponseTransactions.rawResponceBody); // 打印整个响应体
print(bankReponseTransactions.transactions); // 打印交易列表 [List<BankTransactionModel>]
}
API 响应状态码
API 响应有一个消息代码,表示请求的状态;
bankReponse.messageCode
或messageCode.rawResponceBody['MessageCode']
代码 | 描述 |
---|---|
0 | 完全成功 |
1 | 部分成功 |
2 | 完全失败 |
-1 | 消息引用重复 |
-2 | 参数无效或缺失 |
-3 | 金额必须为正数 |
-4 | 请求超时 |
-5 | 借方和贷方金额不平衡 |
-6 | 金额小于/大于最小/最大限制允许或日期格式 |
-8 | 账户授权失败 |
-9 | 货币无效或不允许 |
-10 | 银行代码无效或不是Pesalink成员银行 |
-11 | 消息引用超过允许长度 |
-12 | 重复/相同的引用 |
-13 | 消息引用不存在 |
-15 | 账户号码无效 |
-16 | 日常限额用尽 |
示例代码
以下是完整的示例代码:
import 'package:coopbank_pesalink/coopbank_pesalink.dart';
void main() async {
String accessToken() {
return 'your token';
}
var coopPesalink = CoopPesalink(baseAccountNo: '36001873000');
// Pesalink转账
BankReponse bankReponse = await coopPesalink.pesaLink(
referenceNumber: 'bcsjsgcjscjbsdjbvdvjrdfi',
accountNumber: '{accountNumber}',
bankCode: '{bankCode}',
amount: 50,
callBackUrl: '{callBackUrl}',
transactionDescription: '{transactionDescription}',
accessToken: accessToken());
print(bankReponse.rawResponceBody);
// 获取最近10笔交易
BankReponse bankReponseTransactions = await coopPesalink.trancations(
referenceNumber: 'bcsjsgcjscjbsdjbvdvjrdfi',
noOfTransactions: 10,
accessToken: accessToken());
print(
bankReponseTransactions.rawResponceBody); // 打印整个响应体
print(bankReponseTransactions
.transactions); // 打印交易列表 [List<BankTransactionModel>]
}
更多关于Flutter银行交易插件coopbank_pesalink的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter银行交易插件coopbank_pesalink的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
coopbank_pesalink
是一个 Flutter 插件,用于与 Co-op Bank Kenya 的 PesaLink 服务进行集成,允许开发者通过他们的应用程序发起银行交易。PesaLink 是肯尼亚 Co-op Bank 提供的一项实时支付服务,允许用户在不同银行之间进行即时转账。
使用 coopbank_pesalink
插件的步骤
-
添加依赖项: 首先,你需要在
pubspec.yaml
文件中添加coopbank_pesalink
插件的依赖项。dependencies: flutter: sdk: flutter coopbank_pesalink: ^1.0.0 # 请使用最新版本
-
导入插件: 在你的 Dart 文件中导入
coopbank_pesalink
插件。import 'package:coopbank_pesalink/coopbank_pesalink.dart';
-
初始化插件: 在使用插件之前,你需要初始化它。通常你需要提供一些配置参数,例如 API 密钥、API URL 等。
final pesalink = CoopBankPesaLink( apiKey: 'your_api_key', apiUrl: 'https://api.co-opbank.co.ke/pesalink', // 其他配置参数 );
-
发起交易: 使用
pesalink
对象发起交易。通常你需要提供交易的详细信息,例如收款人账户、金额、参考号等。final response = await pesalink.sendMoney( senderAccountNumber: '1234567890', receiverAccountNumber: '0987654321', amount: 1000.0, referenceNumber: 'REF123456', narration: 'Payment for services', ); if (response.status == 'Success') { print('Transaction successful: ${response.transactionId}'); } else { print('Transaction failed: ${response.message}'); }
-
处理响应: 根据交易的结果,你可以显示相应的消息给用户,或者进行其他逻辑处理。
示例代码
以下是一个完整的示例代码,展示了如何使用 coopbank_pesalink
插件发起一笔交易:
import 'package:flutter/material.dart';
import 'package:coopbank_pesalink/coopbank_pesalink.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('PesaLink Transaction'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
final pesalink = CoopBankPesaLink(
apiKey: 'your_api_key',
apiUrl: 'https://api.co-opbank.co.ke/pesalink',
);
final response = await pesalink.sendMoney(
senderAccountNumber: '1234567890',
receiverAccountNumber: '0987654321',
amount: 1000.0,
referenceNumber: 'REF123456',
narration: 'Payment for services',
);
if (response.status == 'Success') {
print('Transaction successful: ${response.transactionId}');
} else {
print('Transaction failed: ${response.message}');
}
},
child: Text('Send Money'),
),
),
),
);
}
}