Des fonctions simples d'utilisation en PHP pour l'intégration de l'API MoMo de MTN Bénin
Ce projet est une implémentation PHP pour interagir avec l'API MoMo Developer de MTN. Il permet de :
- Créer un utilisateur API.
- Générer une clé API pour cet utilisateur.
- Obtenir un token d'accès.
- Effectuer une demande de paiement.
- Vérifier le solde d'un compte.
- Vérifier le statut d'une transaction.
- PHP : Version 7.4 ou supérieure.
- Composer : Utilisé pour inclure les dépendances comme
ramsey/uuid. - Clé d'abonnement MTN : Vous devez disposer d'une clé d'abonnement valide pour le sandbox de MTN MoMo Developer.
- Accès Internet : Nécessaire pour effectuer les appels API.
- Serveur Web : Un serveur capable d'exécuter des scripts PHP (Apache, Nginx, etc.).
- Clonez ce dépôt ou copiez le code :
git clone https://github.com/SixteNow/api-mtn-benin.git
- Installez les dépendances :
composer install
- Créez un fichier de configuration
.env(si applicable) pour stocker vos clés sensibles, comme votreOcp-Apim-Subscription-Key.
Assurez-vous de remplacer les valeurs par défaut dans le script PHP par vos propres clés et identifiants :
$subscriptionKey: Votre clé d'abonnement.providerCallbackHost: L'URL de votre serveur pour recevoir les callbacks (ex. :http://example.com/callback).
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/v1_0/apiuseravec uneX-Reference-Idunique. - L'utilisateur sera créé et vous recevrez une réponse avec le statut HTTP.
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/{X-Reference-Id}/apikeypour générer une clé API associée à l'utilisateur créé. - Cette clé sera utilisée pour obtenir un token d'accès.
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/collection/token/avec les identifiants de l'utilisateur (UUID et clé API). - Vous recevrez un
access_token.
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopayen passant les détails de la transaction (montant, devise, numéro de téléphone du payeur, etc.). - Vous recevrez une confirmation si la demande a été acceptée.
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/collection/v1_0/account/balanceavec le token d'accès pour vérifier le solde.
- Appelez l'API
https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopay/{X-Reference-Id}pour connaître le statut d'une transaction.
- Sandbox uniquement : Ce script est configuré pour le mode sandbox. En production, remplacez
sandboxparmtnbenindans les URLs. - SSL : Pour le sandbox, la vérification SSL est désactivée (
CURLOPT_SSL_VERIFYPEER = false). En production, assurez-vous d'activer cette vérification. - UUID : Utilisez des identifiants uniques pour chaque demande.
Lancez le script PHP via un navigateur ou en ligne de commande :
php api_mtn.phpLe script affichera les réponses des différentes étapes sous forme JSON ou en texte brut. Vous pourrez ensuite utiliser ces différentes réponses sans problème
ramsey/uuid: Pour générer des UUID uniques.