So'nggi to'lovlar
Kassalarim
Crypto Kassa Hujjatlari
Qanday ishlaydi?
To'lovlarni avtomatik qabul qilish va sweep mexanizmi
Har bir kassa uchun TON yoki TRON wallet ulanadi. API orqali to'lov yaratilganda tizim har bir buyurtma uchun HD walletdan unikal deposit manzil va mos keluvchi yagona summa generatsiya qiladi. Background worker blokcheynni doimiy kuzatib boradi, tranzaksiya tasdiqlangach to'lovni tasdiqlaydi, sizning serveringizga xavfsiz HMAC webhook yuboradi va asosiy walletingizga mablag'ni sweep qiladi.
Autentifikatsiya
Har bir API so'rovda quyidagi maxfiy sarlavhalarni yuboring:
shop_id: shp_xxxxxxxxxxxx
api_key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
API kalit xavfsizlik maqsadida faqat yaratilganda bir marta ko'rsatiladi. Yo'qolsa — «Kalitni yangilash» orqali yangilang.
To'lov yaratish
POST
/api/v1/payment/create
POST /api/v1/payment/create
Content-Type: application/json
shop_id: shp_xxx
api_key: sk_live_xxx
{
"amount": "10",
"currency": "USDT",
"network": "TRON",
"order_id": "ORD-10023",
"callback_url": "https://example.com/checkout/success",
"lifetime": 60
}
Muvaffaqiyatli javob (JSON)
{
"payment_id": "pay_9f81a74e2d",
"address": "TLyqzsvQkRpq7252aP9L…",
"amount": "10",
"unique_amount": "10.0042",
"currency": "USDT",
"network": "TRON",
"status": "pending",
"expires_at": "2026-11-15T12:00:00.000Z",
"payment_url": "https://pay.example.com/pay.html?id=pay_9f81a74e2d",
"qr_url": "https://pay.example.com/api/v1/public/payments/pay_9f81a74e2d/qr.svg"
}
Mijozga aynan unique_amount ni ko'rsating — u boshqa to'lovlar bilan adashmaslikni ta'minlaydi.
Qo'shimcha API endpointlar
GET /api/v1/payment/status?payment_id=…— to'lov holatiPOST /api/v1/payment/cancel— to'lovni bekor qilishGET /api/v1/payment/list— to'lovlar ro'yxatiGET /api/v1/shop/balance— asosiy wallet balanslari
Webhook imzosini tekshirish (Node.js)
const crypto = require('crypto');
app.post('/webhook', (req, res) => {
const raw = req.rawBody; // JSON formatidagi xom matn
const ts = req.headers['x-timestamp'];
const signature = req.headers['x-signature'];
const expected = crypto
.createHmac('sha256', process.env.WEBHOOK_SECRET)
.update(`${ts}.${raw}`)
.digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
return res.status(401).send('Xato imzo');
}
res.send('ok');
});
Sozlamalar
Telegram Profil
Telegram ID—
Username—
Xavfsizlik va Shifrlash
- Seed phrase va private key serverda AES-256-GCM bilan shifrlanadi.
- API maxfiy kalitlari faqat xavfsiz SHA-256 hash orqali tekshiriladi.
- Wallet uzilganda shifrlangan kalitlar xotira va bazadan butunlay yo'q qilinadi.
- Har bir Web App so'rovi Telegram kriptografik imzosi bilan tasdiqlanadi.
Seed phrase va kalitlarni hech qachon chatga yoki uchinchi shaxslarga bermang!
Dasturchi uchun qo'llanma
To'liq integratsiya, webhooklar va API endpointlari haqida batafsil ma'lumot.