https://github.com/kkstar34/momoapi
Un package simple en php pour l'integration de l'api MTN Mobile Money
https://github.com/kkstar34/momoapi
mobilemoney momoapi mtn mtnapi package
Last synced: 5 months ago
JSON representation
Un package simple en php pour l'integration de l'api MTN Mobile Money
- Host: GitHub
- URL: https://github.com/kkstar34/momoapi
- Owner: kkstar34
- License: mit
- Created: 2020-12-15T17:20:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-02-08T13:10:15.000Z (over 5 years ago)
- Last Synced: 2025-09-20T01:52:14.887Z (8 months ago)
- Topics: mobilemoney, momoapi, mtn, mtnapi, package
- Language: PHP
- Homepage: https:kouyatekarim.ci
- Size: 134 KB
- Stars: 25
- Watchers: 2
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
## PackageMomo
PackageMomo Un package simple en php pour l'integration de l'api MTN Mobile Money.
## Produits supportés
* Collections
* Disbursements (pas encore disponible)
## Avant toute chose
* S'inscrire sur momodeveloper ou avoir des accès momoapi(prod)
* Souscrire aux produit de collection
## Pour s'inscrire
Veuillez cliquer sur ce lien [signup](https://momodeveloper.mtn.com/signup)
## Souscrire aux Produits
Sur la page [Products](https://momodeveloper.mtn.com/products) sur le portail des développeurs, vous devriez voir les éléments auxquels vous pouvez vous abonner:
* Collections
* Disbursements
* Remittances
## Installation
La méthode recommandée pour installer PackageMomo est [composer](http://getcomposer.org).
```TERMINAL
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
'', //(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);
```
### Sandbox User Provisioning
#### Créer API User
```php
createApiUser(); //{"statusCode": 201}
echo $response
```
#### Obtenir les details API User
```php
getApiUser();
echo $apiUser->getProviderCallbackHost(); //http://localhost:8000
echo '';
echo $apiUser->getTargetEnvironment(); //sandbox
```
#### Créer API Key
```php
createApiKey();
echo $apiKey->getApiKey(); //apiKey
```
### Oauth 2.0
#### Obtenir le token(jéton)
```php
getToken();
echo $token->getAccessToken(); //accessToken
echo '';
echo $token->getTokenType(); //tokenType
echo '';
echo $token->getExpiresIn(); //expiry in seconds
```
### Transactions
### Collections
#### Request to pay
```php
requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = ''); // *
```
### Exemple complet
#### Exemple complet de test(sandbox)
```php
'clinic.com',
// 'callbackUrl' => '',
//'environment' => '',
// 'accountHolderIdType' => '',
'subscriptionKey' => '',
'xReferenceId' => $xReferenceId,
];
// Avec collection
$product = Collection::create($options);
$product->createApiUser();
$apiUser = $product->getApiUser();
echo $apiUser->getProviderCallbackHost(); //clinic.com
echo '';
echo $apiUser->getTargetEnvironment(); //sandbox
echo '';
$apiKey = $product->createApiKey();
echo $apiKey->getApiKey();
$options = [
// 'callbackHost' => '', //(optional)
// 'callbackUrl' => '', //(optional)
//'environment' => 'mtnivorycoast',
// 'accountHolderIdType' => '',
'subscriptionKey' => '',
'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 = ''; //numero sans l'indicateur du pays
$amount = 10;
$currency = "EUR";
$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = '');
```
#### Exemple complet de production
```php
'',
'callbackUrl' => '/callback',
'environment' => 'mtnivorycoast', //pour la côte d'ivoire
// 'accountHolderIdType' => '',
'subscriptionKey' => '',
'xReferenceId' => '', //Api user obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner/).
'apiKey' => '', // 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' => '',
'callbackUrl' => '/callback',
'environment' => 'mtnivorycoast', //pour la côte d'ivoire
// 'accountHolderIdType' => '',
'subscriptionKey' => '',
'xReferenceId' => '', //Api user obtenu depuis le portail partner de MTN [Partner](https://partnermobilemoney.mtn.ci/partner/).
'apiKey' => '', // 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 = ''; //numero sans l'indicateur du pays
$amount = 10;
$currency = "XOF";
$product->requestToPay($externalId, $partyId, $amount, $currency, $payerMessage = '', $payeeNote = '');
```
### Bugs
Pour tout bug trouvé, veuillez m'envoyer un e-mail à kouyatekarim02@gmail.com