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.messageCodemessageCode.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

1 回复

更多关于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 插件的步骤

  1. 添加依赖项: 首先,你需要在 pubspec.yaml 文件中添加 coopbank_pesalink 插件的依赖项。

    dependencies:
      flutter:
        sdk: flutter
      coopbank_pesalink: ^1.0.0  # 请使用最新版本
    
  2. 导入插件: 在你的 Dart 文件中导入 coopbank_pesalink 插件。

    import 'package:coopbank_pesalink/coopbank_pesalink.dart';
    
  3. 初始化插件: 在使用插件之前,你需要初始化它。通常你需要提供一些配置参数,例如 API 密钥、API URL 等。

    final pesalink = CoopBankPesaLink(
      apiKey: 'your_api_key',
      apiUrl: 'https://api.co-opbank.co.ke/pesalink',
      // 其他配置参数
    );
    
  4. 发起交易: 使用 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}');
    }
    
  5. 处理响应: 根据交易的结果,你可以显示相应的消息给用户,或者进行其他逻辑处理。

示例代码

以下是一个完整的示例代码,展示了如何使用 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'),
          ),
        ),
      ),
    );
  }
}
回到顶部