Portfolioga qaytish

StarsPaymee Partner API

Boshqa biznes ulanadigan to'lov API'si

Boshqa do'konlar va botlar o'z mijozlariga Telegram Stars, Premium va o'yin to'ldirishlarini sotishi uchun API. Ular so'rov yuboradi — tizim tovarni topadi, sotib oladi va yetkazadi.

Rolim
Yakka ishlab chiquvchi — API, backend, admin panel, server
Davr
2026-yil iyun — hozirgacha
Buyurtma
13 293
Yetkazilgan Stars
1 937 266
Muvaffaqiyat darajasi
95,9%
Uzluksiz ishlash (hafta)
12

Nima qurilgan

  • 25 ta ochiq endpoint va ular uchun to'liq hujjat (OpenAPI, Swagger UI)
  • Sinov muhiti: hamkor pul sarflamasdan integratsiyani tekshiradi
  • Telegram bot va Mini App — chakana mijozlar uchun
  • 7 bo'limli admin panel: buyurtmalar, mijozlar, narxlar, monitoring
  • White-label: hamkor o'z brendi ostida bot ochib, o'z narxini qo'yadi
  • To'lov qabul qilish: TON, USDT, UZS kartalar va Binance Pay

Texnologiyalar

Next.js 15TypeScriptPostgreSQLPrismaFastAPIaiogramTONOpenAPI

Qiziqarli texnik masalalar

«Pul ketdimi?» — javob har doim ha yoki yo'q emas

Muammo
Tovar sotib olish bir necha so'rovdan iborat. Agar aloqa to'lov yuborilgandan keyin, lekin javobni o'qishdan oldin uzilsa — pul ketgan-ketmagani noma'lum bo'lib qoladi. Darhol qaytarsak ham, xato deb belgilasak ham zarar ko'ramiz.
Nima qildim
Buyurtmaga to'rtinchi holat qo'shdim — «tekshirilmoqda». Bu holatda pul umuman qimirlamaydi. Fon jarayoni ikkita mustaqil manbadan javob izlaydi: hamyon holati va yetkazish tarixi.
Natija
Vaqt tugab, hech narsa isbotlanmasa, masala mijoz foydasiga hal qilinadi. Noaniqlik endi taxminga emas, aniq qoidaga tayanadi.

Ikki marta yetkazish — va ikkinchi tuzatish ham noto'g'ri bo'lgani

Muammo
Tarmoq xatosi chiqqanda kod «demak hech narsa yuborilmadi» deb xulosa qilib, qayta urinardi. Natijada tovar ikki marta yetkazildi. Birinchi tuzatishdan keyin ham xato takrorlandi: bu safar kod «tarixda yo'q bo'lsa, qayta urinish xavfsiz» deb o'yladi.
Nima qildim
Ikkala xulosa ham noto'g'ri edi — tarix kechikib yangilanadi, ya'ni «topilmadi» hech qachon «yuborilmagan» degani emas. Qoidani o'zgartirdim: bitta so'rov — bitta urinish. Solishtirish faqat natijani o'qish uchun ishlatiladi.
Natija
11 xil tarmoq xatosini tekshiradigan test yozdim — hech biri qayta urinish uchun asos bo'la olmasligini tasdiqlaydi.

Xavfsizlik hodisasi va undan keyingi ish

Muammo
Admin panelga kirish yo'li ochiq qolgan, paroli esa 6 xonali raqam edi. Hujumchi uni 24 soniyada topib, ichkaridagi narxlarni o'zgartirdi va mijozlarning API kalitlarini ko'rdi.
Nima qildim
Zanjirning har bir qadamini alohida yopdim: panel faqat to'g'ri domendan ochiladi, parol qisqa bo'lsa tizim umuman ishga tushmaydi, kalitlar shifrlangan holda saqlanadi, pulga tegadigan har bir amal Telegram orqali tasdiqlanadi.
Natija
Tekshirish paytida cheklov mexanizmining o'zi ishlamayotgani ham aniqlandi — hujumchi uni osongina chetlab o'ta olardi. U ham tuzatildi.

Nimani o'rgandim

Eng qimmat xatolar «hamma biladi» deb qabul qilingan gaplardan chiqdi. Har safar taxminni o'lchov bilan almashtirganimda muammo yo'qoldi — kod o'zi bilmagan narsani «bilaman» deb o'ylamasligi kerak.