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:

{ "error": "Xatolik haqida xabar", "code": "error_code" }
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

POST /api/v1/user-info
Fragment orqali Telegram foydalanuvchi ma'lumotlarini olish

REQUEST BODY

Nomi Turi Tavsif
username * string Telegram username (@ siz). Pattern: ^[a-zA-Z][a-zA-Z0-9_]{2,31}$

JAVOB

{ "username": "uzcoder", "photo": "https://cdn4.telesco.pe/file/...", "name": "StarKerakBot ADMIN", "has_premium": false }

Stars narxi

POST /api/v1/stars/price
Fragment dan real-time Stars narxini olish (sotib olishdan oldin tekshirish uchun)

REQUEST BODY

Nomi Turi Tavsif
username * string Telegram username (@ siz)
quantity integer Stars miqdori (50 — 1,000,000). Default: 50

JAVOB

{ "username": "uzcoder", "name": "StarKerakBot ADMIN", "quantity": 100, "price_ton": "1.0241", "fee_ton": "0.020482", "total_ton": "1.044582", "currency": "TON", "commission_rate": "2%", "updated_at": "2026-04-12T18:44:59Z" }

Premium narxi

POST /api/v1/premium/price
Fragment dan real-time Premium narxini olish
Nomi Turi Tavsif
username * string Telegram username
months integer Muddat: 3, 6 yoki 12 oy. Default: 3
{ "username": "uzcoder", "name": "StarKerakBot ADMIN", "months": 3, "price_ton": "8.18", "fee_ton": "0.1636", "total_ton": "8.3436", "currency": "TON", "commission_rate": "2%", "updated_at": "2026-04-12T18:45:06Z" }

Stars sotib olish

POST /api/v1/stars/buy
Balansdan TON yechiladi, Fragment orqali Stars yetkaziladi.

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

{ "success": true, "id": "a1b2c3d4-e5f6-...", "receiver": "durov", "goods_quantity": 100, "sender": {"phone_number": "", "name": "Alijon"}, "ton_price": "1.0241", "fee_ton": "0.020482", "ref_id": "42", "status": "pending", "type": "stars", "error": null, "created_at": "2026-04-12T18:45:00Z" }

💡 Eslatma: Xato bo'lsa balans avtomatik qaytariladi (refund). Status pendingcompleted yoki failed

Premium sotib olish

POST /api/v1/premium/buy
Balansdan TON yechiladi, Fragment orqali Premium yetkaziladi
Nomi Turi Tavsif
username * string Telegram username
months * integer Muddat: 3, 6 yoki 12
response_url string<uri> Webhook URL. ≤ 4096 belgi
{ "success": true, "id": "a1b2c3d4-...", "receiver": "durov", "goods_quantity": 3, "ton_price": "8.18", "fee_ton": "0.1636", "status": "pending", "type": "premium_3", "error": null, "created_at": "2026-04-12T18:45:06Z" }

Order holati

GET /api/v1/order/{order_id}
Buyurtma holatini tekshirish
Nomi Turi Tavsif
order_id * integer Buyurtma ID (ref_id dan olinadi)

Javob formati OrderResponse bilan bir xil.

Balans

GET /api/v1/balance
Hisobingizdagi TON balansni tekshirish
{ "balance": "0.1", "currency": "TON", "username": "alijon" }

Narxlar katalogi

GET /api/v1/prices
Barcha Stars va Premium narxlarini ko'rish (Fragment dan real-time)
{ "stars": [ {"quantity": 50, "price": "0.52", "currency": "TON", "updated_at": "..."}, {"quantity": 100, "price": "1.04", "currency": "TON", "updated_at": "..."}, {"quantity": 500, "price": "5.1", "currency": "TON", "updated_at": "..."} ], "premium": [ {"months": 3, "price": "8.34", "currency": "TON", "updated_at": "..."}, {"months": 6, "price": "14.2", "currency": "TON", "updated_at": "..."}, {"months": 12, "price": "25.5", "currency": "TON", "updated_at": "..."} ] }

API holati

GET /api/v1/status
API ishlash holatini tekshirish (autentifikatsiya shart emas)
{ "status": "online", "service": "PayStars.uz API", "version": "2.2.0", "fragment": "connected", "commission": {"api": "2%", "bot": "10%"} }

Python namunasi

Python (requests)
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

Node.js (axios)
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

cURL
# 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:

{ "success": true, "id": "42", "receiver": "durov", "goods_quantity": 100, "ton_price": "1.0241", "fee_ton": "0.020482", "status": "completed", "type": "stars", "error": null }

Rate Limits

PayStars API xizmatida hech qanday limitlar yo'q. Tizimdan cheksiz ravishda, istalgan miqdorda foydalanishingiz mumkin.

Yordam kerakmi?

Telegram orqali yozing — tez javob beramiz

Telegram Support