foris-master/mtn-mobile-money-sdk

这是一个用于MTN运营商移动货币API的PHP SDK。

0.2.0 2023-07-14 13:41 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:56:57 UTC


README

MTN MNO移动货币API的PHP SDK

注意: mtn-mobile-money-sdk.

这是一个用于mtn运营商移动货币API的PHP SDK。

安装

通过Composer

$ composer require foris-master/mtn-mobile-money-sdk

全局配置

  • MOMO_CURRENCY 设置货币值 : EUR

  • MOMO_SDK_ENV 配置SDK环境的值 : sandbox或prod

  • MOMO_ENV 变量以指定应用程序环境 : mtncameroon

  • MOMO_CALLBACK_HOST 设置MTN API通知的回调主机 : https://example.com

  • MOMO_CALLBACK_URL MTN API通知的回调URL : https://myawesome.callback.com

  • 环境变量(如果使用dotenv,则为 .env 文件)

快速使用

use Foris\MoMoSdk\Disbursement;
use Foris\MoMoSdk\Collection;

        putenv('MOMO_CALLBACK_URL=https://myawesome.callback.com');
        putenv('MOMO_CALLBACK_HOST=azz.com');
        putenv('MOMO_ENV=mtncameroon');
        putenv('MOMO_SDK_ENV=prod');
        putenv('MOMO_CURRENCY=XAF');


Exemple  Disbursement
$disbursement = new Disbursement();
$disbursement->getAccessToken();
$disbursement->transfer(100, '0123456789');
$transferData = $disbursement->transfer(100, '0123456789');
$transactionData = $disbursement->getTransaction('transaction_id');
$balance = $disbursement->getBalance();
$accountValidation = $disbursement->isAccountValid('0123456789');

Exemple  Collection
$collection = new Collection();
$collection->getAccessToken();
$collection->requestToPay(100, '0123456789');
$collection-> getTransaction($id);
$collection->getBalance();
$collection->isAccountValid("0123456789")

配置发放

发放用于从提供商账户向客户转账资金 了解更多关于Momo发放的信息

  • MOMO_DISBURSEMENT_PRIMARY_KEY 在开发者门户上的发放产品主键 : 您的主键
  • MOMO_DISBURSEMENT_API_USER 发放API的用户 : 您的应用用户
  • MOMO_DISBURSEMENT_APP_KEY 发放产品的应用程序密钥 : 您的应用密钥

发放使用

  • 获取令牌

getAccessToken() 此方法允许您获取访问令牌以执行发放操作。

use Foris\MoMoSdk\Disbursement;

$disbursement = new Disbursement();
$accessToken = $disbursement->getAccessToken();
  • 转账

transfer($amount, $tel, $options = array()) 此方法允许您进行资金转账。

use Foris\MoMoSdk\Disbursement;

$disbursement = new Disbursement();
$transferData = $disbursement->transfer(100, '0123456789');
  • 获取交易

getTransaction('transaction_id') 此方法允许您检索发放交易的详细信息。

use Foris\MoMoSdk\Disbursement;

$disbursement = new Disbursement();
$transactionData = $disbursement->getTransaction('transaction_id');
  • 获取余额

getBalance() 此方法允许您获取发放账户的余额。

use Foris\MoMoSdk\Disbursement;

$disbursement = new Disbursement();
$balance = $disbursement->getBalance();
  • 检查账户有效性

isAccountValid('0123456789') 此方法允许您检查电话号码是否与有效账户相关联。

use Foris\MoMoSdk\Disbursement;

$disbursement = new Disbursement();
$accountValidation = $disbursement->isAccountValid('0123456789');

配置收集

收集用于请求客户付款并检查交易状态 了解更多关于Momo收集的信息

  • MOMO_COLLECTION_PRIMARY_KEY 在开发者门户上的收集产品主键 : 您的主键
  • MOMO_COLLECTION_API_USER 收集API的用户 : 您的应用用户
  • MOMO_COLLECTION_APP_KEY 收集产品的应用程序密钥 : 您的应用密钥

收集使用

收集用于请求客户付款并检查交易状态。

  • 获取令牌

getAccessToken() 此方法允许您获取访问令牌以执行收集操作。

use Foris\MoMoSdk\Collection;

$collection = new Collection();
$accessToken = $collection->getAccessToken();
  • 请求付款

requestToPay(100, '0123456789') 此方法启动对指定电话号码的特定金额的付款请求

use Foris\MoMoSdk\CollectionCollection;

$collection = new CollectionCollection();
$requesPay = $collection->requestToPay(100, '0123456789');
  • 获取交易

getTransaction($id) 此方法允许您检索交易的详细信息。

use Foris\MoMoSdk\CollectionCollection;

$collection = new CollectionCollection();
$showTransaction = $collection->getTransaction($id);
  • 获取余额 getBalance() 获取收集账户的余额
use Foris\MoMoSdk\CollectionCollection;

$collection = new CollectionCollection();
$balance = $collection->getBalance();
  • 检查账户有效性 isAccountValid() 检查给定的电话号码是否与有效的收集账户相关联
use Foris\MoMoSdk\Collection;

$collection = new Collection();
$accountValidation = $collection->isAccountValid('0123456789');

注意

状态可以取以下值之一:INITIATED;PENDING;EXPIRED;SUCCESS;FAILED

  • INITIATED 等待用户输入
  • 待处理:用户已点击“确认”,交易正在Mtn侧进行
  • 已过期:用户点击“确认”太晚(在令牌有效期之后)
  • 成功:付款已完成
  • 失败:付款失败

生产

  For production your need to set your target country code in COUNTRY enviroment variable ( .env file if using dotenv)
  example:  COUNTRY = mtncameroon

测试

$ vendor/bin/phpunit

贡献

请参阅贡献指南以获取详细信息。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。