Python wrapper for the Pesapal API
Project description
Pesapal Python SDK
Unofficial Python SDK for Pesapal API 3.0
Features
- Automatic token management and refresh
- Type-safe request models
- Clean, intuitive API
- Comprehensive docs
- Good test coverage
Installation
pip install pesapal-sdk
Quickstart
from pesapal_sdk import PesapalClient
from pesapal.models import OrderRequest, BillingAddress
from decimal import Decimal
# Initialize client
client = PesapalClient(
consumer_key="<YOUR-PESAPAL-CONSUMER-KEY>",
consumer_secret="<YOUR-PESAPAL-CONSUMER-SECRET>",
environment="sandbox" # or "production"
)
# Register IPN URL (one-time setup)
ipn_response = client.ipn.register("https://yoursite.com/ipn")
ipn_id = ipn_response["ipn_id"]
# Create billing address
billing = BillingAddress(
email_address="customer@example.com",
phone_number="0712345678",
country_code="KE",
first_name="Kevin",
last_name="Kimani",
line_1="Juja, Kenya"
)
# Submit order
order = OrderRequest(
id="order-123",
currency="KES",
amount=Decimal("1000.00"),
description="Payment for services",
callback_url="https://yoursite.com/callback",
notification_id=ipn_id,
billing_address=billing
)
response = client.transactions.submit_order(order)
print(f"Redirect URL: {response['redirect_url']}")
# Check transaction status
status = client.transactions.get_status(response["order_tracking_id"])
print(f"Status: {status['payment_status_description']}"
Requirements
- Python 3.8+
- requests
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Documentation: Pesapal API Docs
- Issues: GitHub Issues
Disclaimer
This is an unofficial SDK and is not affiliated with or endorsed by Pesapal.
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_sdk-0.1.2.tar.gz
(8.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pesapal_sdk-0.1.2.tar.gz.
File metadata
- Download URL: pesapal_sdk-0.1.2.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b442402ec789e2596efc02c9fea9b3618db1819f923ad92bc1772582f9f66279
|
|
| MD5 |
8ab65b8a9fbe0585f309d09726e31cae
|
|
| BLAKE2b-256 |
9817d27bdda1a18c6ed0267eed9f8198a31137312bad0167ba2993b2173d3262
|
File details
Details for the file pesapal_sdk-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pesapal_sdk-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce95ddc69f40bff7c975a7108565c01c4ef24e967c535ce81af14126181dd475
|
|
| MD5 |
0128e6c7959ee183cb5cfb3fb2e3888d
|
|
| BLAKE2b-256 |
8a201e4e700540e0caa0737aec95e82b1113d1e8d7b1ecedc2ab14c475bd0e07
|