Cela devrait agir comme une solution de dépôt pour les applications Codeigniter 3 qui utilisent la fonctionnalité MPESA. Actuellement, seul Lipa NA MPESA (STK PUSH) a été implémenté car il est le plus utilisé. Il s'agit cependant d'un projet OpenSource, alors n'hésitez pas à ajouter le reste de la fonctionnalité.
config/mpesa.php contient la configuration MPESA dont vous pouvez avoir besoin. Par défaut, il est déjà configuré avec des informations d'identification Sandbox, donc tout ce que vous devez modifier est le CONSUMER_KEY et CONSUMER_SECRET que vous pouvez obtenir de Safaricom lorsque vous créez une nouvelle application
libraries/Mpesa_lib.php est l'implémentation d'abstraction de l'API MPESA qui contient toutes les méthodes que vous pouvez utiliser
Copiez et collez tous les répertoires dans votre application/ répertoire
Obtenez votre clé de consommation et votre secret de Safaricom Daraja
Remplacez les valeurs de config/mpesa.php à vos informations d'identification correspondantes
Importez la bibliothèque dans votre contrôleur
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now on Appelez la méthode lipa_na_mpesa dans votre contrôleur
// $phone - The phone number initiating the transaction - your customer's phone
// $amount - A non-zero amount (integer)
$ this -> mpesa_lib -> lipa_na_mpesa ( $ phone , $ amount ) Cela devrait déclencher une demande de poussée STK sur l'appareil de votre client. Vous pouvez l'ajouter à un point de terminaison de demande d'API qui accepte un numéro de téléphone et un montant et les transmettre dans la méthode lipa_na_mpesa
Si une transaction réussit ou échoue, vous voudriez le savoir. C'est là que votre URL de rappel entre en jeu. C'est là que MPESA enverra plus d'informations sur une transaction à votre application.
Idéalement, vous pouvez créer un contrôleur spécifiquement pour gérer les demandes de transaction et y mapper votre URL de rappel. Par exemple: controllers/payments/Handler.php entraîneraient probablement que votre URL de rappel soit quelque chose sur les lignes de site.com/payments/handler .
Plus de détails sur la façon dont cela fonctionne à nouveau par Daraja.
Les URL de rappel peuvent être définies via config/mpesa.php
Les détails sur le type d'informations sont renvoyés par l'API MPESA une fois terminé ici.
Avec cela, vous devriez être en mesure d'implémenter à la fois la demande et la gestion des demandes MPESA.