Umumiy ma'lumot
PayStars.uz API orqali tashqi dasturlar va xizmatlardan Telegram Stars va Premium sotib olish mumkin. API RESTful arxitekturada qurilgan va JSON formatida javob qaytaradi. Barcha narxlar TON valyutasida, Fragment.com dan real-time olinadi.
Base URL: https://paystars.uz/api/v1
Content-Type: application/json
Valyuta: TON (Toncoin)
Autentifikatsiya
Barcha API so'rovlari X-API-Key header orqali autentifikatsiya qilinadi.
API key ni Dashboard orqali yaratishingiz mumkin.
Header: X-API-Key: ps_your_api_key_here
API key yaratish uchun: Dashboard → API Keys → Yangi key tugmasini bosing.
Xatoliklar
API xatolik yuz berganda quyidagi formatda javob qaytaradi:
| Code | Tavsif |
|---|---|
invalid_username |
Username noto'g'ri formatda |
user_not_found |
Foydalanuvchi Fragment da topilmadi |
already_premium |
User allaqachon Premium obunachisi |
insufficient_balance |
TON balans yetarli emas |
price_unavailable |
Fragment dan narx olinmadi |
service_unavailable |
Fragment xizmati vaqtincha ishlamayapti |
invalid_quantity |
Stars miqdori 50-1000000 orasida bo'lishi kerak |
invalid_months |
Faqat 3, 6 yoki 12 oy |
User Info
REQUEST BODY
| Nomi | Turi | Tavsif |
|---|---|---|
| username * | string | Telegram username (@ siz). Pattern:
^[a-zA-Z][a-zA-Z0-9_]{2,31}$ |
JAVOB
Stars narxi
REQUEST BODY
| Nomi | Turi | Tavsif |
|---|---|---|
| username * | string | Telegram username (@ siz) |
| quantity | integer | Stars miqdori (50 — 1,000,000). Default: 50 |
JAVOB
Premium narxi
| Nomi | Turi | Tavsif |
|---|---|---|
| username * | string | Telegram username |
| months | integer | Muddat: 3, 6 yoki 12 oy. Default: 3
|
Stars sotib olish
REQUEST BODY
| Nomi | Turi | Tavsif |
|---|---|---|
| username * | string | Telegram username. Pattern: ^[a-zA-Z][a-zA-Z0-9_]{2,31}$ |
| quantity * | integer | Stars miqdori (50 — 1,000,000) |
| response_url | string<uri> | Webhook URL — buyurtma tugaganda POST yuboriladi. ≤ 4096 belgi |
JAVOB — OrderResponse
💡 Eslatma: Xato bo'lsa balans avtomatik qaytariladi (refund).
Status pending → completed yoki failed
Premium sotib olish
| Nomi | Turi | Tavsif |
|---|---|---|
| username * | string | Telegram username |
| months * | integer | Muddat: 3, 6 yoki 12 |
| response_url | string<uri> | Webhook URL. ≤ 4096 belgi |
Order holati
| Nomi | Turi | Tavsif |
|---|---|---|
| order_id * | integer | Buyurtma ID (ref_id dan olinadi) |
Javob formati OrderResponse bilan bir xil.
Balans
Narxlar katalogi
API holati
Python namunasi
import requests # API key API_KEY = "ps_your_api_key_here" BASE_URL = "https://paystars.uz/api/v1" headers = { "X-API-Key": API_KEY, "Content-Type": "application/json" } # 1️⃣ User info tekshirish info = requests.post( f"{BASE_URL}/user-info", headers=headers, json={"username": "durov"} ).json() print(f"Premium: {info['has_premium']}") # 2️⃣ Narxni tekshirish price = requests.post( f"{BASE_URL}/stars/price", headers=headers, json={"username": "durov", "quantity": 100} ).json() print(f"100 Stars = {price['total_ton']} TON") # 3️⃣ Stars sotib olish order = requests.post( f"{BASE_URL}/stars/buy", headers=headers, json={ "username": "durov", "quantity": 100 } ).json() print(f"Order: {order['status']}") # 4️⃣ Balans tekshirish balance = requests.get( f"{BASE_URL}/balance", headers=headers ).json() print(f"Balans: {balance['balance']} TON")
Node.js namunasi
const axios = require('axios'); const client = axios.create({ baseURL: 'https://paystars.uz/api/v1', headers: { 'X-API-Key': 'ps_your_api_key_here', 'Content-Type': 'application/json' } }); // User info tekshirish const info = await client.post('/user-info', { username: 'durov' }); // Narx olish const price = await client.post('/stars/price', { username: 'durov', quantity: 100 }); // Stars sotib olish const order = await client.post('/stars/buy', { username: 'durov', quantity: 100 }); // Premium sotib olish const premium = await client.post('/premium/buy', { username: 'durov', months: 3 });
cURL namunasi
# User info tekshirish curl -X POST https://paystars.uz/api/v1/user-info \ -H "Content-Type: application/json" \ -H "X-API-Key: ps_your_api_key_here" \ -d '{"username": "durov"}' # Stars narxini olish curl -X POST https://paystars.uz/api/v1/stars/price \ -H "Content-Type: application/json" \ -H "X-API-Key: ps_your_api_key_here" \ -d '{"username": "durov", "quantity": 100}' # Premium narxini olish curl -X POST https://paystars.uz/api/v1/premium/price \ -H "Content-Type: application/json" \ -H "X-API-Key: ps_your_api_key_here" \ -d '{"username": "durov", "months": 3}' # Stars sotib olish curl -X POST https://paystars.uz/api/v1/stars/buy \ -H "Content-Type: application/json" \ -H "X-API-Key: ps_your_api_key_here" \ -d '{"username": "durov", "quantity": 100}' # Premium sotib olish curl -X POST https://paystars.uz/api/v1/premium/buy \ -H "Content-Type: application/json" \ -H "X-API-Key: ps_your_api_key_here" \ -d '{"username": "durov", "months": 3}' # Balans tekshirish curl https://paystars.uz/api/v1/balance \ -H "X-API-Key: ps_your_api_key_here" # Order holati curl https://paystars.uz/api/v1/order/42 \ -H "X-API-Key: ps_your_api_key_here" # API holati (auth shart emas) curl https://paystars.uz/api/v1/status
Webhook (response_url)
Agar response_url berilsa, buyurtma tugaganda shu URL ga POST yuboriladi:
Rate Limits
PayStars API xizmatida hech qanday limitlar yo'q. Tizimdan cheksiz ravishda, istalgan miqdorda foydalanishingiz mumkin.