Flutter插件zakah的介绍与使用

Flutter插件zakah的介绍与使用

Zakah

Zakah 是一个用于 Safaricom 的 M-Pesa API 的客户端库。它的名字来源于肯尼亚嘻哈艺术家 Zakah。它允许你与 Safaricom M-Pesa API 集成。

它目前仍在开发中,API 可能在一段时间内保持不稳定。

M-Pesa 是由 Safaricom(肯尼亚最大的移动网络运营商)运营的一种基于手机的转账、融资和微型融资服务。它已经扩展到其他国家。M-Pesa 允许用户通过移动设备轻松存取款、转账以及支付商品和服务。- 维基百科


安装

在你的 pubspec.yaml 文件中添加以下内容:

dependencies:
  zakah: <1.0.0

然后运行以下命令:

pub get

或者在 Flutter 项目中运行:

flutter packages get

现在可以在 Dart 代码中导入:

import 'package:zakah/zakah.dart';

该库也可以在 Pub 包管理仓库 中找到。


使用

以下是一个完整的示例代码,展示如何使用 zakah 插件进行 B2C 支付操作:

import 'dart:async';
import 'package:zakah/zakah.dart' as zakah;

Future<void> main() async {
  // 初始化 M-Pesa 实例,传入 Consumer Key 和 Consumer Secret
  var m = zakah.Mpesa('ConsumerKey', 'ConsumerSecret');

  // 调用 b2c 方法进行业务支付
  Map b2cResult = await m.b2c(
      "apitest390", // Initiator Name
      "SecurityCredential", // Security Credential
      zakah.CommandID["BusinessPayment"], // Command ID
      300, // Amount
      "601390", // Party A (发起方)
      "254708374149", // Party B (接收方)
      "some remaks", // Remarks
      Uri.parse("https://www.google.com"), // Queue Time Out URL
      Uri.parse("https://www.google.com"), // Result URL
      occasion: "some occasion"); // Occasion

  // 打印最终结果
  print("final b2cResult::");
  print(b2cResult);
}

特性

  • TODO

开发环境搭建

以下是开发环境的设置步骤:

  1. 克隆并 Fork 本仓库
    在本地或 GitHub 上 fork 此仓库。

  2. 安装 Dart 2
    确保你已安装 Dart 2。

  3. 创建 Issue
    在此仓库中打开一个 Issue,并说明你想添加的功能及其原因。

  4. 修改代码
    在你的 Fork 中进行更改。

  5. 兼容性
    确保你的更改具有向后兼容性,除非无法实现。

  6. 添加测试
    为你的更改编写测试。

  7. 格式化代码
    使用 dartfmt 格式化代码:

    dartfmt --overwrite --profile --follow-links .
  8. 运行测试
    确保所有测试通过:

    pub run test .
  9. 提交 Pull Request
    在此仓库中提交 Pull Request。
    注意:我不会承诺接受所有 Pull Request。


示例代码

以下是完整的示例代码,可以直接运行以测试 zakah 插件的功能:

import 'dart:async';
import 'package:zakah/zakah.dart' as zakah;

Future<void> main() async {
  // 初始化 M-Pesa 实例
  var m = zakah.Mpesa('KNJH6N40cjL8saPjDmJxvcx1AyVywVzw', 'SQhQ4EeOXMTe96D5');

  // 调用 b2c 方法进行业务支付
  Map b2cResult = await m.b2c(
      "apitest390", // Initiator Name
      "c6x4tK+uZzTyRtn7vFG//ctViOSfiYCCYGQ4j+xvQfeOC/zbv9Iszr/c6niGtqHRyuLAgGKV0G6zzQtc0QcEIzH9c6fOG/JA03OS5RRFccHI3sCQ0ucVGuYD4FbxM1EMAMgj09C21WGouXiFPenF0wwxFPZLRs9JBFOXfLNPbaA8+03TrYnID1mFR+nDfDT5xOvuk1JWnkmTk9NJDOtT+Fn2dP1DBrMbIW0tmROkMsKm3zCV4QJmKbnr/Ds+/HyXyGmr3UOUU3t9jq973uJ/y6/8TukQmA4dkjXGy7agzAO4pPIYWScpiom3K/JY//Z5EdSUn1f4SYrwHiH8cTmjCw==", // Security Credential
      zakah.CommandID["BusinessPayment"]!, // Command ID
      300, // Amount
      "601390", // Party A (发起方)
      "254708374149", // Party B (接收方)
      "some remaks", // Remarks
      Uri.parse("https://www.google.com"), // Queue Time Out URL
      Uri.parse("https://www.google.com"), // Result URL
      occasion: "some occasion"); // Occasion

  // 打印最终结果
  print("final b2cResult::");
  print(b2cResult);
}
1 回复

更多关于Flutter插件zakah的介绍与使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中,zakah 并不是一个广为人知或官方支持的插件。如果你在某个项目或文档中遇到了这个插件,可能是某个开发者或团队自定义的插件,或者是某个特定领域的解决方案。为了帮助你更好地探索和使用这个插件,以下是一些步骤和建议:

1. 查找插件的来源

  • GitHub: 首先,尝试在GitHub上搜索 zakah,看看是否有相关的仓库。通常,Flutter插件会发布在GitHub上,并且会有详细的文档和使用说明。
  • Pub.dev: 检查 pub.dev 上是否有 zakah 插件。这是Flutter官方插件发布平台,大多数插件都会在这里发布。
  • 项目文档: 如果你是在某个项目中遇到这个插件,查看项目的文档或README文件,通常会有关于插件的使用说明。

2. 阅读插件的文档

  • 如果找到了插件的来源,仔细阅读其文档。文档通常会包含插件的安装方法、使用示例、API参考等信息。
  • 如果没有文档,可以查看插件的源代码,尝试理解其功能和使用方式。

3. 安装插件

  • 如果插件发布在 pub.dev 上,你可以通过在 pubspec.yaml 文件中添加依赖来安装插件:
    dependencies:
      zakah: ^1.0.0  # 替换为实际的版本号
  • 如果插件是本地开发的,你可能需要将插件的路径添加到 pubspec.yaml 中:
    dependencies:
      zakah:
        path: /path/to/zakah
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!