CHECKOUT.UZ API v2
Вернуться к документации v1

О API v2

Эта версия пока не объявлена публично (бета). v1 продолжает работать без изменений - v2 просто добавляет новые возможности (возврат, отмена, мониторинг webhook, ограниченные ключи, данные уровня профиля).

Базовый адрес https://checkout.uz/api/v2

"Ключ кассы" - API-ключ из настроек кассы (Authorization: Bearer). "Ключ профиля" - отдельный ключ со страницы Профиль, для данных уровня аккаунта.

Ключ сохраняется в вашем браузере и не отправляется нам - используется только для этого запроса.

To'lovlar

Ixtiyoriy expire_time (soniyada) qo'shish mumkin, standart 1 soat. Takroriy so'rovning oldini olish uchun "Idempotency-Key" sarlavhasi (header) qo'shish mumkin - shu kalit bilan 24 soat ichida qayta so'ralsa, yangisi ochilmaydi, eski invoys qaytariladi.

Параметры

amount (number, Обязательно)
To'lov summasi (so'mda). Minimal 1000, maksimal 10 000 000.
expire_time (number, Необязательно)
Invoys qancha sekunddan keyin avtomatik bekor bo'lishi. Berilmasa - 3600 (1 soat). Minimal 60, maksimal 432000 (5 kun).
description (string, Необязательно)
Buyurtma haqida qisqacha izoh.
webhook_url (string, Необязательно)
Shu invoys uchun qo'shimcha webhook manzili - to'lov tasdiqlanganda, muddati tuganda yoki bekor qilinganda xabar yuboriladi.
return_url (string, Необязательно)
To'lovdan keyin mijoz qaytariladigan manzil.

Пример ответа

{
    "status": "success",
    "idempotent_replay": false,
    "payment": {
        "_id": 12345,
        "_uuid": "78144b2f-95be-4c1a-9c2e-abcdef123456",
        "_url": "https://checkout.uz/pay/78144b2f-95be-4c1a-9c2e-abcdef123456",
        "_amount": 50000,
        "_status": "pending",
        "_pay_via": {
            "payme": "https://checkout.uz/pay/78144b2f.../payme",
            "click": "https://checkout.uz/pay/78144b2f.../click"
        },
        "_return_url": null,
        "_lifteme": {
            "_second": 86400,
            "_hour": 24
        }
    }
}

Возможные ошибки

400 amount chegaradan tashqarida YOKI expire_time 60-432000 oralig'ida emas
Проверить запрос


                                                    

                                                    
                                                

Javobda qo'shimcha "provider" (qaysi tizim orqali to'langani) va "description" maydonlari bor. id yoki uuid'dan bittasi yetarli.

Параметры

id (number, Необязательно)
Invoys ID (create_payment javobidagi payment._id). uuid berilmasa shart.
uuid (string, Необязательно)
Invoys UUID (pay_token, payment._uuid). id berilmasa shart.

Пример ответа

{
    "status": "success",
    "data": {
        "id": 12345,
        "amount": 50000,
        "description": "Buyurtma #123",
        "status": "paid",
        "created_at": "2026-09-27 10:00:00",
        "paid_at": "2026-09-27 10:05:12",
        "provider": "payme"
    }
}
Проверить запрос


                                                    

                                                    
                                                

Muvaffaqiyatli bo'lsa karta egasiga SMS-kod yuboriladi, javobdagi payment_token 5 daqiqa amal qiladi.

Параметры

order_id (number, Обязательно)
Invoys ID.
card_number (string, Обязательно)
Karta raqami (16 xonali).
card_expiry (string, Обязательно)
Kartaning amal qilish muddati, MM/YY formatida (masalan 12/28).

Пример ответа

{
    "status": "success",
    "message": "Tasdiqlash kodi yuborildi",
    "payment_token": "9f1c2e3a-...-payment"
}
Проверить запрос


                                                    

                                                    
                                                

pay_via_card'dan olingan payment_token va SMS kodni yuborib, to'lovni yakunlaydi.

Параметры

payment_token (string, Обязательно)
pay_via_card javobidagi payment_token (5 daqiqa amal qiladi).
sms_code (string, Обязательно)
Karta egasiga SMS orqali kelgan tasdiqlash kodi.

Пример ответа

{
    "status": "success",
    "type": "success"
}
Проверить запрос


                                                    

                                                    
                                                

Qaytarish va bekor qilish

Faqat Plum, Payme yoki Click orqali to'langan, hali 22 soat o'tmagan to'lovlar uchun ishlaydi.

Параметры

order_id (number, Обязательно)
Qaytarilishi kerak bo'lgan invoys ID.

Пример ответа

{
    "status": "success",
    "order_id": 12345,
    "amount": 50000,
    "provider": "click"
}

Возможные ошибки

404 To'lov topilmadi yoki allaqachon qaytarilgan
409 22 soatlik oyna o'tib ketgan
502 Provayder qaytarishni rad etdi
Проверить запрос


                                                    

                                                    
                                                

Pul hali harakatlanmagan (pending) invoysni bekor qiladi, holatni 'canceled'ga o'zgartiradi.

Параметры

order_id (number, Обязательно)
Bekor qilinishi kerak bo'lgan invoys ID.

Пример ответа

{
    "status": "success",
    "order_id": 12345,
    "order_status": "canceled"
}

Возможные ошибки

404 Invoys topilmadi
409 Invoys 'pending' holatida emas
Проверить запрос


                                                    

                                                    
                                                

Hisobot

Valyuta kalitlari katta harfda qaytadi (masalan "UZS").

Параметры не требуются

Пример ответа

{
    "status": "success",
    "balance": {
        "UZS": 125000
    }
}
Проверить запрос


                                                    

                                                    
                                                

Sana/holat bo'yicha filtrlash va sahifalash qo'shilgan, javobda has_more keyingi sahifa bor-yo'qligini bildiradi.

Параметры

limit (number, Необязательно)
Nechta yozuv qaytarilishi (standart 10, maksimal 200).
offset (number, Необязательно)
Nechta yozuvdan boshlab qaytarilishi (sahifalash uchun, standart 0).
status (string, Необязательно)
Faqat shu holatdagi invoyslar.
pending paid canceled reversed
date_from (string, Необязательно)
Shu sanadan (YYYY-MM-DD yoki YYYY-MM-DD HH:mm:ss) keyin yaratilganlar.
date_to (string, Необязательно)
Shu sanagacha yaratilganlar.

Пример ответа

{
    "status": "success",
    "has_more": true,
    "data": [
        {
            "id": 12345,
            "uuid": "78144b2f-95be-4c1a-9c2e-abcdef123456",
            "amount": 50000,
            "description": "Buyurtma #123",
            "status": "paid",
            "created_at": "2026-09-27 10:00:00",
            "paid_at": "2026-09-27 10:05:12",
            "webhook_url": null,
            "return_url": null,
            "expire_seconds": 3600
        }
    ]
}
Проверить запрос


                                                    

                                                    
                                                

Sana oralig'i bo'yicha filtrlash mumkin, javobda by_provider (tizim bo'yicha taqsimot) va unattributed_amount bor.

Параметры

date_from (string, Необязательно)
Shu sanadan (YYYY-MM-DD yoki YYYY-MM-DD HH:mm:ss) keyin yaratilganlar.
date_to (string, Необязательно)
Shu sanagacha yaratilganlar.

Пример ответа

{
    "status": "success",
    "stats": {
        "total_orders": 42,
        "total_amount": 2500000,
        "by_provider": {
            "click": {
                "count": 15,
                "amount": 900000
            },
            "payme": {
                "count": 20,
                "amount": 1300000
            },
            "plum": {
                "count": 7,
                "amount": 300000
            }
        },
        "unattributed_amount": 0
    }
}
Проверить запрос


                                                    

                                                    
                                                

Har bir usul uchun min/max summa va fiskal chek qo'llab-quvvatlanishi (fiscal_supported) ko'rsatiladi.

Параметры не требуются

Пример ответа

{
    "status": "success",
    "data": [
        {
            "key": "click",
            "name": "Click - O'zbekiston",
            "logo_light": "https://...click-light.png",
            "logo_dark": "https://...click-dark.png",
            "min_amount": 1000,
            "max_amount": 10000000,
            "fiscal_supported": true
        },
        {
            "key": "paynet",
            "name": "Paynet - O'zbekiston",
            "logo_light": "",
            "logo_dark": "",
            "min_amount": 1000,
            "max_amount": 1000000,
            "fiscal_supported": false
        }
    ]
}
Проверить запрос


                                                    

                                                    
                                                

Pul yechish

Kassa api_key yoki profil profile_api_key bilan ishlaydi.

Параметры

currency (string, Необязательно)
Faqat shu valyutadagi usullar (masalan 'UZS'). Berilmasa - barcha faol usullar.

Пример ответа

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "method_name": "Bank karta (O'zbekiston)",
            "currency": "UZS",
            "min_amount": 40000,
            "max_amount": 13000000,
            "fee_percent": 7.5,
            "fields": [
                {
                    "name": "card_number",
                    "label": "Karta raqami",
                    "placeholder": "8600 ..."
                },
                {
                    "name": "card_name",
                    "label": "Karta egasi",
                    "placeholder": "F.I.Sh"
                }
            ]
        }
    ]
}
Проверить запрос


                                                    

                                                    
                                                

Pul yechish so'rovidan oldin karta egasini alohida tekshirish imkonini beradi. Faqat profil kaliti bilan ishlaydi.

Параметры

card_number (string, Обязательно)
Tekshiriladigan karta raqami.

Пример ответа

{
    "status": "success",
    "name": "ISMOIL KARIMOV"
}

Возможные ошибки

400 card_number kiritilmagan
422 Karta topilmadi yoki identifikatsiya ma'lumotlariga mos kelmadi
Проверить запрос


                                                    

                                                    
                                                

Xavfsizlik uchun ikki kalit kerak: profil kaliti (header) va kassaning o'z api_key'i (shop_token, tanada). Balans darhol ayiriladi, so'rov admin tasdig'ini kutadi.

Параметры

shop_id (number, Обязательно)
Qaysi kassadan yechish - shu profilga tegishli bo'lishi shart.
method_id (number, Обязательно)
get_withdrawal_methods javobidagi usul ID.
shop_token (string, Обязательно)
shop_id'dagi kassaning o'z API kaliti (2-bosqich tasdiqlash uchun).
amount (number, Обязательно)
Yechish miqdori (usulning min/max oralig'ida).
currency (string, Обязательно)
Masalan 'UZS'. Usulning valyutasiga mos bo'lishi shart.
fields (object, Обязательно)
get_withdrawal_methods'dagi shu usul uchun e'lon qilingan BARCHA maydonlar.

Пример ответа

{
    "status": "success",
    "message": "Ariza qabul qilindi",
    "withdrawal_id": 546
}

Возможные ошибки

400 Majburiy maydon yo'q yoki miqdor min/max dan tashqarida
403 shop_id bu profilga tegishli emas YOKI shop_token noto'g'ri
404 Usul topilmadi yoki valyuta mos kelmadi
422 Karta egasining ismi identifikatsiya ma'lumotlariga mos kelmadi
429 So'nggi 1 soat ichida xuddi shu summa+valyutada ariza yuborilgan
Проверить запрос


                                                    

                                                    
                                                

Faqat kassa api_key'i bilan ishlaydi, natija shu kassaning o'z arizalari bilan cheklanadi.

Параметры

limit (number, Необязательно)
Nechta yozuv qaytarilishi (standart 10, maksimal 200).
offset (number, Необязательно)
Nechta yozuvdan boshlab qaytarilishi (sahifalash uchun, standart 0).
status (string, Необязательно)
Faqat shu holatdagi arizalar.
Ariza olingan Tasdiqlandi Bekor qilindi
date_from (string, Необязательно)
Shu sanadan (YYYY-MM-DD yoki YYYY-MM-DD HH:mm:ss) keyin yuborilganlar.
date_to (string, Необязательно)
Shu sanagacha yuborilganlar.

Пример ответа

{
    "status": "success",
    "has_more": false,
    "data": [
        {
            "id": 546,
            "amount": 100000,
            "currency": "UZS",
            "status": "Ariza olingan",
            "method_id": 1,
            "fields": {
                "card_number": "8600123412345678",
                "card_name": "ISMOIL KARIMOV"
            },
            "created_at": "2026-10-01 10:00:00"
        }
    ]
}
Проверить запрос


                                                    

                                                    
                                                

Fiscal chek

Hozircha faqat Payme va Click orqali to'langan invoyslar uchun ishlaydi.

Параметры

order_id (number, Обязательно)
Invoys ID.

Пример ответа

{
    "status": "success",
    "fiscal_url": "https://..."
}

Возможные ошибки

501 Bu to'lov tizimi uchun fiscal chek hali qo'llab-quvvatlanmaydi
Проверить запрос


                                                    

                                                    
                                                

Profil (hisob darajasida)

Kassa api_key'i EMAS - Profil sahifasidagi ALOHIDA profile_api_key bilan ishlaydi. Faqat o'qish, moliyaviy amal yo'q.

Параметры не требуются

Пример ответа

{
    "status": "success",
    "id": 5,
    "login": "otabekhde",
    "email": "user@example.com",
    "email_verified": true
}
Проверить запрос


                                                    

                                                    
                                                

Profil kalitiga tegishli barcha kassalarning asosiy ma'lumotini qaytaradi.

Параметры не требуются

Пример ответа

{
    "status": "success",
    "count": 2,
    "shops": [
        {
            "id": 3,
            "shop_name": "CHECKOUT.UZ",
            "status": "Faol",
            "balance_uzs": 9889
        }
    ]
}
Проверить запрос


                                                    

                                                    
                                                

Har bir kassa uchun alohida so'rov yubormasdan, barcha kassalar bo'yicha birlashtirilgan statistikani qaytaradi.

Параметры

date_from (string, Необязательно)
Shu sanadan (YYYY-MM-DD yoki YYYY-MM-DD HH:mm:ss) keyin yaratilganlar.
date_to (string, Необязательно)
Shu sanagacha yaratilganlar.

Пример ответа

{
    "status": "success",
    "stats": {
        "total_orders": 1109,
        "total_amount": 3727845,
        "by_provider": {
            "click": {
                "count": 114,
                "amount": 1122149
            },
            "payme": {
                "count": 99,
                "amount": 2014529
            }
        },
        "unattributed_amount": 25000,
        "by_shop": [
            {
                "shop_id": 59,
                "shop_name": "LiveSMSBot",
                "total_orders": 659,
                "total_amount": 3378000
            },
            {
                "shop_id": 3,
                "shop_name": "CHECKOUT.UZ",
                "total_orders": 376,
                "total_amount": 165345
            }
        ]
    }
}
Проверить запрос