Ce projet vise à fournir un wrapper PHP facile à utiliser et à jour pour l'API M-Pesa Mozambique.
Version cible de l'API M-Pesa: V1X
Installer à l'aide du compositeur:
composer require abdulmueid/mpesa
Chargez la configuration à partir du fichier.
$ config = abdulmueid mpesa Config:: loadFromFile ( ' /path/to/config.php ' );Voir Exemple de fichier de configuration dans le dossier Exemples.
Créez une transaction à l'aide de la configuration.
$ transaction = new abdulmueid mpesa Transaction ( $ config );Exécutez les opérations de l'API et transmettez les paramètres appropriés.
Lancer une collection de paiement C2B.
$ c2b = $ transaction -> c2b (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Lancer un paiement B2C.
$ b2c = $ transaction -> b2c (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Lancer un paiement B2B.
$ b2b = $ transaction -> b2b (
float $ amount ,
string $ receiver_party_code ,
string $ reference ,
string $ third_party_reference
);Initier un renversement.
$ reversal = $ transaction -> reversal (
float $ amount ,
string $ transaction_id ,
string $ third_party_reference
);Interroger une transaction.
$ query = $ transaction -> query (
string $ query_reference ,
string $ third_party_reference
);Vérifier la réponse
Toutes les transactions renvoient l'objet TransactionResponse . L'objet a les méthodes publiques suivantes:
getCode() - Renvoie le code de réponse IE INS-0
getDescription() - Renvoie la description.
getTransactionID() - Renvoie l'ID de transaction.
getConversationID() - Renvoie l'ID de conversation.
getTransactionStatus() - Renvoie l'état de la transaction. Seulement peuplé lors de l'appel de la transaction query() .
getResponse() - Renvoie l'objet JSON de réponse complet tel que reçu des serveurs M-Pesa. Bon pour déboguer les problèmes ou les comportements sans papiers de l'API M-Pesa.
Dans un scénario typique, le code pour vérifier les transactions réussis devrait être le suivant:
$ c2b = $ transaction -> c2b (...);
if ( $ c2b -> getCode () === ' INS-0 ' ) {
// Transaction Successful, Do something here
}Ce dépôt fournit des tests unitaires pour valider les objets et leur interaction avec M-PESA.
Pour exécuter des tests,
phpunit.xml et ajoutez les informations d'identification / paramètres requises telles que fournies par M-PESA.phpunitTous les tests utilisent 1MT comme montant de test.
Cette bibliothèque est publiée sous la licence MIT. Voir le fichier de licence pour plus de détails.