Danatchilar — Telegram bot orqali boshqariladigan to'lov kassasi. Checkout sahifasi, real vaqtli holat va oddiy API — barchasi bir joyda.
Kassangizni daqiqalarda ulang, to'lovlarni avtomatik kuzating.
To'lov yaratish va holatini tekshirish — bir nechta so'rov bilan, millisekundlarda.
Har bir callback so'rovi HMAC-SHA256 imzosi bilan tasdiqlanadi.
Uzcard va Humo — mijoz checkout sahifasida to'g'ridan-to'g'ri o'tkazma qiladi.
Checkout sahifasi to'lov holatini avtomatik kuzatadi va yangilaydi.
Savol yoki muammo bo'lsa, qo'llab-quvvatlash xizmati doim yordamga tayyor.
Checkout sahifasida o'zingizning kassa logotipi va nomingizni ko'rsating.
To'lov yaratish, holatini tekshirish va webhook'larni sozlash bo'yicha to'liq qo'llanma.
https://danatchilar.uz/api
Yangi to'lov (buyurtma) yaratadi va checkout havolasini qaytaradi.
| Parametr | Turi | Majburiy | Tavsif |
|---|---|---|---|
| method | string | ✅ | create bo'lishi kerak |
| amount | int | ✅ | To'lov summasi (so'mda) |
| kassa_id | string | ✅ | Kassa identifikatori |
| kassa_key | string | ✅ | Kassaga tegishli maxfiy kalit |
So'rov namunasi (PHP cURL):
<?php
$url = 'https://danatchilar.uz/api';
$data = [
'method' => 'create',
'amount' => '1000',
'kassa_id' => '12345',
'kassa_key' => 'test12345',
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Javob (JSON):
{
"status": "success",
"order": "test1234",
"data": {
"amount": "1000",
"shop_id": "12345",
"shop_key": "test12345",
"checkout_url": "https://danatchilar.uz/checkout/test1234"
}
}
| Parametr | Turi | Majburiy | Tavsif |
|---|---|---|---|
| order | string | ✅ | To'lov yaratishda qaytarilgan buyurtma kodi |
So'rov namunasi (PHP cURL):
<?php
$order_id = "test1234";
$url = "https://danatchilar.uz/{$order_id}/status";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Javob (JSON):
{
"status": "success",
"order": "test1234",
"data": {
"amount": "1000",
"status": "pending",
"date": "2026-08-01"
}
}
Har bir yaratilgan buyurtma uchun tayyor to'lov sahifasi avtomatik mavjud bo'ladi — mijozni shu sahifaga yo'naltirsangiz bo'ldi, u yerda kassangiz logotipi, nomi, summa va real vaqtda yangilanadigan holat ko'rsatiladi.
https://danatchilar.uz/checkout/{order}
Bu manzil create so'rovining javobida checkout_url maydonida ham qaytariladi.
Bot orqali (Kassa sozlamalari → Callback / Return URL) o'rnatilgan manzilga to'lov holati o'zgarganda (paid yoki cancel) avtomatik POST so'rov, JSON tanasi bilan yuboriladi:
{
"order": "test1234",
"status": "paid",
"amount": "1000",
"shop_id": "12345",
"date": "2026-08-01"
}
So'rov X-Danatchilar-Signature sarlavhasida, tanani kassa_key bilan HMAC-SHA256 orqali imzolangan holda keladi — o'z serveringizda ushbu imzoni tekshirib, so'rovning haqiqiyligiga ishonch hosil qilishingiz tavsiya etiladi:
<?php
$body = file_get_contents('php://input');
$sign = hash_hmac('sha256', $body, 'SIZNING_KASSA_KEY');
if (!hash_equals($sign, $_SERVER['HTTP_X_DANATCHILAR_SIGNATURE'] ?? '')) {
http_response_code(403);
exit('Noto\'g\'ri imzo');
}
$data = json_decode($body, true);
// $data['order'], $data['status'] ...
Xuddi shu sozlamalar bo'limida o'rnatiladi. To'lov paid yoki cancel holatiga o'tgach, checkout sahifasida mijozga shu manzilga qaytish tugmasi ko'rsatiladi.
Bot orqali (Kassa sozlamalari → Kassa logotipi) rasm yuborib, checkout sahifasida mijozga ko'rinadigan logotipni o'rnatishingiz mumkin.
Bot orqali (Kassa sozlamalari → To'lov kartasi) qabul qiluvchi karta raqami va egasining F.I.Sh sini kiritasiz. Bu ma'lumot checkout sahifasida mijozga ko'rsatiladi — mijoz aynan shu kartaga, ko'rsatilgan summani o'tkazadi.