API documentation for developers
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.
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
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)
Your server just needs to respond with HTTP 200. Failed deliveries are not automatically retried yet.
Payment Operations
Parameters
amount
(number, required)
description
(string, optional)
webhook_url
(string, optional)
return_url
(string, optional)
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
}
}
}
The result will appear here
Parameters
id
(integer, optional)
uuid
(string, optional)
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"
}
}
The result will appear here
Payments
Parameters
order_id
(integer, required)
card_number
(string, required)
card_expiry
(string, required)
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..."
}
The result will appear here
Parameters
payment_token
(string, required)
sms_code
(string, required)
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"
}
The result will appear here
Merchant Info
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
}
}
This request does not require a body.
The result will appear here
Parameters
limit
(integer, optional)
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"
}
]
}
The result will appear here
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
}
}
This request does not require a body.
The result will appear here
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"
}
]
}
This request does not require a body.
The result will appear here
Uzbek
Tajik
Russian
English