PackageMomo Un package simple en php pour l'integration de l'api MTN Mobile Money.
- Collections
 - Disbursements (pas encore disponible)
 
- S'inscrire sur momodeveloper ou avoir des accès momoapi(prod)
 - Souscrire aux produit de collection
 
Veuillez cliquer sur ce lien signup
Sur la page Products sur le portail des développeurs, vous devriez voir les éléments auxquels vous pouvez vous abonner:
- Collections
 - Disbursements
 - Remittances
 
La méthode recommandée pour installer PackageMomo est composer.
composer require kouyatekarim/momoapi
Vous pouvez maintenant ajouter l'autoloader et vous aurez accès à la bibliothèque: n'oublier surtout pas de mettre si c'est un projet en php natif
<?php
require 'vendor/autoload.php';toujours au dessus de tout
<?php
require 'vendor/autoload.php';pour un projet avec un framework require 'vendor/autoload' n'est pas à faire
Si vous travaillez avec LARAVEL allez y avant toute chose dans []'vendor/kouyatekarim/momoapi/src/products/product.php' changer à la ligne 17 realpath en base_path ainsi que dans []'vendor/kouyatekarim/momoapi/src/traits/SandboxUserProvisioning.php'.
Si vous travaillez avec du php natif vous pouvez laisser comme c'est.
si vous travaillez un autre framework php, si vous avez une erreur de path verifiez ces deux fichiers []'vendor/kouyatekarim/momoapi/src/traits/SandboxUserProvisioning.php', []'vendor/kouyatekarim/momoapi/src/products/product.php'.
<?php
use Kouyatekarim\Momoapi\Products\Collection;
$options = [
    // 'callbackHost' => '', //(optionel)  http://localhost:8000 est par defaut
    // 'callbackUrl' => '', //(optionel)  http://localhost: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);
<?php
use Kouyatekarim\Momoapi\Products\Collection;
// avec collection
$product = Collection::create($options);
$response = $product->createApiUser(); //{"statusCode": 201}
echo $response<?php
use Kouyatekarim\Momoapi\Products\Collection;
// Using collection
$product = Collection::create($options);
$apiUser = $product->getApiUser();
echo $apiUser->getProviderCallbackHost(); //http://localhost:8000
echo '</br>';
echo $apiUser->getTargetEnvironment(); //sandbox<?php
use Kouyatekarim\Momoapi\Products\Collection;
// Avec collection
$product = Collection::create($options);
$apiKey = $product->createApiKey();
echo $apiKey->getApiKey(); //apiKey<?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 = ''); 
Pour tout bug trouvé, veuillez m'envoyer un e-mail à kouyatekarim02@gmail.com