delakanda/mazzuma

Laravel 的 Mazzuma API 包装器

dev-master 2020-06-16 12:26 UTC

This package is auto-updated.

Last update: 2024-09-16 22:20:36 UTC


README

Mazzuma API 的 Laravel 首选集成。它也可以与其它 PHP 库以及纯 PHP 一起使用。

它提供了一个易于使用的接口,满足您所有 Mazzuma API 需求。

如何安装

安装非常简单,只需运行

$ composer require delakanda/mazzuma

对于 Laravel 用户

服务提供者设置

注意:如果您使用的是版本大于 '5.5' 的 Laravel,可以跳过此步骤

将以下内容添加到您的 'config/app.php' 文件中的 'providers' 数组部分

Delakanda\Mazzuma\MazzumaServiceProvider::class,

设置外观

注意:如果您使用的是版本大于 '5.5' 的 Laravel,可以跳过此步骤

将 Mazzuma 外观添加到您的 'config/app.php' 文件中的 'aliases' 数组部分

'Mazzuma' => Delakanda\Mazzuma\Facades\Mazzuma::class,

添加环境变量到您的 .env 文件

将以下内容添加到您的 .env 文件

MAZZUMA_API_KEY=xxxxxxxxxxxxx

使用方法

Mazzuma 移动货币

要执行移动货币交易,简单地将 Mazzuma 实例“make”出来,并在实例上调用 "mobileMoney()" 函数。这将返回一个移动货币实例,您可以在执行交易调用之前设置适当的属性。

使用方法如下

对于 Laravel 用户

<?php

use Delakanda\Mazzuma\Mazzuma;

$mobileMoney = Mazzuma::make()->mobileMoney()
  ->price(200)
  ->network("mtn")
  ->recipientNumber("0244000000")
  ->sender("0245000000")
  ->option("rmtm")
  ->orderId("10000010") // Optional 
  ->token("200394903"); // Required ONLY for VODAFONE transactions

// Initiate MoMo Transaction
$transactionResult = $mobileMoney->initiateTransaction();

// To Check status of the mobile money transaction
$transactionStatus = $mobileMoney->checkTransactionStatus();

您还可以通过 mazzuma 外观访问 Mazzuma 对象

<?php

use Delakanda\Mazzuma\Facades\Mazzuma;

$mobileMoney = Mazzuma::mobileMoney()
  ->price(200)
  ->network("mtn")
  ->recipientNumber("0244000000")
  ->sender("0245000000")
  ->option("rmtm")
  ->orderId("10000010") // Optional 
  ->token("200394903"); // Required ONLY for VODAFONE transactions

// Initiate MoMo Transaction
$transactionResult = $mobileMoney->initiateTransaction();

// To Check status of the mobile money transaction
$transactionStatus = $mobileMoney->checkTransactionStatus();

对于纯 PHP 和其他框架

<?php

// Required for vanilla PHP, Laravel and other frameworks may handle this already
require_once __DIR__ . '/vendor/autoload.php';

use Delakanda\Mazzuma\Config\Config;
use Delakanda\Mazzuma\Mazzuma;

$apiKey = 'xxxxxxxxx';
$configuration = new Config($apiKey);

$mobileMoney = Mazzuma::make($configuration)->mobileMoney()
  ->price(200)
  ->network("mtn")
  ->recipientNumber("0244000000")
  ->sender("0245000000")
  ->option("rmtm")
  ->orderId("10000010") // Optional 
  ->token("200394903"); // Required ONLY for VODAFONE transactions

// Initiate MoMo Transaction
$transactionResult = $mobileMoney->initiateTransaction();

// To Check status of the mobile money transaction
$transactionStatus = $mobileMoney->checkTransactionStatus();

注意:上述代码的响应是 JSON 格式,包含从 Mazzuma API 收到的适当的 HTTP 状态码

MAZ Token API

要执行 MAZ Token API 交易,过程与移动货币示例非常相似。只需将 Mazzuma 实例“make”出来,并在实例上调用 "mazzumaToken() 函数。

以下是一个使用示例

发送 Mazzuma 代币

<?php

use Delakanda\Mazzuma\Mazzuma;

$sendMazzumaToken = Mazzuma::make()->mazzumaToken()
  ->price(200) // The amount to be sent
  ->recipient('delakanda') // This is the unique username of the recipient of the transaction.
  ->sender('dkanda') // This is the unique username of the sender of the transaction.
  ->sendToken();

接收 Mazzuma 代币

<?php

use Delakanda\Mazzuma\Mazzuma;

$receiveMazzumaToken = Mazzuma::make()->mazzumaToken()
  ->sender('delakanda') // The account making the payment
  ->callback_url('https://your-callback-url.com/path') // Your callback URL
  ->receiveToken();

检查交易状态

<?php

use Delakanda\Mazzuma\Mazzuma;

$transactionStatus = Mazzuma::make()->mazzumaToken()
  ->transactionHash('d5b3ea3a7565383d6124f5ba1eeec0be') // The hash of the transaction you want to check.
  ->checkTransactionStatus();

获取账户余额

<?php

use Delakanda\Mazzuma\Mazzuma;

$accountBalance = Mazzuma::make()->mazzumaToken()
  ->getAccountBalance();

验证账户

<?php

use Delakanda\Mazzuma\Mazzuma;

$accountValidationStatus = Mazzuma::make()->mazzumaToken()
  ->username("delakanda")
  ->validateAccount();

注意:对于上面的 Mazzuma token API 示例,如果您不使用 Laravel,必须创建一个 config 实例,并将其传递给 Mazzuma 类的 "make" 函数。请参阅移动货币部分的使用示例。