Skip to content

Latest commit

 

History

History
178 lines (125 loc) · 3.17 KB

File metadata and controls

178 lines (125 loc) · 3.17 KB

PayTech UZ Django

Payme, Click, Uzum to'lov tizimlari orqali buyurtmalar uchun to'lovlarga misol loyiha.

Quick Start

1. Virtual Environment yaratish

python3 -m venv venv
source venv/bin/activate  # MacOS/Linux
# yoki
venv\Scripts\activate     # Windows

2. Dependencies o'rnatish

pip install -r requirements.txt

3. Environment variables sozlash

cp .env.example .env
# .env faylini to'lov tizimlaringiz ma'lumotlari bilan to'ldiring

4. Database migratsiyalari

python manage.py migrate

5. Serverni ishga tushirish

python manage.py runserver

Server manzil: http://127.0.0.1:8000/


📋 API Endpoints

1. Order yaratish

Endpoint: POST /api/orders/create

Request Body:

{
  "product_name": "Premium Subscription",
  "amount": 50000,
  "payment_type": "payme"
}

Response (Success - 201):

{
  "invoice_id": 42,
  "payment_url": "https://checkout.paycom.uz/..."
}

Payment Types:

  • payme - Payme to'lov tizimi
  • click - Click to'lov tizimi
  • uzum - Uzum Bank to'lov tizimi

cURL Examples

Payme to'lovi yaratish

curl -X POST http://127.0.0.1:8000/api/orders/create \
  -H "Content-Type: application/json" \
  -d '{
    "product_name": "Banana",
    "amount": 50000,
    "payment_type": "payme"
  }'

Click to'lovi yaratish

curl -X POST http://127.0.0.1:8000/api/orders/create \
  -H "Content-Type: application/json" \
  -d '{
    "product_name": "Apple",
    "amount": 30000,
    "payment_type": "click"
  }'

Uzum to'lovi yaratish

curl -X POST http://127.0.0.1:8000/api/orders/create \
  -H "Content-Type: application/json" \
  -d '{
    "product_name": "Premium Plan",
    "amount": 50000,
    "payment_type": "uzum"
  }'

Configuration

.env fayli namunasi:

# PayTechUZ License Key (Majburiy)
PAYTECH_LICENSE_API_KEY=your_license_api_key
# License olish: https://docs.pay-tech.uz/console yoki @muhammadali_me (Telegram)

# Payme Configuration
PAYME_ID=your_payme_id
PAYME_KEY=your_payme_key

# Click Configuration
CLICK_SERVICE_ID=your_service_id
CLICK_MERCHANT_ID=your_merchant_id
CLICK_MERCHANT_USER_ID=your_merchant_user_id
CLICK_SECRET_KEY=your_secret_key

# Uzum Bank Configuration
UZUM_MERCHANT_ID=your_uzum_merchant_id
UZUM_MERCHANT_KEY=your_uzum_merchant_key
UZUM_TEST_MODE=True

Webhook Endpoints

To'lov tizimlaridan keladigan webhook'larni qabul qilish uchun:

  • Payme Webhook: POST /api/payments/payme/webhook/
  • Click Webhook: POST /api/payments/click/webhook/
  • Uzum Webhook: POST /api/payments/uzum/webhook/

Webhook'lar avtomatik ravishda order holatini yangilaydi:

  • successfully_payment() - To'lov muvaffaqiyatli amalga oshirilganda
  • cancelled_payment() - To'lov bekor qilinganda

Additional Resources


License

MIT License


Support

Savol yoki yordam kerak bo'lsa: