kouyatekarim/momoapi

一个用于集成MTN Mobile Money API的简单PHP包

v1.0 2020-12-15 22:41 UTC

This package is auto-updated.

Last update: 2024-09-08 21:22:56 UTC


README

Momo包:一个用于集成MTN Mobile Money API的简单PHP包。

支持的产品

  • 集合
  • 支付(尚未提供)

首先

  • 在momodeveloper注册或获取momoapi(prod)访问权限
  • 订阅产品集合

注册

请点击此链接 注册

订阅产品

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

  • 集合
  • 支付
  • 汇款

安装

安装PackageMomo推荐的方法是 composer

composer require kouyatekarim/momoapi

现在您可以添加自动加载器,您将能够访问库:如果是PHP原生项目,请务必将其放在最上面

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

始终在最上面

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

对于使用框架的项目,不需要require 'vendor/autoload'命令

使用

创建产品实例

如果您使用的是 LARAVEL,请首先在[]'vendor/kouyatekarim/momoapi/src/products/product.php'文件的第17行将realpath改为base_path,以及在[]'vendor/kouyatekarim/momoapi/src/traits/SandboxUserProvisioning.php'文件中。

如果您使用的是PHP原生,可以保持原样。

如果您使用的是其他PHP框架,如果出现路径错误,请检查这两个文件[]'vendor/kouyatekarim/momoapi/src/traits/SandboxUserProvisioning.php',[]'vendor/kouyatekarim/momoapi/src/products/product.php'。

<?php
use Kouyatekarim\Momoapi\Products\Collection;


$options = [
    // 'callbackHost' => '', //(optionel)  https://:8000 est par defaut
    // 'callbackUrl' => '', //(optionel)  https://:8000/callback est par defaut
    // 'environment' => '', //(optionel) sandbox est par defaut
    // 'accountHolderIdType' => '', //(optionel)  msisdn est par defaut
    'subscriptionKey' => '', //la clée produit de souscription
    'xReferenceId' => '', //Api user  (en  format UUID )
    'apiKey' => '', // Api key (obtenu après l'avoir généré à 'Créer une clé API')
   
    //'accessToken' => '' //obligatoire pour requestopay
];

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

沙箱用户配置

创建API用户

<?php
use Kouyatekarim\Momoapi\Products\Collection;


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

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

echo $response

获取API用户详情

<?php
use Kouyatekarim\Momoapi\Products\Collection;


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



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

创建API密钥

<?php
use Kouyatekarim\Momoapi\Products\Collection;


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


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

Oauth 2.0

获取令牌(令牌)

<?php
use Kouyatekarim\Momoapi\Products\Collection;


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



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

交易

集合

支付请求

<?php
use Kouyatekarim\Momoapi\Products\Collection;

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

$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); // *

完整示例

测试(沙箱)完整示例

<?php
require 'vendor/autoload.php'; // à enlever si vous travailler avec un framework
use Kouyatekarim\Momoapi\Products\Collection;

$xReferenceId = "afd59405-1bbe-4928-99d2-0c7060956358"; // à générer sur le site [UUID](https://www.uuidgenerator.net/).
$options = [
     'callbackHost' => 'clinic.com', 
    // 'callbackUrl' => '', 
    //'environment' => '', 
    // 'accountHolderIdType' => '', 
    'subscriptionKey' => '<votre_primary_key>', 
    'xReferenceId' =>  $xReferenceId, 
 

];



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

$product->createApiUser(); 
$apiUser = $product->getApiUser();
echo $apiUser->getProviderCallbackHost(); //clinic.com
echo '</br>';
echo $apiUser->getTargetEnvironment(); //sandbox
echo '</br>';



$apiKey = $product->createApiKey();


echo $apiKey->getApiKey();






$options = [
    // 'callbackHost' => '', //(optional)
    // 'callbackUrl' => '', //(optional) 
    //'environment' => 'mtnivorycoast', 
    // 'accountHolderIdType' => '', 
    'subscriptionKey' => '<votre_primary_key>', 
    'xReferenceId' => $xReferenceId, //
    'apiKey' => $apiKey->getApiKey(), //  
   
];





$product = Collection::create($options);


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




$options = [
    // 'callbackHost' => '', 
    // 'callbackUrl' => '', 
    //'environment' => '', 
    // 'accountHolderIdType' => '', 
    'subscriptionKey' => '', 
    'xReferenceId' =>$xReferenceId, 
    'apiKey' => $apiKey->getApiKey(), 
    'accessToken' => $token 
];


$product = Collection::create($options);

$externalId ="12345";
$partyId = '<un_numero_mtn_mobile_money>'; //numero sans l'indicateur du pays
$amount = 10;
$currency = "EUR";
$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); 

生产环境完整示例

<?php
require 'vendor/autoload.php'; // à enlever si vous travailler avec un framework
use Kouyatekarim\Momoapi\Products\Collection;


$options = [
     'callbackHost' => '<nom_de_domaine>', 
    'callbackUrl' => '<nom_de_domaine>/callback', 
    'environment' => 'mtnivorycoast', //pour la côte d'ivoire
    // 'accountHolderIdType' => '', 
    'subscriptionKey' => '<votre_primary_key_prod>', 
    'xReferenceId' =>  '<votre_api_user>', //Api user obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner/).
    'apiKey' => '<votre_api_user>', // Api  key obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner

];









$product = Collection::create($options);


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




$options = [
     'callbackHost' => '<nom_de_domaine>', 
    'callbackUrl' => '<nom_de_domaine>/callback', 
    'environment' => 'mtnivorycoast', //pour la côte d'ivoire
    // 'accountHolderIdType' => '', 
    'subscriptionKey' => '<votre_primary_key_prod>', 
    'xReferenceId' =>  '<votre_api_user>', //Api user obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner/).
    'apiKey' => '<votre_api_user>', // Api  key obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner
    'accessToken' =>  $token  ,//obligatoire

];


$product = Collection::create($options);

$externalId ="12345";
$partyId = '<votre_numero_mobile_money>'; //numero sans l'indicateur du pays
$amount = 10;
$currency = "XOF";
$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); 

错误

对于发现的任何错误,请通过kouyatekarim02@gmail.com发送电子邮件给我