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
- Register as a PesaPal merchant at https://www.pesapal.com/
- 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bcbc90f8cfa4400c892f48905c9dcc7d62d342212fe4f847d21b2da9f628961 |
|
MD5 | 25287267211cc13dd3392dfdb26e4d2b |
|
BLAKE2b-256 | acd0d0d26172c3a0842ed4f25f4715b57761a70a40c58bb956b57eb05c0471ab |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47bdbefcab1ecd2055ff8e2760b73e27aba4b9a54c13988d0041340f71c8f8f2 |
|
MD5 | a40ddacd4ce3dd1701ce332d897251c6 |
|
BLAKE2b-256 | 20f0a40beb8a21469a6a090418cdf55a6197b8b4413ee77d656405d82083f6a4 |