Skip to main content

A minimalist python library that integrates with PesaPal's API 3.0 - JSON APIs (https://developer.pesapal.com/how-to-integrate/e-commerce/api-30-json/api-reference)

Project description

pesapal-py

A minimalist python library that integrates with PesaPal's API 3.0 - JSON APIs (https://developer.pesapal.com/how-to-integrate/e-commerce/api-30-json/api-reference).

This library abstracts PesaPals API 3.0 into four main methods, authenticate, register_ipn, transact and get_transaction_status

Getting started

Register as a merchant

  1. Register as a PesaPal merchant at https://www.pesapal.com/
  2. On successfull registration, you will receive a consumer key and consumer secret via email - keep these safe as they are your API credentials

Install pesapal-py

pip install pesapal-py

Authenticating

from pesapal_py.payments import PesaPal

pesapal = PesaPal("test_consumer_key", "test_consumer_secret")
auth = pesapal.authenticate()
print(auth)

This step returns a bearer token that is used with all the other methods below. The token expires after every 5 minutes. To prevent calling this method every time you need to transact, I recommend that you store it in an in-memory data store (e.g. redis) and expire it before 5 minutes.

Register IPN

register_ipn = pesapal.register_ipn("sample_token", "https://www.sample-url.com/ipn")
print(register_ipn)

Transact

transact = pesapal.transact(
    token="sample_token",
    description="sample_description",
    transaction_id="sample_transaction_id",
    amount=1000,
    callback_url="https://www.callback-url.com/status",
    ipn_id="sample_ipn_id",
    email_address="sample@email-address.com",
    phone_number="254722001122",
    country_code="KE",
    first_name="first",
    last_name="last",
    currency="KES",
)
print(transact)

Validate Transaction

transaction_status = pesapal.get_transaction_status(
    token="sample_token", order_tracking_id="sample_order_tracking_id"
)
print(transaction_status)

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

pesapal-py-0.1.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

pesapal_py-0.1.3-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file pesapal-py-0.1.3.tar.gz.

File metadata

  • Download URL: pesapal-py-0.1.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for pesapal-py-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6bcbc90f8cfa4400c892f48905c9dcc7d62d342212fe4f847d21b2da9f628961
MD5 25287267211cc13dd3392dfdb26e4d2b
BLAKE2b-256 acd0d0d26172c3a0842ed4f25f4715b57761a70a40c58bb956b57eb05c0471ab

See more details on using hashes here.

File details

Details for the file pesapal_py-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pesapal_py-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for pesapal_py-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 47bdbefcab1ecd2055ff8e2760b73e27aba4b9a54c13988d0041340f71c8f8f2
MD5 a40ddacd4ce3dd1701ce332d897251c6
BLAKE2b-256 20f0a40beb8a21469a6a090418cdf55a6197b8b4413ee77d656405d82083f6a4

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