Official API reference

API documentation for developers

All requests, parameters and examples you need to connect the CHECKOUT.UZ payment system to your platform.

Base URL https://checkout.uz/api/v1
View as llm.txt Ready-made plugins

Introduction

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

Authentication

Every request must include your API key in the Authorization header as a Bearer token. You can get your API key from the cash desk settings. If IP Whitelist is enabled, the request must be sent from an allowed IP address only.

Header
Authorization: Bearer YOUR_API_KEY

Your key is stored only in your browser; the request is sent directly to the selected server.

Webhooks

When a payment is successfully confirmed, the system sends the data below via a POST request to your webhook URL. Two URLs can be used: the general "Webhook URL" in your shop settings, and/or the URL passed as the webhook_url parameter when calling /create_payment - if both are configured, the data is sent to each one separately.

Payload sent

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

Fields

Name Type Description
webhook_type string Webhook format version.
status string Always "success" (means the delivery succeeded, not the payment status).
event string Event type. Currently only "payment_confirmed".
payment_system string Payment system key (e.g. click, payme, plum).
shop_id integer Shop identifier.
data.order_id integer The invoice ID for this payment (matches _id in the /create_payment response).
data.amount number Payment amount.
data.currency string Currency. Currently always "UZS".
data.status string Always "paid".
data.provider_details object Raw data from the payment provider - shape varies by provider.
data.perform_time integer When the payment was completed (milliseconds, Unix timestamp).
timestamp integer When the webhook was sent (seconds, Unix timestamp).

Expected response

Your server just needs to respond with HTTP 200. Failed deliveries are not automatically retried yet.

post /create_payment

Yangi to'lov xavolasini yaratish (Invoice)

Parameters

Name Type Required Description
amount number required To'lov summasi (so'mda). Minimal: 1000, maksimal: 10 000 000.
description string optional Ixtiyoriy. Buyurtma haqida qisqacha izoh, to'lov sahifasida mijozga ko'rsatiladi.
webhook_url string optional Ixtiyoriy. To'lov tasdiqlangach, natija shu manzilga ham yuboriladi (kassaning umumiy webhook manziliga qo'shimcha ravishda).
return_url string optional 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.

Code sample

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

Example response

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

Try it out

post /status_payment

To'lov holatini ID yoki UUID orqali tekshirish

Parameters

Name Type Required Description
id integer optional Invoice ID raqami
uuid string optional To'lovning UUID kodi

Code sample

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

Example response

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

Try it out

post /get_fiscal

Buyurtmaning fiskal chek ma'lumotini olish (order_id orqali)

Parameters

Name Type Required Description
order_id integer required Invoice (buyurtma) ID raqami

Code sample

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

Example response

200 OK

Try it out

post /pay_via_card

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

Parameters

Name Type Required Description
order_id integer required create_payment javobidagi payment._id (to'lanishi kerak bo'lgan invoys ID'si).
card_number string required Karta raqami (16 xonali, bo'sh joysiz yoki bo'sh joy bilan - ikkalasi ham qabul qilinadi).
card_expiry string required Kartaning amal qilish muddati, OY/YIL (MM/YY) formatida.

Code sample

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

Example response

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

Try it out

post /confirm_card_payment

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

Parameters

Name Type Required Description
payment_token string required pay_via_card javobidan olingan token (5 daqiqa amal qiladi).
sms_code string required Kartaga bog'langan telefonga kelgan tasdiqlash kodi (odatda 6 xonali).

Code sample

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

Example response

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

Try it out

post /get_balance

Kassa balansini barcha valyutalarda olish

This request does not require a body.

Code sample

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

Example response

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

Try it out

post /get_history

Oxirgi tranzaksiyalar ro'yxati

Parameters

Name Type Required Description
limit integer optional Ixtiyoriy. Qaytariladigan tranzaksiyalar soni.

Code sample

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

Example response

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

Try it out

post /get_stats

Kassa bo'yicha umumiy statistika

This request does not require a body.

Code sample

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

Example response

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

Try it out

post /get_payment_methods

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

This request does not require a body.

Code sample

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

Example response

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

Try it out

Home Map FAQ