Документация API для разработчиков
To'lovlarni yaratish, balansni tekshirish va kassa statistikasini boshqarish uchun yagona API tizimi.
Авторизация
Каждый запрос должен содержать API-ключ в заголовке Authorization в формате Bearer token. Ключ API можно получить в настройках кассы. Если включён IP Whitelist, запрос должен отправляться только с разрешённого IP-адреса.
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)
status
(string)
event
(string)
payment_system
(string)
shop_id
(integer)
data.order_id
(integer)
data.amount
(number)
data.currency
(string)
data.status
(string)
data.provider_details
(object)
data.perform_time
(integer)
timestamp
(integer)
Вашему серверу достаточно ответить кодом HTTP 200. Повторная отправка при неудаче пока не реализована.
Payment Operations
Параметры
amount
(number, обязательно)
description
(string, необязательно)
webhook_url
(string, необязательно)
return_url
(string, необязательно)
Пример кода
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
}
}
}
Результат появится здесь
Параметры
id
(integer, необязательно)
uuid
(string, необязательно)
Пример кода
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"
}
}
Результат появится здесь
Payments
Параметры
order_id
(integer, обязательно)
card_number
(string, обязательно)
card_expiry
(string, обязательно)
Пример кода
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..."
}
Результат появится здесь
Параметры
payment_token
(string, обязательно)
sms_code
(string, обязательно)
Пример кода
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"
}
Результат появится здесь
Merchant Info
Этот запрос не требует тела (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
}
}
Этот запрос не требует тела (body).
Результат появится здесь
Параметры
limit
(integer, необязательно)
Пример кода
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"
}
]
}
Результат появится здесь
Этот запрос не требует тела (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
}
}
Этот запрос не требует тела (body).
Результат появится здесь
Этот запрос не требует тела (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"
}
]
}
Этот запрос не требует тела (body).
Результат появится здесь
Узбекский
Таджикский
Русский
Английский