Это должно действовать как решение для приложений Codeigniter 3 , которые используют функциональность MPESA. В настоящее время была реализована только Lipa Na Mpesa (STK Push), поскольку она наиболее широко используется. Это проект OpenSource, поэтому не стесняйтесь добавлять остальную часть функциональности.
config/mpesa.php содержит конфигурацию MPESA, которая вам может понадобиться. По умолчанию он уже настройка с учетными данными из песочницы, поэтому все, что вам нужно изменить, это CONSUMER_KEY и CONSUMER_SECRET , который вы можете получить от Safaricom, когда создаете новое приложение
libraries/Mpesa_lib.php - это реализация API API API, которая содержит все методы, которые вы можете использовать
Скопируйте и вставьте все каталоги в ваше application/ каталог
Получите свой потребительский ключ и секрет от Safaricom Daraja
Замените значения в config/mpesa.php на соответствующие учетные данные
Импортировать библиотеку в свой контроллер
// Load the mpesa library
$ this -> load -> library ( ' mpesa_lib ' );
// $this->mpesa_lib is how you will be accessing the library from now on Вызовите метод lipa_na_mpesa в вашем контроллере
// $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 ) Это должно запустить запрос на то, чтобы STK Push на устройстве вашего клиента. Вы можете добавить это в конечную точку запроса API, которая принимает номер телефона и сумму, и передать их в метод lipa_na_mpesa
Если транзакция преуспевает или терпит неудачу, вы бы хотели узнать об этом. Вот где появляется ваш URL -адрес обратного вызова. Здесь Mpesa отправит больше информации о транзакции в вашу заявку.
В идеале вы можете создать контроллер специально для обработки запросов на транзакцию и отобразить свой URL -адрес обратного вызова. Например: controllers/payments/Handler.php вероятно, приведут к тому, что ваш URL -адрес обратного вызова будет чем -то в строках site.com/payments/handler handler.
Более подробную информацию о том, как это работает, можно снова найти через Дараджу.
URL -адреса обратного вызова можно установить через config/mpesa.php
Подробная информация о том, какая информация возвращается MPESA API после завершения, можно найти здесь.
При этом вы сможете реализовать как запрос, так и обработку запросов MPESA.