İş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.statusalanıPENDINGdışı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:
idveyaexternalIdalanları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ı

