Skip to main content

Python wrapper for Mpesa's Daraja API

Project description

pydaraja

PyPI version Wheel Status License: MIT

Description

This Python wrapper allows developers to seamlessly interact with the MPESA's Daraja API and manage payment requests within their Python applications.

It streamlines and abstracts the complexity of integrating with the MPESA's Daraja API, providing developers with a convenient and efficient means of handling payment transactions

Daraja API services offered by pydaraja are:

  • Lipa na M-PESA online API also known as M-PESA express (STK Push/NI push)
  • STK push query API -> Used to check the status of Lipa na Mpesa online payment

More services will come soon.

Installation

pip install -U pydaraja

Usage

  1. Lipa na Mpesa Online API (STK push) and STK push query API.
from pydaraja import MpesaPaymentGateway

# Create MpesaPaymentGateway instance
mpesa = MpesaPaymentGateway(
    consumer_key="consumer_key",
    consumer_secret="consumer_secret",
    business_shortcode="business_shortcode",
    passkey="passkey"
    endpoint="https://sandbox.safaricom.co.ke",
)

# Trigger STK push prompt
response = mpesa.trigger_stk_push(phone_number="+254700000000", amount=1, callback_url="https://example.com")

print(response.json())
# Output
{
    'MerchantRequestID': '2654-4b64-97ff-b827b542881d164797',
    'CheckoutRequestID': 'ws_CO_18072024175449513769356298',
    'ResponseCode': '0',
    'ResponseDescription': 'Success. Request accepted for processing',
    'CustomerMessage': 'Success. Request accepted for processing'
}


# use checkout_request_id from the above stk push as parameter for the function below
response = mpesa.query_stk_push(checkout_request_id=your_checkout_request_id)

print(response.json())
# Output
{
    'ResponseCode': '0',
    'ResponseDescription': 'The service request has been accepted successsfully',
    'MerchantRequestID': '2654-4b64-97ff-b827b542881d164797',
    'CheckoutRequestID': 'ws_CO_18072024175449513769356298',
    'ResultCode': '0',
    'ResultDesc': 'The service request is processed successfully.'
 }

Contributing

To contribute to this project, we kindly request you to review the CONTRIBUTING.md file for detailed guidelines.

License

This python package is available as open source under the terms of the MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydaraja-0.3.6.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

pydaraja-0.3.6-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file pydaraja-0.3.6.tar.gz.

File metadata

  • Download URL: pydaraja-0.3.6.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for pydaraja-0.3.6.tar.gz
Algorithm Hash digest
SHA256 5f6f4f6d40479ce1190dd5f75e58d8ff149cd20c4ae7853a82ceabcf21c21c04
MD5 64e4ede0768a8f43398375992bfcce7e
BLAKE2b-256 f93c60f948542dbb3ffac5b80f659c6edd344b130e1bbfcd418ce70fc118dac1

See more details on using hashes here.

File details

Details for the file pydaraja-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: pydaraja-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for pydaraja-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7819b5395c9e1fc2984e5fa74fd30c1400aaacd74c40046dc4fe91e09e551353
MD5 fc6cf813dc646a2663fc85974e675606
BLAKE2b-256 70d5256df92f76f49829001fabaa4b6af37a8badd47d033ed927e121f7fade75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page