Skip to main content

TSPay uchun rasmiy Python klienti

Project description

TsPay Python Client

Python License PyPI Version

TsPayClient — TSPay.uz to‘lov gateway API bilan ishlash uchun rasmiy Python klienti.
U orqali foydalanuvchi tokenini olish, do‘konlarni olish, tranzaksiyalar yaratish va holatini tekshirish mumkin.


Table of Contents

  1. Installation
  2. Quick Start
  3. API Reference
  4. Error Handling
  5. Examples
  6. License

Installation

pip install tspay-client

Quick Start

from tspay import TsPayClient

# Klient yaratish
client = TsPayClient()

# Foydalanuvchi tokenini olish
token = client.get_access_token("your_email@example.com", "your_password")

# Do'konlarni olish
shops = client.get_user_shops(token)

# Tranzaksiya yaratish
transaction = client.create_transaction(
    amount=10000,  # UZS
    redirect_url="https://yourwebsite.com/payment/callback",
    description="Order #12345",
    access_token=shops[0]['access_token']
)

# Tranzaksiya holatini tekshirish
status = client.check_transaction(token, transaction['cheque_id'])

print("Payment URL:", transaction['payment_url'])
print("Transaction status:", status['status'])

API Reference

TsPayClient(base_url=None)
• base_url (str, optional): API ning custom URL manzili, default: `https://api.tspay.uz`

Authentication Methods

get_access_token(email, password)

Foydalanuvchi tokenini olish. • Parameters: • email (str) — foydalanuvchi emaili • password (str) — foydalanuvchi paroli • Returns: Access token (str) • Raises: TsPayError agar autentifikatsiya xato bo‘lsa

Shop Methods

get_user_shops(user_access_token)

Foydalanuvchiga tegishli do‘konlar ro‘yxatini olish.

•	Parameters:
•	user_access_token (str) — foydalanuvchi access tokeni
•	Returns: List[dict] — do‘konlar ro‘yxati
•	Raises: TsPayError agar so‘rov xato bo‘lsa

Transaction Methods

create_transaction(amount, redirect_url="", description="", access_token=None)

Yangi tranzaksiya yaratish.

•	Parameters:
•	amount (float) — summa UZS
•	redirect_url (str) — callback URL
•	description (str, optional) — tranzaksiya tavsifi
•	access_token (str) — do‘kon access tokeni
•	Returns: dict — tranzaksiya ma’lumotlari
•	Raises: TsPayError agar yaratish xato bo‘lsa

check_transaction(user_access_token, transaction_id)

Tranzaksiya holatini tekshirish.

•	Parameters:
•	user_access_token (str) — foydalanuvchi tokeni
•	transaction_id (str) — tranzaksiya IDsi
•	Returns: dict — tranzaksiya holati
•	Raises: TsPayError agar xato bo‘lsa

Error Handling

class TsPayError(Exception):
    """TSPay API xatoliklari uchun asosiy istisno."""
    def __init__(self, message, status_code=None):
        super().__init__(message)
        self.status_code = status_code

Examples

Complete Payment Flow

from tspay import TsPayClient, TsPayError

def process_payment(amount, description):
    try:
        client = TsPayClient()
        token = client.get_access_token("merchant@example.com", "securepassword")
        shops = client.get_user_shops(token)
        if not shops:
            raise Exception("No shops available")
        
        transaction = client.create_transaction(
            amount=amount,
            redirect_url="https://example.com/payment/callback",
            description=description,
            access_token=shops[0]['access_token']
        )
        
        return {
            'success': True,
            'payment_url': transaction['payment_url'],
            'transaction_id': transaction['cheque_id']
        }
    
    except TsPayError as e:
        return {'success': False, 'error': str(e)}

License

MIT License — LICENSE

Batafsil: https://tspay.uz

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

tspay_client-0.2.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

tspay_client-0.2.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file tspay_client-0.2.0.tar.gz.

File metadata

  • Download URL: tspay_client-0.2.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for tspay_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 308864294ea0f46a51df0236bd72dcf1e24acc515ac5a3a184c04a4bd9a8bd83
MD5 fe0aa8426b80f5b24e16b89562ec9409
BLAKE2b-256 8462182a3296c0fd84923b2d01c269c6715b413a35a511db53aa905a9ab93d90

See more details on using hashes here.

File details

Details for the file tspay_client-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tspay_client-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for tspay_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b688f58a33b65b733d1b38f2eae9f408e410a802b9b5d2138817e7625e97f7b5
MD5 070eb4775817634496c407d616aea232
BLAKE2b-256 c3bd91ea0019b1b23155dca35ac749cea8efd715e64719cbc1c61ef368ab7b7d

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