An open API service indexing awesome lists of open source software.

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

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