tgpay cryptoAPI
crypto-payapitransferspayouts

API maʼlumotnomasi: oʻtkazmalar va cheklar

3 daqiqa oʻqishYangilandi 22-avg, 2026

Toʻlov chiqarish metodlari. Oʻtkazma ilova balansingizdan toʻgʻridan-toʻgʻri Telegram foydalanuvchisining hamyoniga mablagʻ yuboradi; chek — bu siz oldindan moliyalashtiradigan, faollashtiriladigan havola. Umumiy qoidalar (autentifikatsiya, konvert, summalar, spend_id) — Merchant API maʼlumotnomasi sahifasida.

transfer

POST /pay/api/transferpayouts huquqi, daqiqasiga 30 ta limit. Bir zumda va atomar ijro etiladi; «Kutilmoqda» holati yoʻq.

ParametrTuriMajburiyMaʼnosi
user_idintegerhaqabul qiluvchining Telegram foydalanuvchi id raqami. Qabul qiluvchi allaqachon ilova foydalanuvchisi boʻlishi kerak — notanish id raqamiga toʻlov mablagʻni osiltirib qoʻyish oʻrniga xato qaytaradi
assetstringhaaktiv kodi
amountstringhamusbat oʻnlik satr; shuningdek platformaning har bir oʻtkazma uchun minimumi va maksimumi bilan chegaralangan (joriy kurslar boʻyicha AQSh dollaridagi taxminiy ekvivalent)
spend_idstringhaidempotentlik kaliti, 1–64 belgi, har bir toʻlov uchun noyob
commentstringyoʻq1024 belgigacha, qabul qiluvchiga koʻrsatiladi
disable_send_notificationbooleanyoʻqtrue — qabul qiluvchiga Telegramda xabar bermaslik

Natija — oʻtkazma obyekti: transfer_id, hash, user_id, asset, amount, amount_minor, spend_id, comment, status (har doim completed), created_at, completed_at.

Xatolar: 404 user_not_found (qabul qiluvchi ilovadan hech qachon foydalanmagan), 409 recipient_blocked, 400 amount_too_small / 400 amount_too_big (har bir oʻtkazma uchun belgilangan chegaralardan tashqarida), 409 insufficient_funds, 404 unknown_asset, 400 invalid_amount, hamda spend_id juftligi — 409 idempotency_conflict / 409 idempotency_in_progress.

transferBatch

POST /pay/api/transferBatchpayouts huquqi, daqiqasiga 10 ta limit. Ommaviy toʻlovlar uchun kengaytma: bitta chaqiruvda 100 tagacha oʻtkazma.

Bitta parametr: items — massiv; uning har bir elementi toʻliq transfer parametrlari toʻplami (user_id, asset, amount, spend_id, ixtiyoriy comment va disable_send_notification). spend_id qiymatlari paket ichida noyob boʻlishi shart, aks holda butun chaqiruv hech narsa bajarilmasdan turib 400 duplicate_spend_id bilan uziladi.

Elementlar mustaqil ravishda, navbat boʻyicha ijro etiladi — bitta element xato boʻlsa, qolganlari orqaga qaytarilmaydi. Baʼzi elementlar xato boʻlganda ham chaqiruv ok: true bilan HTTP 200 qaytaradi, shuning uchun har bir elementni doim tekshiring:

  • muvaffaqiyat: {"ok": true, "spend_id": "…", "result": <transfer object>}
  • xato: {"ok": false, "spend_id": "…", "error": {"code": …, "name": "…"}} — yakka transfer metodidagi kabi xato nomlari bilan.

Paket elementlari idempotentlik makonini yakka oʻtkazmalar bilan boʻlishadi: butun paketni qayta yuborish — yoki bitta elementni xuddi shu spend_id bilan yakka transfer sifatida qayta joʻnatish — ikki marta toʻlash oʻrniga natijani takrorlaydi.

getTransfers

GET /pay/api/getTransfersread huquqi. Filtrlar: asset, transfer_ids (vergul bilan ajratilgan), spend_id (aniq moslik — toʻlovni oʻz kalitingiz boʻyicha topish), hamda offset / count. {"items": [transfer, …]} qaytaradi, yangilari birinchi.

createCheck

POST /pay/api/createCheckchecks huquqi, daqiqasiga 60 ta limit. Ilova balansingizdan moliyalashtiriladigan bir martalik chek yaratadi; havolasi bor har kim — yoki faqat biriktirilgan foydalanuvchi — uni oʻz hamyoniga faollashtira oladi. Summa chek yaratilgan zahoti bloklanadi (getBalance javobida available qiymatidan onhold qiymatiga oʻtadi).

ParametrTuriMajburiyMaʼnosi
assetstringhaaktiv kodi
amountstringhamusbat oʻnlik satr
pin_to_user_idintegeryoʻqfaqat shu Telegram foydalanuvchi id raqami faollashtira oladi
pin_to_usernamestringyoʻqfaqat shu @username faollashtira oladi (@ ixtiyoriy; pin_to_user_id ham berilgan boʻlsa, eʼtiborga olinmaydi). Bu nom ilovaning mavjud foydalanuvchisiga tegishli boʻlishi kerak
spend_idstringyoʻqidempotentlik kaliti (kengaytma) — uni ishlating

Natija — chek obyekti: check_id, hash, asset, amount, amount_minor, bot_check_url (faollashtirish uchun t.me havolasi), status (active / activated), pin_to_user_id, created_at, activated_at. Faollashtirish ixtiyoriy ravishda yoqiladigan check_activated webhookini ishga tushiradi.

Xatolar: 404 unknown_asset, 400 invalid_amount, 404 user_not_found (biriktirilgan username hech kimga mos kelmadi), 409 insufficient_funds, hamda spend_id juftligi.

deleteCheck

POST /pay/api/deleteCheckchecks huquqi. Bitta parametr: check_id. Faollashtirilmagan chekni bekor qiladi va bloklangan summani ilova balansingizga qaytaradi; true qaytaradi. Xatolar: 404 check_not_found, 409 check_not_active (allaqachon faollashtirilgan yoki oʻchirilgan).

getChecks

GET /pay/api/getChecksread huquqi. Filtrlar: asset, check_ids (vergul bilan ajratilgan), status (active / activated), hamda offset / count. {"items": [check, …]} qaytaradi, yangilari birinchi; oʻchirilgan cheklar hech qachon qaytarilmaydi.