Skip to main content

A Python SDK for Remino Zarinpal Payment Gateway

Project description

Zarinpal Python SDK Documentation

Introduction

The Zarinpal Python SDK provides an easy and flexible way to interact with Zarinpal’s payment gateway APIs. With features like payment initiation, transaction management, refunds, and reversals, it helps streamline integration with Zarinpal’s platform in both live and sandbox environments.


Installation

Requirements:

  • Python >= 3.12

Install:

From PyPI:

pip install zarinpal-py-sdk

From TestPyPI (for testing purposes):

pip install -i https://test.pypi.org/simple/ zarinpal-py-sdk

Features:

  1. Manage Payments:

    Easily initiate and verify payments using secure APIs.

    Example:

    payment = zarinpal.payment_gateway.create({  
        "amount": 10000,  
        "description": "Order #1234",  
        "callback_url": "https://example.com/callback",  
    })
    
  2. Transaction Management:

    Fetch transaction details with filters, limits, and pagination using GraphQL.

    Example:

    transactions = zarinpal.transactions.list({  
        "terminal_id": "YourTerminalID",  
        "filter": "PAID",  
        "limit": 10,  
        "offset": 0,  
    })
    
  3. Refunds & Reversals:

    Easily process refunds or reverse a transaction with a single API call.

    Example - Refund:

    refund = zarinpal.refunds.create({  
        "session_id": "Session1234",  
        "amount": 5000,  
        "description": "Refund for Order #1234",  
        "reason": "CUSTOMER_REQUEST",  
    })
    
    Example - Reversal:
    
    response = zarinpal.reversals.reverse({  
        "authority": "AUTHORITY_CODE",  
    })
    
  4. Sandbox Support:

    Easily switch between sandbox and live environments for development and production.

How to Use:

  1. Initialize SDK:
from zarinpal import ZarinPal  
from utils.Config import Config  

config = Config(  
    access_token="YourAccessToken",  
    merchant_id="YourMerchantId"
    sandbox=True,  # Use sandbox environment  
)  
zarinpal = ZarinPal(config)  

Full Example: Fetching Transactions

from zarinpal import ZarinPal  
from utils.Config import Config  

def get_transactions():  
    try:  
        config = Config(  
            access_token="YourAccessToken",  
        )  
        zarinpal = ZarinPal(config)  

        transactions = zarinpal.transactions.list({  
            "terminal_id": "YourTerminalID",  
            "filter": "PAID",  
            "limit": 10,  
            "offset": 0,  
        })  

        print("Transactions List:", transactions)  
    except Exception as e:  
        print("Error fetching transactions:", e)  

if __name__ == "__main__":  
    get_transactions()

Contribute:

Contributions are welcome! Fork the repository, make your changes, and submit a pull request.

GitHub Repository: Zarinpal Python SDK

By simplifying integration, this SDK ensures smooth payment workflows, enabling developers to focus on building excellent user experiences.

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

remino_zarinpal_py_sdk-1.0.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

remino_zarinpal_py_sdk-1.0.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file remino_zarinpal_py_sdk-1.0.1.tar.gz.

File metadata

  • Download URL: remino_zarinpal_py_sdk-1.0.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for remino_zarinpal_py_sdk-1.0.1.tar.gz
Algorithm Hash digest
SHA256 cf720e62c5e2f96ee2e5e9e6733ecf7242f6f228c4ba37cc5c2967d81d405978
MD5 c0e65f4328b57d630c4d4679e629c054
BLAKE2b-256 f9ad33537ad7991809120fc39e8cbbc0136a2da6dcebb80d93e8ffb1bb6f0e04

See more details on using hashes here.

File details

Details for the file remino_zarinpal_py_sdk-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for remino_zarinpal_py_sdk-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e211aa19d04c71c0540a32b3eb8876ea9a8be2f1613d2e42e304f0c514e687a
MD5 ebe2fd267d1921afc97fb2c0af2b403a
BLAKE2b-256 57f4c3c619c55f8894e3ec8e9391780f22aba0edf7f0a597e42b95bd2d3ccf71

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