Skip to content

İşlem Detayı Sorgulama (Transaction Details)

İşlemin tüm detaylarını, iade geçmişini ve tutarlarını öğrenmek için kullanılır. Raporlama ve mutabakat için idealdir.

Ne Zaman Kullanılmalı?

  • Raporlama ve analiz yaparken
  • İade geçmişini görmek için
  • Mutabakat işlemleri için
  • Dekont/fatura oluştururken
  • Admin panelinde işlem detayı gösterirken

İşlem Detayı Sorgulama Akışı

PENDING Statüsünde Polling

PENDING statüsü, 3D doğrulama sürecinde bankanın henüz sonuç döndürmediği anlamına gelir. İşlem detayında bu statüyü görüyorsanız API'yi belirli aralıklarla tekrar çağırmanız gerekir.

İşlem sonucunu webhook ile almıyorsanız, PENDING dönüyorsa işlem henüz sonuçlanmamıştır. Statünün değişmesini bekleyin.

Önerilen Yaklaşım:

  • Her 3-5 saniyede bir sorguyu tekrarlayın
  • transactionDetail.status alanı PENDING dışına çıktığında polling'i durdurun
  • 15 dakikayı aşan durumlarda polling'i sonlandırın — 3D oturumu bu süre içinde sona erer
javascript
async function pollTransactionDetail(id, intervalMs = 5000, timeoutMs = 15 * 60 * 1000) {
    const startTime = Date.now();

    while (Date.now() - startTime < timeoutMs) {
        let response;

        try {
            response = await getTransactionDetail(id);
        } catch (error) {
            // Geçici ağ/API hatası — bir sonraki döngüde tekrar dene
            await new Promise(resolve => setTimeout(resolve, intervalMs));
            continue;
        }

        const status = response.result?.transactionDetail?.status;

        if (status !== 'PENDING') {
            return response; // İşlem sonuçlandı
        }

        await new Promise(resolve => setTimeout(resolve, intervalMs));
    }

    throw new Error('İşlem zaman aşımına uğradı');
}

Sık Karşılaşılan Hatalar

"Transaction not found"

Neden: Girilen id veya externalId sistemde bulunamadı

Çözüm:

  • ID'nin doğru olduğundan emin olun
  • ID'nin tipini kontrol edin (statü sorgulamada string, detay sorgulamada integer)
  • İşlemin gerçekten oluşturulduğunu doğrulayın

"Invalid request parameters"

Neden: Request formatı hatalı

Çözüm:

  • id veya externalId alanlarından en az birini gönderin
  • JSON formatının doğru olduğundan emin olun
  • Veri tiplerini kontrol edin

Timeout Errors

Neden: API yanıt vermedi

Çözüm:

  • Tekrar deneme mekanizması kurun
  • Timeout süresini artırın
  • Rate limit'e takılmadığınızı kontrol edin

Daha Fazla Bilgi

API detayları için: İşlem Detayı API Referansı

Ödeal A.Ş.