dev-master
9999999-devPHP SDK for M-Pesa Mozambique API
MIT
The Requires
- php ^7.0
The Development Requires
by Abdul Mueid Akhtar
Wallogit.com
2017 © Pedro Peláez
PHP SDK for M-Pesa Mozambique API
This project aims to provide an easy-to-use and up-to-date PHP wrapper for the M-Pesa Mozambique API., (*1)
Target version of M-Pesa API: v1x, (*2)
Install using composer:, (*3)
composer require abdulmueid/mpesa
Load the configuration from file., (*4)
$config = \abdulmueid\mpesa\Config::loadFromFile('/path/to/config.php');
See sample configuration file in examples folder., (*5)
Create a Transaction using the configuration., (*6)
$transaction = new \abdulmueid\mpesa\Transaction($config);
Execute API operations and pass appropriate parameters., (*7)
Initiate a C2B payment collection., (*8)
$c2b = $transaction->c2b( float $amount, string $msisdn, string $reference, string $third_party_reference );
Initiate a B2C payment., (*9)
$b2c = $transaction->b2c( float $amount, string $msisdn, string $reference, string $third_party_reference );
Initiate a B2B payment., (*10)
$b2b = $transaction->b2b(
float $amount,
string $receiver_party_code,
string $reference,
string $third_party_reference
);
Initiate a reversal., (*11)
$reversal = $transaction->reversal( float $amount, string $transaction_id, string $third_party_reference );
Query a transaction., (*12)
$query = $transaction->query( string $query_reference, string $third_party_reference );
Check Response, (*13)
All transactions return the TransactionResponse object. The object has the following public methods:, (*14)
getCode() - Returns the response code i.e. INS-0, (*15)
getDescription() - Returns the description., (*16)
getTransactionID() - Returns the transaction ID., (*17)
getConversationID() - Returns the conversation ID., (*18)
getTransactionStatus() - Returns the transaction status. Only populated when calling the query() transaction., (*19)
getResponse() - Returns the full response JSON object as received from M-Pesa servers. Good for debugging any issues or undocumented behaviors of the M-Pesa API., (*20)
In a typical scenario, code to check for successful transactions should be as follows:, (*21)
$c2b = $transaction->c2b(...);
if($c2b->getCode() === 'INS-0') {
// Transaction Successful, Do something here
}
This repo provides Unit Tests to validate the objects and their interaction with M-Pesa., (*22)
To run tests,
1. Open the phpunit.xml file and add the require credentials/parameters as supplied by M-Pesa.
2. Run phpunit
3. Check the handset for USSD prompts to approve test transactions., (*23)
All tests use 1MT as the test amount., (*24)
This library is release under the MIT License. See LICENSE file for details., (*25)
PHP SDK for M-Pesa Mozambique API
MIT