Este projeto tem como objetivo fornecer um invólucro PHP fácil de usar e atualizado para a API M-Pesa Mozambique.
Versão alvo da API M-Pesa: V1X
Instale usando o compositor:
composer require abdulmueid/mpesa
Carregue a configuração do arquivo.
$ config = abdulmueid mpesa Config:: loadFromFile ( ' /path/to/config.php ' );Consulte o arquivo de configuração de amostra na pasta Exemplos.
Crie uma transação usando a configuração.
$ transaction = new abdulmueid mpesa Transaction ( $ config );Execute operações da API e passe parâmetros apropriados.
Inicie uma cobrança de pagamento C2B.
$ c2b = $ transaction -> c2b (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Iniciar um pagamento B2C.
$ b2c = $ transaction -> b2c (
float $ amount ,
string $ msisdn ,
string $ reference ,
string $ third_party_reference
);Iniciar um pagamento B2B.
$ b2b = $ transaction -> b2b (
float $ amount ,
string $ receiver_party_code ,
string $ reference ,
string $ third_party_reference
);Iniciar uma reversão.
$ reversal = $ transaction -> reversal (
float $ amount ,
string $ transaction_id ,
string $ third_party_reference
);Consulte uma transação.
$ query = $ transaction -> query (
string $ query_reference ,
string $ third_party_reference
);Verifique a resposta
Todas as transações retornam o objeto TransactionResponse . O objeto tem os seguintes métodos públicos:
getCode() - Retorna o código de resposta, ou seja, INS-0
getDescription() - Retorna a descrição.
getTransactionID() - Retorna o ID da transação.
getConversationID() - Retorna o ID da conversa.
getTransactionStatus() - Retorna o status da transação. Somente preenchido ao chamar a transação query() .
getResponse() - Retorna o objeto JSON de resposta completa, conforme recebido dos servidores M -Pesa. Bom para depurar quaisquer problemas ou comportamentos sem documentos da API M-Pesa.
Em um cenário típico, o código para verificar se há transações bem -sucedidas deve ser o seguinte:
$ c2b = $ transaction -> c2b (...);
if ( $ c2b -> getCode () === ' INS-0 ' ) {
// Transaction Successful, Do something here
}Este repositório fornece testes de unidade para validar os objetos e sua interação com M-Pesa.
Para executar testes,
phpunit.xml e adicione as credenciais/parâmetros necessitados, conforme fornecido pela M-Pesa.phpunitTodos os testes usam 1MT como o valor do teste.
Esta biblioteca é lançada sob a licença do MIT. Consulte o arquivo de licença para obter detalhes.