Dies sollte als Drop-In-Lösung für Codesigniter 3- Anwendungen fungieren, die die MPESA-Funktionalität verwenden. Derzeit wurde nur LIPA NA MPESA (STK Push) implementiert, da es am weitesten verbraucht ist. Dies ist jedoch ein OpenSource -Projekt. Sie können den Rest der Funktionalität hinzufügen.
config/mpesa.php enthält eine MPESA -Konfiguration, die Sie möglicherweise benötigen. Standardmäßig wird bereits mit Sandbox -Anmeldeinformationen eingerichtet, sodass Sie nur ändern müssen, ist der CONSUMER_KEY und CONSUMER_SECRET , den Sie von Safaricom erhalten können, wenn Sie eine neue App erstellen
libraries/Mpesa_lib.php ist die MPESA -API -Abstraktionsimplementierung, die alle Methoden enthält, die Sie verwenden können
Kopieren und fügen Sie alle Verzeichnisse in Ihre application/ Ihr Verzeichnis ein und fügen Sie es ein
Holen Sie sich Ihren Verbraucherschlüssel und geheim von Safaricom Daraja
Ersetzen Sie die Werte in config/mpesa.php durch Ihre entsprechenden Anmeldeinformationen
Importieren Sie die Bibliothek in Ihren Controller
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now on Rufen Sie die Methode lipa_na_mpesa in Ihrem Controller auf
// $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 ) Dies sollte eine STK -Push -Anfrage auf dem Gerät Ihres Kunden auslösen. Sie können dies zu einem API -Anforderungsendpunkt hinzufügen, der eine Telefonnummer und Menge akzeptiert und diese in die Methode lipa_na_mpesa übergeben
Wenn eine Transaktion erfolgreich ist oder fehlschlägt, möchten Sie davon wissen. Hier kommt Ihre Rückruf -URL ins Spiel. Hier sendet MPESA weitere Informationen zu einer Transaktion zu Ihrer Anwendung.
Im Idealfall können Sie einen Controller speziell für die Behandlung der Transaktionsanforderungen erstellen und Ihre Callback -URL darauf abbilden. Zum Beispiel: controllers/payments/Handler.php würde wahrscheinlich dazu führen, dass Ihre Rückruf -URL in den Zeilen von site.com/payments/handler ist.
Weitere Details darüber, wie dies funktioniert, können erneut durch Daraja gefunden werden.
Die Callback -URLs können über config/mpesa.php eingestellt werden
Details darüber, welche Art von Informationen nach Abschluss von der MPESA -API zurückgegeben werden, finden Sie hier.
Damit sollten Sie in der Lage sein, sowohl die Anfrage als auch die Behandlung von MPESA -Anfragen implementieren zu können.