New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

python-pesa

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-pesa

Python package for Vodacom Mpesa API Integration

  • 0.7
  • PyPI
  • Socket score

Maintainers
1

pypesa

Pypesa banner PyPI version Releases Downloads Downloads Downloads License: MIT

Python wrapper on Mpesa public API for mobile Payment Integration made with care to offer easy and elegant integration made by kalebu

Become a patron

Implemented Features

The following are the features that are supported by the Mpesa public API and require the python implementation.

  • Customer to Bussiness (C2B) Single Payment
  • Bussiness to Customer (B2C)
  • Bussiness to Bussiness (B2B)
  • Payment Reversal
  • Query Transaction status
  • Direct debit creation and Payment

Documentation

Full documentation can be found on pypesa

Getting started

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

Signing up

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.

Installation

To install the pypesa package to your machine you can either

install directly from github or use pip to install it.

  • Using github
$~ git clone https://github.com/Kalebu/pypesa
$~ cd pypesa
$ pypesa ~ python setup.py install 
  • Using pip

pip install python-pesa

Usage

To begin using the package is pretty straight forward

  1. 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

Example of Usage (Customer to Bussiness Transaction)

>>> import pypesa
>>> mpesa = pypesa()
>>> 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'}

Naming the authentication json

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;

>>> import pypesa
>>> mpesa = pypesa(auth_path = filename)

production environmnent

The package run by default using sandbox environmnent, If you wanna use it to real production environmnent you can specify it while creating an instance as shown below

>>> import pypesa
>>> mpesa = pypesa(environmnent="production")

To do list

  • Adding a well structured documentation
  • Adding a detailed test case to the implementation
  • Fixing rising bugs

Contributing

Wanna contribute to Pypesa ? then please contributing.md to see how

Give it a star

If you found this repository useful, give it a star, You can also keep in touch with on twitter.

Bug bounty?

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

Credit

All the credits to kalebu and all the future contributors

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc