FastAPI integratsiya misoli
PayTechUZ ni FastAPI bilan to'lov qayta ishlash uchun qanday integratsiya qilishni ko'rsatadigan to'liq FastAPI ilovasi misoli.
📁 To'liq loyiha
To'liq ishlaydigan FastAPI misoli GitHub da mavjud:
Bu misol quyidagilarni o'z ichiga oladi:
- ✅ To'liq FastAPI ilovasi sozlash
- ✅ Ma'lumotlar bazasi modellari va migratsiyalar
- ✅ To'lov shlyuzi integratsiyasi (Payme & Click)
- ✅ To'lov xabarnomalar uchun webhook ishlovchilari
- ✅ Buyurtmalarni boshqarish tizimi
- ✅ To'lovlar yaratish uchun API endpoints
- ✅ Xatoliklarni boshqarish va validatsiya
🚀 Tezkor boshlash
1. Misolni klonlash
git clone https://github.com/PayTechUz/paytechuz.git
cd paytechuz/examples/paytechuz_fastapi
2. Bog'liqliklarni o'rnatish
pip install -r requirements.txt
3. Muhitni sozlash
.env
faylini yarating:
# Payme konfiguratsiyasi
PAYME_ID=your_payme_id
PAYME_KEY=your_payme_key
# Click konfiguratsiyasi
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
# Ma'lumotlar bazasi
DATABASE_URL=sqlite:///./payments.db
# Ishlab chiqish rejimi
DEBUG=True
4. Ilovani ishga tushirish
uvicorn main:app --reload
Ilova quyidagi manzilda mavjud bo'ladi: http://localhost:8000
📋 Asosiy funksiyalar
Buyurtma yaratish
POST /orders/
{
"product_name": "Test mahsulot",
"amount": 50000,
"description": "Mahsulot tavsifi"
}
To'lov yaratish
POST /payments/create
{
"order_id": 1,
"payment_method": "payme" # yoki "click"
}
Webhook endpoints
POST /payments/payme/webhook
- Payme uchun webhookPOST /payments/click/webhook
- Click uchun webhook
🔧 Loyiha tuzilishi
paytechuz_fastapi/
├── main.py # Asosiy FastAPI ilovasi
├── models.py # Ma'lumotlar bazasi modellari
├── schemas.py # Pydantic sxemalari
├── database.py # Ma'lumotlar bazasi sozlash
├── payment_handlers.py # To'lov ishlovchilari
├── requirements.txt # Bog'liqliklar
└── .env.example # Konfiguratsiya misoli
📚 API hujjatlari
Ilovani ishga tushirgandan so'ng, API hujjatlari quyidagi manzillarda mavjud bo'ladi:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
🔗 Foydali havolalar
- O'rnatish - PayTechUZ o'rnatish
- FastAPI integratsiyasi - Batafsil qo'llanma
- Django integratsiyasi - Muqobil framework