Python wrapper on Mpesa public API for mobile Payment Integration
Python wrapper on Mpesa public API for mobile Payment Integration made with care to offer easy and elegant integration made by kalebu
The following are the features that are supported by the Mpesa public API and require the python implementation.
Full documentation can be found on pypesa
Getting started with pypesa is pretty straight forward and can be categorized
into steps shown below.
Sign up for Mpesa Developer portal
Install the pypesa package using pip
Build your services with pypesa
To sign up for Mpesa public API visit Mpesa-API and then
you can go through getting started Mpesa Developer portal
by alphaolomi to see how.
To install the pypesa package to your machine you can either
install directly from github or use pip to install it.
$~ git clone https://github.com/Kalebu/pypesa
$~ cd pypesa
$ pypesa ~ python setup.py install
pip install python-pesa
To begin using the package is pretty straight forward
You need to have a json file named keys.json on your project directly
and then fill put in it your public and api keys in json format shown below
{
'api_key': 'xxx',
'public_key': 'xxxxxxxxxxxxxx'
}
2.Once done you’re ready to go, just make sure you have active internet connection
>>> from pypesa import Mpesa
>>> mpesa = Mpesa()
>>> transaction_query = {"input_Amount": "10",
"input_Country": "TZN",
"input_Currency": "TZS",
"input_CustomerMSISDN": "000000000001",
"input_ServiceProviderCode": "000000",
"input_ThirdPartyConversationID":'2edf7a0206d848f6b6fedea26accdc3a',
"input_TransactionReference": 'T23434ZE5',
"input_PurchasedItemsDesc": "Python Book"
}
>>> mpesa.customer_to_bussiness(transaction_query)
Request processed successfully INS-0
{'output_ResponseCode': 'INS-0', 'output_ResponseDesc': 'Request processed successfully',
'output_TransactionID': 'uGnPxFoXT2W0', 'output_ConversationID': '1d1e38495dc946729a8cffb136ab8391', 'output_ThirdPartyConversationID': '2edf7a0206d848f6b6fedea26accdc3a'}
If you named your authentication json in other name than keys you might to
specify it while creating an instance for mpesa just as shown below;
>>> from pypesa import Mpesa
>>> mpesa = Mpesa(auth_path = filename)
The package run by default using sandbox environment, If you wanna use it to real production
environment you can specify it while creating an instance as shown below
>>> from pypesa import Mpesa
>>> mpesa = Mpesa(environment="production")
Wanna contribute to Pypesa ? then please contributing.md to see how
If you found this repository useful, give it a star, You can also keep in touch with on twitter.
If you encounter issue with the usage of the package, feel free raise an issue so as
we can fix it as soon as possible(ASAP) or just reach me directly through my email isaackeinstein(at)gmail.com
All the credits to