Skip to main content

A simple Python package to integrate bots or apps with payment gateways like ZarinPal.

Project description

Pardakht 🏦

Pardakht is a simple Python library to integrate bots or applications with payment gateways. Currently, it just supports ZarinPal.

Downloads


Installation

pip install pardakht

Usage

1️⃣ Import and Initialize

from pardakht.dargah import ZarinPal

# Settings
MERCHANT_ID = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
CALLBACK_URL = "https://yourdomain.com/check-payment"

# Create an instance of ZarinPalBot
zarinpal = ZarinPalBot(merchant_id=MERCHANT_ID, callback_url=CALLBACK_URL, sandbox=True)

2️⃣ Create a Payment and Get the Payment Link

amount = 10000  # Amount in Tomans
uuid_code = "some-unique-id-1234"  # You can use uuid.uuid4() for unique transactions
description = "Premium subscription purchase"

pay_url = zarinpal.make_payment(amount, uuid_code, description)

if pay_url.startswith("http"):
    print("Payment link:", pay_url)
else:
    print("Error:", pay_url)

⚡ If there is an issue connecting to the gateway, it will return: "Failed to connect to the payment gateway."


3️⃣ Verify the Payment After User Returns from Gateway

authority = "A1B2C3D4E5"  # Obtained from query params or gateway payload
result = zarinpal.verify_payment(authority, amount)

if result["success"]:
    print("Payment successful ✅")
    print("Tracking code:", result["ref_id"])
else:
    print("Payment failed ❌")
    print("Message:", result["message"])

4️⃣ Notes

  • Always generate a unique ID (uuid) for each transaction to track it in your database.
  • In Telegram bots, you can use pay_url as an inline button for users to click.
  • Use sandbox=True during testing to avoid real transactions.

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

pardakht-0.1.2.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pardakht-0.1.2-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file pardakht-0.1.2.tar.gz.

File metadata

  • Download URL: pardakht-0.1.2.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for pardakht-0.1.2.tar.gz
Algorithm Hash digest
SHA256 609a2aaf65222b87b725c8bbfb2a708df79794de3f41828ee09c6bd7eb4509d0
MD5 bd196daa24ac6ca69e1dc6b52da52f01
BLAKE2b-256 3f33ef43bc04f7243ec22b7ba3ac7156ce20b7aa98acf66f8038c90e7cd7a2b9

See more details on using hashes here.

File details

Details for the file pardakht-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pardakht-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for pardakht-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e70bb485e8d7128b85f0262be8d414bdd94254e116db7da1036ed9e85bcce58d
MD5 5a8cbd83475e883c31c372fb72385473
BLAKE2b-256 8987f9c5ad23559fce1591b6df1c4bca5a226644f3fb7167bb5b492e460a847d

See more details on using hashes here.

Supported by

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