Este proyecto tiene como objetivo proporcionar un envoltorio PHP fácil de usar y actualizado para la API M-Pesa Mozambique.
Versión objetivo de M-Pesa API: V1x
Instalar usando el compositor:
composer require abdulmueid/mpesa
Cargue la configuración desde el archivo.
$ config = abdulmueid mpesa Config:: loadFromFile ( ' /path/to/config.php ' );Consulte el archivo de configuración de muestra en la carpeta de ejemplos.
Cree una transacción utilizando la configuración.
$ transaction = new abdulmueid mpesa Transaction ( $ config );Ejecute las operaciones de API y pase los parámetros apropiados.
Iniciar una recaudación de pagos C2B.
$ c2b = $ transaction -> c2b (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Iniciar un pago B2C.
$ b2c = $ transaction -> b2c (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Iniciar un pago B2B.
$ b2b = $ transaction -> b2b (
float $ amount ,
string $ receiver_party_code ,
string $ reference ,
string $ third_party_reference
);Iniciar una inversión.
$ reversal = $ transaction -> reversal (
float $ amount ,
string $ transaction_id ,
string $ third_party_reference
);Consulta una transacción.
$ query = $ transaction -> query (
string $ query_reference ,
string $ third_party_reference
);Verifique la respuesta
Todas las transacciones devuelven el objeto TransactionResponse . El objeto tiene los siguientes métodos públicos:
getCode() - Devuelve el código de respuesta, es decir, INS-0
getDescription() - Devuelve la descripción.
getTransactionID() - Devuelve la ID de transacción.
getConversationID() - Devuelve la identificación de conversación.
getTransactionStatus() - Devuelve el estado de la transacción. Solo poblado al llamar a la transacción de query() .
getResponse() - Devuelve el objeto JSON de respuesta completa como se recibe de los servidores M -PESA. Bueno para depurar cualquier problema o comportamiento indocumentado de la API M-PESA.
En un escenario típico, el código para verificar las transacciones exitosas debe ser el siguiente:
$ c2b = $ transaction -> c2b (...);
if ( $ c2b -> getCode () === ' INS-0 ' ) {
// Transaction Successful, Do something here
}Este repositorio proporciona pruebas unitarias para validar los objetos y su interacción con M-PESA.
Para ejecutar pruebas,
phpunit.xml y agregue las credenciales/parámetros requerir como suministrados por M-PESA.phpunitTodas las pruebas usan 1MT como el monto de la prueba.
Esta biblioteca se lanza bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.