Sistem Aktif

CryptoPayment API

USDT TRC-20 ödeme altyapısını dakikalar içinde sitenize entegre edin. Otomatik blockchain takibi, anlık webhook bildirimleri ve güvenli HD cüzdan yönetimi.

TRON TRC-20

Token

USDT (Tether)

Onay Süresi

~3 saniye

Base URL

https://apicrypto.willistudio.net/api/v1

Kimlik Doğrulama

Tüm API istekleri X-API-Key header'ı ile kimlik doğrulaması gerektirir.

Güvenlik Uyarısı

API key'inizi asla client-side kodunda açık bırakmayın. Tüm API çağrılarını kendi backend sunucunuz üzerinden yapın.

X-API-Key: cpay_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

POST/deposit/address

Yeni bir benzersiz TRON TRC-20 deposit adresi oluşturur. Her çağrıda farklı bir adres döner. Bu adresi kullanıcınıza gösterin — kullanıcı bu adrese USDT gönderdiğinde sistem otomatik olarak tespit eder.

İstek Örnekleri

curl -X POST https://apicrypto.willistudio.net/api/v1/deposit/address \
  -H "X-API-Key: YOUR_API_KEY"

Başarılı Yanıt

200 OKapplication/json
{
  "address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
  "network": "TRC20",
  "currency": "USDT"
}

GET/transactions

Agent'a ait tüm deposit işlemlerini listeler. Sayfalama ve durum filtresi destekler.

Query Parametreleri

ParametreTipZorunluAçıklama
statusstringHayırFiltre: pending | confirmed | forwarded | failed
pageintegerHayırSayfa numarası (varsayılan: 1)
limitintegerHayırSayfa başına sonuç (varsayılan: 50, maks: 100)

İstek Örnekleri

curl "https://apicrypto.willistudio.net/api/v1/transactions?status=confirmed&page=1&limit=20" \
  -H "X-API-Key: YOUR_API_KEY"

Başarılı Yanıt

200 OKapplication/json
{
  "transactions": [
    {
      "id": "cm4x7k9a20001mc08hj3x...",
      "txHash": "7d9e8f6a5b4c3d2e1f0a9b8c...",
      "fromAddress": "TJYeasTPa7B4C9yVXR...",
      "toAddress": "TN3W4H6rK2ce4vX9Yn...",
      "amount": 150,
      "currency": "USDT",
      "network": "TRC20",
      "status": "confirmed",
      "confirmedAt": "2026-08-30T14:32:10.000Z",
      "createdAt": "2026-08-30T14:31:55.000Z"
    }
  ],
  "total": 1
}

GET/transactions/:id

Belirli bir işlemin detaylı bilgisini döner.

URL Parametreleri

ParametreTipZorunluAçıklama
idstringEvetİşlem ID'si

Başarılı Yanıt

200 OKapplication/json
{
  "id": "cm4x7k9a20001mc08hj3x...",
  "txHash": "7d9e8f6a5b4c3d2e1f0a9b8c...",
  "fromAddress": "TJYeasTPa7B4C9yVXR...",
  "toAddress": "TN3W4H6rK2ce4vX9Yn...",
  "amount": 150,
  "currency": "USDT",
  "network": "TRC20",
  "status": "confirmed",
  "confirmedAt": "2026-08-30T14:32:10.000Z",
  "createdAt": "2026-08-30T14:31:55.000Z"
}

Webhooks

Ödeme onaylandığında webhook URL'inize otomatikPOSTisteği gönderilir.

Webhook Payload

POST → webhook_urlapplication/json
{
  "event": "deposit.confirmed",
  "data": {
    "transactionId": "cm4x7k9a20001mc08hj3x...",
    "txHash": "7d9e8f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e...",
    "amount": 150,
    "currency": "USDT",
    "network": "TRC20",
    "fromAddress": "TJYeasTPa7B4C9yVXR...",
    "toAddress": "TN3W4H6rK2ce4vX9Yn...",
    "confirmedAt": "2026-08-30T14:32:10.000Z"
  }
}

Webhook İşleme Örnekleri

app.post("/webhook/crypto", async (req, res) => {
  const { event, data } = req.body;

  if (event === "deposit.confirmed") {
    // Kullanıcı bakiyesini güncelle
    await db.user.update({
      where: { walletAddress: data.toAddress },
      data: { balance: { increment: data.amount } }
    });
    
    console.log(`✅ ${data.amount} USDT deposit onaylandı`);
  }

  res.status(200).json({ received: true });
});

İpucu

Webhook endpoint'iniz 5 saniye içinde HTTP 200 döndürmelidir. Uzun süren işlemleri arka plana alın.

Güvenlik

Webhook'lardan gelen verileri doğrulayın. txHash ile blockchain üzerinden işlemi teyit edebilirsiniz.


İşlem Durumları

DurumAçıklamaWebhook
pendingİşlem tespit edildi, blockchain onayı bekleniyor
confirmedBlockchain üzerinde başarıyla onaylandı✓ Gönderilir
forwardedUSDT merkezi cüzdana aktarıldı
failedİşlem başarısız oldu

İşlem Akışı

pendingconfirmedforwarded

Hata Kodları

KodDurumAçıklama
400Bad Requestİstek parametreleri eksik veya hatalı
401UnauthorizedAPI key eksik, geçersiz veya devre dışı
404Not Foundİstenen kaynak bulunamadı
429Too Many RequestsRate limit aşıldı
500Internal ErrorSunucu tarafında beklenmeyen hata

Hata Yanıt Formatı

401 Unauthorizedapplication/json
{
  "error": "Geçersiz veya pasif API key"
}

Rate Limiting

API istekleri aşağıdaki limitlere tabidir. Limitler API key bazında uygulanır.

900

istek / dakika

100,000

istek / gün


SDK & Entegrasyon Örnekleri

RESTful API — herhangi bir HTTP client ile entegre edebilirsiniz.

class CryptoPayment {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.baseUrl = "https://apicrypto.willistudio.net/api/v1";
  }

  async request(method, path, params) {
    const url = new URL(this.baseUrl + path);
    if (params && method === "GET") {
      Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
    }
    const res = await fetch(url, {
      method,
      headers: { "X-API-Key": this.apiKey }
    });
    if (!res.ok) throw new Error(`API Error: ${res.status}`);
    return res.json();
  }

  createAddress() {
    return this.request("POST", "/deposit/address");
  }

  getTransactions(params) {
    return this.request("GET", "/transactions", params);
  }

  getTransaction(id) {
    return this.request("GET", `/transactions/${id}`);
  }
}

// Kullanım
const client = new CryptoPayment("YOUR_API_KEY");
const { address } = await client.createAddress();

Destek

Entegrasyon sırasında herhangi bir sorunla karşılaşırsanız ekibimizle iletişime geçin.

E-posta

support@willistudio.net

Yanıt Süresi

24 saat içinde