Skip to main content
Smart Retry, birinci tercih konnektör geçici hata verdiğinde işlemi alternatif konnektöre yönlendiren mekanizmadır. Müşteriden yeniden bilgi almaz; routing kuralında tanımlı fallback_connector_config_id üzerinden ikinci denemeyi yapar.

Hangi durumlarda devreye girer?

Genel kural: kart sahibi kaynaklı reddetmeler retry edilmez, banka altyapısı kaynaklı geçici sorunlar retry edilir.

Akış

Kural konfigürasyonu

Routing kuralında fallback_connector_config_id alanını doldurun:
fallback_connector_config_id boş bırakılırsa o kural için Smart Retry devreye girmez — birinci tercih başarısız olursa işlem failed olur.

Yanıt davranışı

Müşteri tarafından bakıldığında Smart Retry görünmez — tek bir başarılı PaymentOperationResult döner:
Hangi konnektörün başarılı olduğunu işlem detayında (GET /transactions/{id}) → connector_code ve connector_configuration_id alanlarından görebilirsiniz. Tüm denemelerin geçmişi İşlem Geçmişi (Timeline) üzerinden çekilir — her başarısız+başarılı deneme ayrı bir TransactionHistory kaydı olur.

Banka sağlığı + Smart Retry

Smart Retry tek başına çalışmaz; Circuit Breaker ile birlikte hareket eder:
  • Banka hata oranı eşiği aşarsa Circuit Breaker açılır → o konnektör yönlendirme havuzundan çıkar
  • Yeni gelen istekler doğrudan fallback konnektöre gider (birinci denemeden sırasında değil, kuralda)
  • Sağlık geri gelince Circuit Breaker yarı-açık → kapalı → konnektör yine ana havuzda
Detay: Circuit Breaker.

Performans etkisi

Toplam istek süresi, denenen konnektörlerin toplamı + transition overhead’idir:
  • Tek başarılı deneme: ~1-2 sn
  • 1 retry sonrası başarı: ~3-7 sn (birinci timeout + ikinci başarılı)
  • Timeout sonrası fallback: ~5-10 sn
İstemcinizin HTTP timeout’unu yeterince yüksek ayarlayın — 30 saniye önerilir.

Idempotency korunur

Smart Retry sırasında aynı Idempotency-Key Payven tarafında korunur. Birinci konnektöre giderken Payven tarafı, fallback’e giderken yine korunur — Idempotency-Key zaten Payven cache + DB’sinde tutulur. Sizin tarafınızda bir şey yapmanız gerekmez.
Banka komisyon farkı: birinci ve fallback konnektörün komisyon oranları farklı olabilir. Smart Retry’a düşmüş işlemleri raporlarken connector_code üzerinden hangi konnektörün başarılı olduğunu görüp komisyon hesaplamanızı buna göre yapın.

Yapılandırma sınırları

İleri seviye senaryolar (çoklu fallback, exponential backoff arasında) için yol haritası:
  • Çoklu fallback_chain desteği
  • İstek başına timeout konfigürasyonu
  • Retry kararı için ML tabanlı sinyaller (banka sağlığı + geçmiş başarı)
Güncellemeler için: Changelog.