Skip to content

Latest commit

 

History

History
258 lines (188 loc) · 7.5 KB

README.md

File metadata and controls

258 lines (188 loc) · 7.5 KB

M-Pesa SDK for PHP

M-Pesa SDK for PHP is an unofficial library aiming to help develbusinesses integrating every M-Pesa operations to their PHP applications.

Contents

Features

  • Receive money from a mobile account to a business account
  • Send money from a business account to a mobile account
  • Send money from a business account to a another business account
  • Revert a transaction
  • Query the status of a transaction

Usage

Quickstart

Receive Money from a Mobile Account

use Paymentsds\MPesa\Client;

$client = new Client([
   'apiKey' => '<REPLACE>',             // API Key
   'publicKey' => '<REPLACE>',          // Public Key
   'serviceProviderCode' => '<REPLACE>' // input_ServiceProviderCode
]);

$paymentData = [
   'from' => '841234567',       // input_CustomerMSISDN
   'reference' => '11114',      // input_ThirdPartyReference
   'transaction' => 'T12344CC', // input_TransactionReference
   'amount' => '10'             // input_Amount
];

$result = $client.receive($paymentData);

if ($result->success) {
   // Handle success
} else {
   // Handle failure
}

Send Money to a Mobile Account

use Paymentsds\MPesa\Client;

$client = new Client([
   'apiKey' => '<REPLACE>',             // API Key
   'publicKey' => '<REPLACE>',          // Public Key
   'serviceProviderCode' => '<REPLACE>' // input_ServiceProviderCode
]);

$paymentData = [
   'to' => '841234567',         // input_CustomerMSISDN
   'reference' => '11114',      // input_ThirdPartyReference
   'transaction' => 'T12344CC', // input_TransactionReference
   'amount' => '10'             // input_Amount
];

$result = $client.send($paymentData);

if ($result->success) {
   // Handle success scenario
} else {
   // Handle failure scenario
}

Send Money to a Business Account

use Paymentsds\MPesa\Client;

$client = new Client([
   'apiKey' => '<REPLACE>',             // API Key
   'publicKey' => '<REPLACE>',          // Public Key
   'serviceProviderCode' => '<REPLACE>' // input_ServiceProviderCode
]);

$paymentData = [
   'to' => '979797',         // input_ReceiverPartyCode
   'reference' => '11114',      // input_ThirdPartyReference
   'transaction' => 'T12344CC', // input_TransactionReference
   'amount' => '10'             // input_Amount
];

$result = $client.send($paymentData);

if ($result->success) {
   // Handle success scenario
} else {
   // Handle failure scenario
}

Revert a Transaction

use Paymentsds\MPesa\Client;

$client = new Client([
   'apiKey' => '<REPLACE>',             // API Key
   'publicKey' => '<REPLACE>',          // Public Key
   'serviceProviderCode' => '<REPLACE>', // input_ServiceProviderCode
   'initiatorIdentifier' => '<REPLACE>', // input_InitiatorIdentifier,
   'securityIdentifier' => '<REPLACE>'  // input_SecurityCredential
]);

$paymentData = [
   'reference' => '11114',      // input_ThirdPartyReference
   'transaction' => 'T12344CC', // input_TransactionReference
   'amount' => '10'             // input_Amount
];

$result = $client.revert($paymentData);

if ($result->success) {
   // Handle success scenario
} else {
   // Handle failure scenario
}

Query the Status of a Transaction

use Paymentsds\MPesa\Client;

$client = new Client([
   'apiKey' => '<REPLACE>',             // API Key
   'publicKey' => '<REPLACE>',          // Public Key
   'serviceProviderCode' => '<REPLACE>', // input_ServiceProviderCode
]);

$paymentData = [
   'subject' => '11114',      // input_QueryReference
   'reference' => 'T12344CC', // input_ThirdPartyReference
];

$result = $client.query($paymentData);

if ($result->success) {
   // Handle success scenario
} else {
   // Handle failure scenario
}

Examples

Prerequisites

Installation

Using Composer

composer require paymentsds/mpesa

Manual Installation

git clone https://github.com/paymentsds/mpesa-php-sdk mpesa-php-sdk
cd mpesa-php-sdk
composer install

Configuration

Configuration Scenario 1

Configuration Scenario 2

Configuration Scenario 3

Related Projects

Dependencies

Production Dependencies

Development Dependencies

Friends

Contributing

Changelog

Authors

Credits

License

Copyright 2020 Anísio Mandlate, Edson Michaque, Elton Laice and Nélio Macombo

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.