Esto debería actuar como una solución de entrega para aplicaciones Codeigniter 3 que usan la funcionalidad MPESA. Actualmente, solo se ha implementado LIPA NA MPESA (STK Push), ya que es el más utilizado. Sin embargo, este es un proyecto OpenSource, así que siéntase libre de agregar el resto de la funcionalidad.
config/mpesa.php contiene la configuración MPESA que puede necesitar. De forma predeterminada, ya viene configurado con credenciales de sandbox, por lo que todo lo que necesita cambiar es el CONSUMER_KEY y CONSUMER_SECRET que puede obtener de Safaricom cuando crea una nueva aplicación
libraries/Mpesa_lib.php es la implementación de abstracción de la API MPESA que contiene todos los métodos que puede usar
Copie y pegue todos los directorios en su application/ directorio
Obtenga su llave y secreto de consumo de Safaricom Daraja
Reemplace los valores en config/mpesa.php a sus credenciales correspondientes
Importar la biblioteca a su controlador
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now on Llame al método lipa_na_mpesa en su controlador
// $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 ) Esto debería activar una solicitud de empuje STK en el dispositivo de su cliente. Puede agregar esto a un punto final de solicitud de API que acepte un número de teléfono y cantidad y pasarlos al método lipa_na_mpesa
Si una transacción tiene éxito o falla, querrá saberlo. Ahí es donde entra su URL de devolución de llamada. Aquí es donde MPESA enviará más información sobre una transacción a su aplicación.
Idealmente, puede crear un controlador específicamente para manejar las solicitudes de transacción y asignarle su URL de devolución de llamada. Por ejemplo: controllers/payments/Handler.php probablemente daría como resultado que su URL de devolución de llamada sea algo en las líneas de site.com/payments/handler .
Más detalles sobre cómo esto funciona nuevamente a través de Daraja.
Las URL de devolución de llamada se pueden configurar a través de config/mpesa.php
Los detalles sobre qué tipo de información devuelve la API MPESA al finalizar se pueden encontrar aquí.
Con eso, debería poder implementar tanto la solicitud como el manejo de las solicitudes MPESA.