01Qanday ishlaydi
- Kassa oching. Ro'yxatdan o'ting, kassa arizasini yuboring. Admin tasdiqlagach API kalit beriladi.
- To'lov yarating.
POST /createga summa vacallback_urlyuboring — javobdapay_urlkeladi. - Mijozga havolani bering. Mijoz checkout sahifasida Click, Payme, Paynet yoki Xazna'ni tanlab to'laydi.
- Callback'ni qabul qiling.
status=paidkeladi, imzoni tekshirib buyurtmani yopasiz.
02Checkout sahifasi
Checkout sahifasi tayyor: o'zingiz forma yoki dizayn qilishingiz shart emas. Mijoz pay.tolovgo.uz/pay/… havolasini ochadi, to'lov tizimini tanlaydi, to'lagach chek ko'radi.
To'lov havolasi 1 soat amal qiladi, keyin expired holatiga o'tadi. return_url bersangiz, mijoz to'lovdan keyin saytingiz yoki botingizga qaytadi.
Click, Payme, Paynet va Xazna'ni har kassada alohida yoqish va o'chirish mumkin. Javobdagi providers maydonida har tizimning to'g'ridan-to'g'ri havolasi ham bor — o'z checkout tugmalaringizni yasash uchun.
03API yo'llari
https://pay.tolovgo.uz/api
| Metod | Yo'l | Vazifasi |
|---|---|---|
| POST | /create | To'lov yaratish, javobda pay_url |
| GET | /status/{order_id} | To'lov holati |
| POST | /v1/orders | To'lov yaratish (v1): external_id, to'lovchi ma'lumoti, JSON callback |
| GET | /v1/orders/{id} | To'lov holati (v1) |
04Kod namunasi
To'lov yaratish — PHP va Python. Kalitni kabinetdagi kassa sahifasidan olasiz.
PHP
$ch = curl_init('https://pay.tolovgo.uz/api/create');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['X-Api-Key: KALIT'],
CURLOPT_POSTFIELDS => ['amount' => 25000, 'callback_url' => 'https://example.uz/tolov'],
CURLOPT_RETURNTRANSFER => true,
]);
$javob = json_decode(curl_exec($ch), true);
echo $javob['pay_url']; // https://pay.tolovgo.uz/pay/…
Python
import requests
r = requests.post('https://pay.tolovgo.uz/api/create',
headers={'X-Api-Key': 'KALIT'},
data={'amount': 25000, 'callback_url': 'https://example.uz/tolov'})
print(r.json()['pay_url']) # https://pay.tolovgo.uz/pay/…
05Xavfsizlik
- Har callback HMAC-SHA256 bilan imzolanadi (
X-Rox-Signature), vaqt belgisi bilan — soxta va eski so'rovni ajratib olasiz. - API kalitga IP cheklovi qo'yish mumkin. Kalit bazada ochiq saqlanmaydi.
- Holatlar:
pending,paid,expired,cancelled,refunded. Buyurtmani yopishdan oldinGET /statusbilan tasdiqlash mumkin.
To'liq hujjat: maydonlar, imzo, xato kodlari →
Telegram botda to'lov →
06Savollar
Qaysi to'lov tizimlari ulanadi?
Click, Payme, Paynet va Xazna. Hammasi bitta API va bitta checkout sahifasi orqali — har tizim bilan alohida shartnoma va integratsiya kerak emas.
API Telegram botdan boshqa joyda ishlaydimi?
Ha. API oddiy HTTPS so'rovlar bilan ishlaydi: sayt, Telegram bot yoki mobil ilova backend'idan chaqirish mumkin.
Narxi qancha?
Har to'lovdan 6% xizmat haqi ushlanadi, oylik to'lov yo'q. Kartaga yechish: manual — komissiyasiz, tezroq — 1%.
To'lov bo'lganini qanday bilaman?
callback_url ga imzolangan xabar keladi. Shuningdek GET /status/{order_id} bilan holatni istalgan payt so'rash mumkin.
Qancha summa qabul qilinadi?
Bitta to'lov 1 000 so'mdan 99 999 999 so'mgacha.