Официальный справочник API

Документация API для разработчиков

Все запросы, параметры и примеры, необходимые для подключения платёжной системы CHECKOUT.UZ к вашей платформе.

Базовый адрес https://checkout.uz/api/v1
Смотреть как llm.txt Готовые плагины

Введение

To'lovlarni yaratish, balansni tekshirish va kassa statistikasini boshqarish uchun yagona API tizimi.

Авторизация

Каждый запрос должен содержать API-ключ в заголовке Authorization в формате Bearer token. Ключ API можно получить в настройках кассы. Если включён IP Whitelist, запрос должен отправляться только с разрешённого IP-адреса.

Header
Authorization: Bearer YOUR_API_KEY

Ваш ключ сохраняется только в браузере, запрос отправляется напрямую на выбранный сервер.

Webhook

Когда платёж успешно подтверждён, система отправляет POST-запрос с указанными ниже данными на ваш webhook-адрес. Может использоваться два адреса: общий "Webhook URL" в настройках кассы и/или адрес, указанный в параметре webhook_url при вызове /create_payment — если настроены оба, данные отправляются на каждый отдельно.

Отправляемые данные (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
}

Поля

Имя Тип Описание
webhook_type string Версия формата webhook.
status string Всегда "success" (означает успешную отправку, а не статус платежа).
event string Тип события. Пока только "payment_confirmed".
payment_system string Ключ платёжной системы (например click, payme, plum).
shop_id integer Идентификатор кассы.
data.order_id integer ID инвойса, связанного с платежом (совпадает с _id в ответе /create_payment).
data.amount number Сумма платежа.
data.currency string Валюта. Пока всегда "UZS".
data.status string Всегда "paid".
data.provider_details object Необработанные (raw) данные от платёжной системы - структура зависит от системы.
data.perform_time integer Время выполнения платежа (в миллисекундах, Unix timestamp).
timestamp integer Время отправки webhook (в секундах, Unix timestamp).

Ожидаемый ответ

Вашему серверу достаточно ответить кодом HTTP 200. Повторная отправка при неудаче пока не реализована.

post /create_payment

Yangi to'lov xavolasini yaratish (Invoice)

Параметры

Имя Тип Обязательно Описание
amount number обязательно To'lov summasi (so'mda). Minimal: 1000, maksimal: 10 000 000.
description string необязательно Ixtiyoriy. Buyurtma haqida qisqacha izoh, to'lov sahifasida mijozga ko'rsatiladi.
webhook_url string необязательно Ixtiyoriy. To'lov tasdiqlangach, natija shu manzilga ham yuboriladi (kassaning umumiy webhook manziliga qo'shimcha ravishda).
return_url string необязательно Ixtiyoriy. To'lov muvaffaqiyatli yakunlangach, mijoz avtomatik shu manzilga qaytariladi (masalan, do'koningizning "buyurtma qabul qilindi" sahifasi). Ko'rsatilmasa, mijoz checkout.uz'ning o'z "to'landi" sahifasida qoladi.

Пример кода

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",
    "return_url": "https://mysite.uz/order-received/12345"
}'

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

{
    "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"
        },
        "_return_url": "https://mysite.uz/order-received/12345",
        "_lifteme": {
            "_second": 3600,
            "_hour": 1
        }
    }
}

Попробовать

post /status_payment

To'lov holatini ID yoki UUID orqali tekshirish

Параметры

Имя Тип Обязательно Описание
id integer необязательно Invoice ID raqami
uuid string необязательно To'lovning UUID kodi

Пример кода

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": ""
}'

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

{
    "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"
    }
}

Попробовать

post /get_fiscal

Buyurtmaning fiskal chek ma'lumotini olish (order_id orqali)

Параметры

Имя Тип Обязательно Описание
order_id integer обязательно Invoice (buyurtma) ID raqami

Пример кода

curl -X POST "https://checkout.uz/api/v1/get_fiscal" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id": 0
}'

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

200 OK

Попробовать

post /pay_via_card

Kartaga to'g'ridan-to'g'ri to'lov - 1-qadam (SMS kod yuborish)

Параметры

Имя Тип Обязательно Описание
order_id integer обязательно create_payment javobidagi payment._id (to'lanishi kerak bo'lgan invoys ID'si).
card_number string обязательно Karta raqami (16 xonali, bo'sh joysiz yoki bo'sh joy bilan - ikkalasi ham qabul qilinadi).
card_expiry string обязательно Kartaning amal qilish muddati, OY/YIL (MM/YY) formatida.

Пример кода

curl -X POST "https://checkout.uz/api/v1/pay_via_card" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id": 12345,
    "card_number": "8600123456789012",
    "card_expiry": "12/28"
}'

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

{
    "status": "success",
    "message": "Tasdiqlash kodi hamyoningiz ulangan telefonga yuborildi.",
    "payment_token": "2Q85LemHnysZBQWSgubRX6hL7h8ZfuaXKP-ma2CNZlZVyBtCPwlGsMZTGUfiJWWdQmzVSB5a3Wfeuu..."
}

Попробовать

post /confirm_card_payment

Kartaga to'g'ridan-to'g'ri to'lov - 2-qadam (SMS kodni tasdiqlash)

Параметры

Имя Тип Обязательно Описание
payment_token string обязательно pay_via_card javobidan olingan token (5 daqiqa amal qiladi).
sms_code string обязательно Kartaga bog'langan telefonga kelgan tasdiqlash kodi (odatda 6 xonali).

Пример кода

curl -X POST "https://checkout.uz/api/v1/confirm_card_payment" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_token": "2Q85LemHnysZBQWSgubRX6hL7h8ZfuaXKP-ma2CNZlZVyBtCPwlGsMZTGUfiJWWdQmzVSB5a3Wfeuu...",
    "sms_code": "123456"
}'

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

{
    "status": "success",
    "type": "success"
}

Попробовать

post /get_balance

Kassa balansini barcha valyutalarda olish

Этот запрос не требует тела (body).

Пример кода

curl -X POST "https://checkout.uz/api/v1/get_balance" \
  -H "Authorization: Bearer YOUR_API_KEY"

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

{
    "status": "success",
    "balance": {
        "uzs": 2500000,
        "usd": 120,
        "ton": 15.5
    }
}

Попробовать

post /get_history

Oxirgi tranzaksiyalar ro'yxati

Параметры

Имя Тип Обязательно Описание
limit integer необязательно Ixtiyoriy. Qaytariladigan tranzaksiyalar soni.

Пример кода

curl -X POST "https://checkout.uz/api/v1/get_history" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 10
}'

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

{
    "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"
        }
    ]
}

Попробовать

post /get_stats

Kassa bo'yicha umumiy statistika

Этот запрос не требует тела (body).

Пример кода

curl -X POST "https://checkout.uz/api/v1/get_stats" \
  -H "Authorization: Bearer YOUR_API_KEY"

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

{
    "status": "success",
    "stats": {
        "total_orders": 450,
        "total_amount": 12500000.5
    }
}

Попробовать

post /get_payment_methods

Kassada yoqilgan to'lov tizimlari ro'yxati (nomi, kaliti, logotipi)

Этот запрос не требует тела (body).

Пример кода

curl -X POST "https://checkout.uz/api/v1/get_payment_methods" \
  -H "Authorization: Bearer YOUR_API_KEY"

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

{
    "status": "success",
    "data": [
        {
            "key": "click",
            "name": "Click - O'zbekiston",
            "logo_light": "https://example.com/click-light.png",
            "logo_dark": "https://example.com/click-dark.png"
        },
        {
            "key": "payme",
            "name": "Payme - O'zbekiston",
            "logo_light": "https://example.com/payme-light.png",
            "logo_dark": "https://example.com/payme-dark.png"
        }
    ]
}

Попробовать

Главная Карта FAQ