bmatovu/laravel-mtn-momo

Laravel MTN MOMO 集成。

v4.3.1 2024-01-18 11:25 UTC

README

Total Downloads Latest Stable Version License Code Quality Code Coverage Tests Documentation

简介

此包可以帮助您将 MTN MOMO API 集成到您的 Laravel 应用程序中。它提供了对 MTN MOMO API 核心服务的包装,让您可以专注于应用程序的其他部分。

安装

要开始使用,请通过 Composer 包管理器安装此包

配置自定义

如果您想自定义默认配置,可以使用以下方法导出默认配置

php artisan vendor:publish --provider="Bmatovu\MtnMomo\MtnMomoServiceProvider" --tag="config"

数据库迁移

包服务提供程序向框架注册它自己的数据库迁移,因此您应该在安装后迁移数据库。迁移将创建一个用于存储从 MTN MOMO API 获取的访问令牌的表。

php artisan migrate

先决条件

您需要以下内容才能开始集成...

  1. 在 MTN MOMO 创建一个 开发者账户
  2. 订阅您希望使用的 产品/服务

如果您已经订阅了产品,订阅密钥可以在您的 个人资料 中找到。

开始使用(沙箱环境)

注册您的客户端详细信息。

php artisan mtn-momo:init

接下来,您需要注册您的客户端应用程序 ID。

php artisan mtn-momo:register-id

您可能想在这一阶段验证您的客户端 ID。

php artisan mtn-momo:validate-id

然后请求客户端密钥(密钥)。

php artisan mtn-momo:request-secret

使用方法

use Bmatovu\MtnMomo\Products\Collection;

$collection = new Collection();

$referenceId = $collection->requestToPay('yourTransactionId', '46733123454', 100);

查看 测试号码

异常处理

use Bmatovu\MtnMomo\Products\Collection;
use Bmatovu\MtnMomo\Exceptions\CollectionRequestException;

try {
    $collection = new Collection();
    
    $referenceId = $collection->requestToPay('yourTransactionId', '46733123453', 100);
} catch(CollectionRequestException $e) {
    do {
        printf("\n\r%s:%d %s (%d) [%s]\n\r", 
            $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
    } while($e = $e->getPrevious());
}

可用方法

收集

  1. 收集资金

    $collection->requestToPay($yourTransactionId, $partyId, $amount)
  2. 检查交易状态

    $collection->getTransactionStatus($referenceId)
  3. 检查账户余额

    $collection->getAccountBalance()
  4. 检查账户状态

    $collection->isActive($partyId)
  5. 获取 OAuth 令牌

    $collection->getToken()
  6. 获取账户持有人信息

    $collection->getAccountHolderBasicInfo($partyId)

支付

  1. 支付资金

    $disbursement->transfer($yourTransactionId, $partyId, $amount)
  2. 检查交易状态

    $disbursement->getTransactionStatus($referenceId)
  3. 检查账户余额

    $disbursement->getAccountBalance()
  4. 检查账户状态

    $disbursement->isActive($partyId)
  5. 获取 OAuth 令牌

    $disbursement->getToken()
  6. 获取账户持有人信息

    $disbursement->getAccountHolderBasicInfo($partyId)

汇款

  1. 汇款资金

    $remittance->transfer($yourTransactionId, $partyId, $amount)
  2. 检查交易状态

    $remittance->getTransactionStatus($referenceId)
  3. 检查账户余额

    $remittance->getAccountBalance()
  4. 检查账户状态

    $remittance->isActive($partyId)
  5. 获取 OAuth 令牌

    $remittance->getToken()
  6. 获取账户持有人信息

    $remittance->getAccountHolderBasicInfo($partyId)

上线

在上线之前,您需要更改一些设置。 更多信息

支持组

加入 MTN 的 Skype & WhatsApp 支持组。 这里

报告错误

如果您遇到了错误,请尽可能多地提供有关错误的信息,例如。

  • 重现步骤
  • 预期结果
  • 实际结果

这将帮助我们尽快修复错误,如果您想自己修复它,请随时 分支包 并提交一个拉取请求!