Isso deve atuar como uma solução suspensa para os aplicativos CodeIgniter 3 que usam a funcionalidade MPESA. Atualmente, apenas o Lipa Na Mpesa (STK PUSH) foi implementado, pois é o mais amplamente utilizado. Este é um projeto OpenSource, por isso fique à vontade para adicionar o restante da funcionalidade.
config/mpesa.php contém configuração de MPESA que você pode precisar. Por padrão, ele já vem configurado com credenciais de sandbox; portanto, tudo o que você precisa alterar é o CONSUMER_KEY e CONSUMER_SECRET , que você pode obter do Safaricom ao criar um novo aplicativo
libraries/Mpesa_lib.php é a implementação da abstração da API MPESA que contém todos os métodos que você pode usar
Copie e cole os diretórios todos os diretórios em seu application/ diretório
Obtenha sua chave do consumidor e segredo do Safaricom Daraja
Substitua os valores em config/mpesa.php por suas credenciais correspondentes
Importe a biblioteca para o seu controlador
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now on Chame o método lipa_na_mpesa em seu 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 ) Isso deve desencadear uma solicitação de push STK no dispositivo do seu cliente. Você pode adicionar isso a um endpoint de solicitação da API que aceita um número de telefone e uma quantia e passá -los para o método lipa_na_mpesa
Se uma transação for bem -sucedida ou falhar, você gostaria de saber sobre isso. É aí que entra o seu URL de retorno de chamada. É aí que a MPESA enviará mais informações sobre uma transação para o seu aplicativo.
Idealmente, você pode criar um controlador especificamente para lidar com as solicitações de transação e mapear seu URL de retorno de chamada para ele. Por exemplo: controllers/payments/Handler.php provavelmente resultariam em seu URL de retorno de chamada ser algo nas linhas do site.com/payments/handler .
Mais detalhes sobre como isso funciona pode ser encontrado novamente através de Daraja.
Os URLs de retorno de chamada podem ser definidos através config/mpesa.php
Detalhes sobre que tipo de informação são retornados pela API da MPESA após a conclusão podem ser encontrados aqui.
Com isso, você poderá implementar a solicitação e o manuseio das solicitações de MPESA.