Verify Ethiopian payment receipts (CBE, Telebirr, Abyssinia, Dashen, CBE Birr) directly from official bank endpoints.
Project description
Ethio-Pay-Verifier
A lightweight, pure-Python library to verify payment receipts from major Ethiopian banks directly against their official public endpoints. No third-party APIs, no middleware—just direct verification.
🚀 Features
- Direct Verification: Hits the official bank endpoints directly.
- Support for Major Banks:
- CBE (Commercial Bank of Ethiopia) - PDF Parsing
- Telebirr (Ethio Telecom) - HTML Scraping
- Bank of Abyssinia - JSON API
- Dashen Bank - PDF Parsing
- CBE Birr - PDF Parsing
- Clean Business Logic: Includes utilities for name normalization, masked account matching, and amount verification.
- Lightweight: Just a few dependencies (
requests,beautifulsoup4,PyPDF2,pdfplumber).
📦 Installation
pip install ethio-pay-verifier
🛠 Usage
Using the Unified Verifier
The PaymentVerifier class provides a single interface for all banks and includes common business rules like amount checking and receiver validation.
from python_verifier import PaymentVerifier
v = PaymentVerifier()
# 1. Telebirr
result = v.verify("telebirr", reference="CE2513001XYT")
# 2. CBE (Requires 8-digit account suffix)
result = v.verify("cbe", reference="FT2513001V2G", account_suffix="12345678")
# 3. Abyssinia (Requires 5-digit account suffix)
result = v.verify("abyssinia", reference="FT23062669JJ", suffix="12345")
# 4. Dashen
result = v.verify("dashen", reference="TXN123456")
# 5. CBE Birr
result = v.verify("cbebirr", receipt_number="CGU9REIHHB", phone_number="251912345678")
if result.success:
print(f"Verified {result.amount} ETB from {result.payer_name}")
Direct Scraper Access
You can also call the scrapers directly if you don't need the high-level dispatcher rules:
from python_verifier import verify_telebirr, verify_cbe
# Get Telebirr receipt object
receipt = verify_telebirr("CE2513001XYT")
if receipt.success:
print(receipt.settled_amount)
# Get CBE result
cbe = verify_cbe("FT2513001V2G", "12345678")
⚖️ License
MIT License. See LICENSE for details.
⚠️ Disclaimer
This library is not affiliated with, maintained, or endorsed by any of the banks listed. It relies on scraping public endpoints, which may change without notice. Use in production at your own risk.
Project details
Release history Release notifications | RSS feed
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
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 ethio_pay_verifier-0.1.0.tar.gz.
File metadata
- Download URL: ethio_pay_verifier-0.1.0.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fae1a5cdc29d87577fd93ca0a3d47653332037acea73c72c2e74fc3d120cab
|
|
| MD5 |
d18eaf43a8f03ff9bf5b3e268a3ca9d0
|
|
| BLAKE2b-256 |
678ffcfba0a4a520e00d257a6507294c27c117fff218582c7363ae8d38009237
|
File details
Details for the file ethio_pay_verifier-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ethio_pay_verifier-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47264fd9ef6a341bbf4cad197bf6e7f5e91cc869f16ee3af885549e2ab9f47a9
|
|
| MD5 |
8f8bbf1327cc1093bc129eba9f269844
|
|
| BLAKE2b-256 |
5b379c1d0c1e96d4de62e51dc87c2d7d13d63745fdaee53dcf07532a353dd269
|