Dasturchilar uchun API hujjatlari
CHECKOUT.UZ to’lov tizimini o’z platformangizga ulash uchun kerak bo’lgan barcha so’rovlar, parametrlar va misollar shu yerda.
https://checkout.uz/api/v1
Kirish
To'lovlarni yaratish, balansni tekshirish va kassa statistikasini boshqarish uchun yagona API tizimi.
Avtorizatsiya
Har bir so’rov Authorization sarlavhasida Bearer token ko’rinishida API kalitini o’z ichiga olishi kerak. API kalitni kassa sozlamalaridan olishingiz mumkin. Agar IP Whitelist yoqilgan bo’lsa, so’rov faqat ruxsat etilgan IP manzildan yuborilishi shart.
Authorization: Bearer YOUR_API_KEY
Kalitingiz faqat brauzeringizda saqlanadi va so’rov to’g’ridan-to’g’ri tanlangan serverga yuboriladi.
Webhook
To’lov muvaffaqiyatli tasdiqlanganda, tizim quyidagi ma’lumotni POST so’rovi orqali sizning webhook manzilingizga yuboradi. Ikki manzil ishlatilishi mumkin: kassa sozlamalaridagi umumiy "Webhook URL" va/yoki /create_payment chaqirilganda webhook_url parametri orqali ko’rsatilgan manzil — ikkalasi ham sozlangan bo’lsa, ikkalasiga alohida-alohida yuboriladi.
Yuboriladigan ma’lumot (payload)
{
"webhook_type": "version_1_1",
"status": "success",
"event": "payment_confirmed",
"payment_system": "click",
"shop_id": 3,
"data": {
"order_id": 45180,
"amount": 5000,
"currency": "UZS",
"status": "paid",
"provider_details": {
"...": "provayderga xos xom (raw) maydonlar"
},
"perform_time": 1784393083895
},
"timestamp": 1784393083
}
Maydonlar
| Nomi | Turi | Tavsif |
|---|---|---|
| webhook_type | string | Webhook formatining versiyasi. |
| status | string | Har doim "success" (yuborish muvaffaqiyatli amalga oshirilgani, to’lovning holati emas). |
| event | string | Hodisa turi. Hozircha faqat "payment_confirmed". |
| payment_system | string | To’lov amalga oshirilgan tizim kaliti (masalan click, payme, plum). |
| shop_id | integer | Kassa identifikatori. |
| data.order_id | integer | To’lovga tegishli invoys ID raqami (/create_payment javobidagi _id bilan bir xil). |
| data.amount | number | To’lov summasi. |
| data.currency | string | Valyuta. Hozircha har doim "UZS". |
| data.status | string | Har doim "paid". |
| data.provider_details | object | To’lov tizimidan kelgan xom (raw) ma’lumot - tizimga qarab tarkibi farq qiladi. |
| data.perform_time | integer | To’lov amalga oshirilgan vaqt (millisekundlarda, Unix timestamp). |
| timestamp | integer | Webhook yuborilgan vaqt (sekundlarda, Unix timestamp). |
Kutilayotgan javob
Serveringiz HTTP 200 kod bilan javob qaytarishi kifoya. Hozircha muvaffaqiyatsiz urinish avtomatik qayta yuborilmaydi.
/create_payment
Yangi to'lov xavolasini yaratish (Invoice)
Parametrlar
| Nomi | Turi | Majburiy | Tavsif |
|---|---|---|---|
| amount | number | majburiy | To'lov summasi (so'mda). Minimal: 1000, maksimal: 10 000 000. |
| description | string | ixtiyoriy | Ixtiyoriy. Buyurtma haqida qisqacha izoh, to'lov sahifasida mijozga ko'rsatiladi. |
| webhook_url | string | ixtiyoriy | Ixtiyoriy. To'lov tasdiqlangach, natija shu manzilga ham yuboriladi (kassaning umumiy webhook manziliga qo'shimcha ravishda). |
Kod namunasi
curl -X POST "https://checkout.uz/api/v1/create_payment" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 50000,
"description": "Buyurtma #12345",
"webhook_url": "https://mysite.uz/webhooks/checkout"
}'
Javob namunasi
{
"status": "success",
"payment": {
"_id": 152,
"_uuid": "550e8400-e29b-41d4-a716-446655440000",
"_url": "https://checkout.uz/pay/550e8400-e29b-41d4-a716-446655440000",
"_amount": 50000,
"_status": "pending",
"_pay_via": {
"click": "https://checkout.uz/pay/550e8400-e29b-41d4-a716-446655440000/click",
"payme": "https://checkout.uz/pay/550e8400-e29b-41d4-a716-446655440000/payme"
},
"custom_payment_pages": [
{
"domain": "pay.mydomain.uz",
"_url": "https://pay.mydomain.uz/pay/550e8400-e29b-41d4-a716-446655440000"
}
],
"_lifteme": {
"_second": 3600,
"_hour": 1
}
}
}
Sinab ko’rish
/status_payment
To'lov holatini ID yoki UUID orqali tekshirish
Parametrlar
| Nomi | Turi | Majburiy | Tavsif |
|---|---|---|---|
| id | integer | ixtiyoriy | Invoice ID raqami |
| uuid | string | ixtiyoriy | To'lovning UUID kodi |
Kod namunasi
curl -X POST "https://checkout.uz/api/v1/status_payment" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": 0,
"uuid": ""
}'
Javob namunasi
{
"status": "success",
"data": {
"id": 152,
"amount": 50000,
"status": "paid",
"created_at": "2026-01-31 10:00:00",
"paid_at": "2026-01-31 10:05:22"
}
}
Sinab ko’rish
/get_balance
Kassa balansini barcha valyutalarda olish
Ushbu so’rov tana (body) talab qilmaydi.
Kod namunasi
curl -X POST "https://checkout.uz/api/v1/get_balance" \ -H "Authorization: Bearer YOUR_API_KEY"
Javob namunasi
{
"status": "success",
"balance": {
"uzs": 2500000,
"usd": 120,
"ton": 15.5
}
}
Sinab ko’rish
/get_history
Oxirgi tranzaksiyalar ro'yxati
Parametrlar
| Nomi | Turi | Majburiy | Tavsif |
|---|---|---|---|
| limit | integer | ixtiyoriy | Ixtiyoriy. Qaytariladigan tranzaksiyalar soni. |
Kod namunasi
curl -X POST "https://checkout.uz/api/v1/get_history" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"limit": 10
}'
Javob namunasi
{
"status": "success",
"data": [
{
"id": 152,
"amount": 50000,
"status": "paid",
"created_at": "2026-01-31 10:00:00",
"paid_at": "2026-01-31 10:05:22"
},
{
"id": 151,
"amount": 120000,
"status": "paid",
"created_at": "2026-01-30 18:22:11",
"paid_at": "2026-01-30 18:23:40"
}
]
}
Sinab ko’rish
/get_stats
Kassa bo'yicha umumiy statistika
Ushbu so’rov tana (body) talab qilmaydi.
Kod namunasi
curl -X POST "https://checkout.uz/api/v1/get_stats" \ -H "Authorization: Bearer YOUR_API_KEY"
Javob namunasi
{
"status": "success",
"stats": {
"total_orders": 450,
"total_amount": 12500000.5
}
}