该包最新版本(1.01)没有提供许可证信息。

MTN MOMO API 实现

1.01 2019-12-09 13:15 UTC

This package is auto-updated.

Last update: 2024-09-10 00:07:20 UTC


README

Momo 是一个简单的 PHP 库,用于 MTN 移动货币开放 API。

产品支持

  • 收藏
  • 支付
  • 汇款

入门指南

  • 注册账户
  • 订阅产品

注册账户

点击此链接访问开发者门户并 注册 账户。

订阅产品

在开发者门户的 产品 页面上,您应该可以看到可以订阅的项目

  • 收藏
  • 支付
  • 汇款

安装

建议通过 composer 安装 Momo。

只需为您的项目创建一个 composer.json 文件并要求它

composer require fannypack/momo

现在您可以添加自动加载器,并将能够访问库

<?php
require 'vendor/autoload.php';

使用方法

创建产品实例

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

$options = [
    // 'callbackHost' => '', //(optional) default is https://:8000
    // 'callbackUrl' => '', //(optional) default is https://:8000/callback
    // 'environment' => '', //(optional) default is sandbox
    // 'accountHolderIdType' => '', //(optional) default is msisdn
    'subscriptionKey' => '', //Product Subscription key
    'xReferenceId' => '', //Api user reference id (in UUID format)
    'apiKey' => '', // Api user key (Supply this after generating it at 'Create API Key')
    //'preApproval' => '', //(optional) default is false
    //'accessToken' => '' //Required for transactions
];

// Using collection
$collection = Collection::create($options);

// Using disbursement
$disbursement = Disbursement::create($options);

// Using remittance
$remittance = Remittance::create($options);

沙盒用户配置

创建 API 用户

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$product->createApiUser(); //{"statusCode": 201}

获取 API 用户详细信息

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$apiUser = $product->getApiUser();
$apiUser->getProviderCallbackHost(); //https://:8000
$apiUser->getTargetEnvironment(); //sandbox

创建 API 密钥

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$apiKey = $product->createApiKey();
$apiKey->getApiKey(); //apiKey

Oauth 2.0

获取令牌

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$token = $product->getToken();
$token->getAccessToken(); //accessToken
$token->getTokenType(); //tokenType
$token->getExpiresIn(); //expiry in seconds

交易

获取账户余额

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$balance = $product->getAccountBalance();
$balance->getAvailableBalance(); //accountBalance
$balance->getCurrency(); //currency

获取账户持有者状态

<?php
use FannyPack\Momo\Products\Collection;
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using collection
$product = Collection::create($options);

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$product->getAccountHolderInfo($accountHolderId); //{"statusCode": 201}

收藏

支付请求

<?php
use FannyPack\Momo\Products\Collection;

// Using collection
$product = Collection::create($options);

$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); // {"statusCode": 200, "financialTransactionId": "8f3077a6-ce43-4584-a425-589c50cfcbe4"}

支付请求状态

<?php
use FannyPack\Momo\Products\Collection;

// Using collection
$product = Collection::create($options);

$transactionStatus = $product->getRequestToPayStatus($financialTransactionId);
$transactionStatus->getAmount(); //amount
$transactionStatus->getCurrency(); //currency
$transactionStatus->getExternalId(); //externalId
$transactionStatus->getPayer(); //payer object
$transactionStatus->getStatus(); //status

支付和汇款

转账

<?php
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$product->transfer($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = '');// {"statusCode": 200, "financialTransactionId": "8f3077a6-ce43-4584-a425-589c50cfcbe4"}

转账状态

<?php
use FannyPack\Momo\Products\Disbursement;
use FannyPack\Momo\Products\Remittance;

// Using disbursement
$product = Disbursement::create($options);

// Using remittance
$product = Remittance::create($options);

$transactionStatus = $product->transferStatus($financialTransactionId);
$transactionStatus->getAmount(); //amount
$transactionStatus->getCurrency(); //currency
$transactionStatus->getExternalId(); //externalId
$transactionStatus->getPayer(); //payer object
$transactionStatus->getStatus(); //status

错误

对于发现的任何错误,请通过 andrewmvp007@gmail.com 发送电子邮件或注册 问题