Routing Simulation
Sandbox'ta sağlayıcı seçimi, fallback, retry ve routing trace testleri.
Routing simulation, production’a çıkmadan önce “hangi sağlayıcı, hangi sırada, neden?” sorularına cevap aramanızdır. Sandbox’ta para hareketi yoktur; karar mekanizması ve event/webhook davranışı gerçek akışa yakın çalışır.
Sandbox vs production
| Sandbox | Production | |
|---|---|---|
| Sonuç | Simüle / test | Gerçek sağlayıcı yanıtı |
| Para | Yok | Var |
| Amaç | Entegrasyon ve fallback doğrulama | Gerçek tahsilat |
Sandbox başarı oranı, canlı onay oranının taahhüdü değildir.
Routing girdileri
| Girdi | Etki |
|---|---|
| Ödeme yöntemi / kart ağı | Capability eşleşmesi |
| Ülke / issuer | Yerel veya 3DS zorunlu rota |
| Tutar / para birimi | Min-max ve fee kuralları |
routing_strategy | Dar veya çoklu aday listesi |
| Secure mode | 3DS destekli sağlayıcı filtresi |
| Sağlayıcı “sağlık” testi | Degraded / timeout senaryoları |
Kural mantığı (sozel)
Örnek düşünce deneyleri (hesabınızdaki gerçek kurallar farklı olabilir):
- TR + yerel ağ → yerel sandbox sağlayıcı tercihi
- Secure mode açık → 3DS destekli aday zorunlu
- Yüksek tutar → daha sıkı capability veya ek adım
Fallback ve retry
- İlk aday uygun değilse veya geçici hata varsa sıradaki aday denenebilir.
- Hard decline: Aynı kartla döngüye girmeyin; yeni yöntem isteyin.
- Soft decline: Fallback veya kontrollü yeniden deneme; payment GET ile durumu doğrulayın.
3DS rotaları
Secure mode açıkken 3DS desteklemeyen adaylar elenir. Sandbox’ta REQUIRES_ACTION almak, entegrasyonun challenge ve callback’i kaldırıp kaldıramadığını gösterir.
Gözlemlenebilirlik
Her confirm sonrası şunları sorun:
- Hangi aday seçildi, hangisi elendi?
- Fallback ne zaman devreye girdi?
- Kaç charge attempt oluştu?
- Hangi webhook/event geldi?
Örnek senaryo tablosu
| Senaryo | Beklenti |
|---|---|
| TR kart | Yerel rota |
| Secure mode | 3DS’li aday |
| Sağlayıcı degraded | İkinci aday |
| Soft decline | Sıradaki aday veya REQUIRES_PAYMENT_METHOD |
| Desteklenmeyen para birimi | Config elenir |