GH GambleHub

Ödemelerde tekrarlama ve geri çekilme

Ödemelerde tekrarlama ve geri çekilme

1) Neden tekrarlara ihtiyaç duyulur

Dönüştürme: Yumuşak arızalar (zaman aşımları, 3DS hataları, ağ arızaları) genellikle tekrar tekrar kurtarılır: + 2-7 pp - Auth Rate.
Sağlamlık: Yerel PSP/ACS/banka arızaları alternatif yollarla retras ile düzeltilir.
Oyuncu deneyimi: Doğru şekilde oluşturulmuş tekrarlar, altyapının "gürültüsünü" çift ücret ödemeden gizler.


2) Temel ilkeler

1. "Ödeme amacı" (PI) düzeyinde idempotency: bir işlem = bir 'idempotency _ key'; Herhangi bir başvuru parasal durumu değiştirmez.

2. Hata ayrımı:
  • Sert düşüş (örn. Sıkı bir ihraççı politikası ile 'onurlandırmayın', 'Yetersiz fonlar') - genellikle hemen retrayem değil.
  • Yumuşak düşüş/teknik (zaman aşımı, 'Veren kullanılamıyor', 'Tekrar deneyin') - izin verilen yeniden oynatma.
  • 3. Backoff + limit girişimleri: gecikmeyi katlanarak artırır, jitter ekler ve sınırları aşmaz (genellikle 2-3 deneme).
  • 4. Paket yönlendirme: Retray sadece "aynı PSP'nin tekrarı'değil, aynı zamanda PSP/MID/3DS modunda/yönteminde bir değişikliktir.
  • 5. Gözlemlenebilirlik: Her atlama Route Journal'a kaydedilir (PSP, sebep, gecikme, 3DS modu, ücret, sonuç).

3) Geri çekilme kararı için hata sınıflandırması

SınıfÖrneklerÖneri
Ağ/teknikZaman aşımı, 5xx, 'Verici/ACS kullanılamıyor', webhook gecikmesiBackoff ile Retray; Değiştirilebilir PSP/MID/3DS
Yumuşak düşüş'Pickup card (soft)', 'Do not honor' (vakaların bir kısmı), 'Processing erl'Muhtemelen 3DS/route bir değişiklikle 1-2 kez geri çekin
Sert düşüş (final)'Yetersiz fon', 'Geçersiz kart', 'Süresi dolmuş kart', 'Kısıtlı kart', 'Onurlandırmayın' (жесткий)Retrayim değil (veya alternatif yöntem önermek)
3DS-mistakes'Kimlik doğrulama kullanılamıyor', zaman aşımı ACS, 'Yumuşak düşüş' после sürtünmesizZorluklarla veya alternatif bir yöntemle (açık bankacılık) yeniden ödeme
Risk/uyumlulukYaptırımlar/PEP, RG bloğu, hız sınırlarıRetrayim değil; Başarısızlığın iş mantığı
💡 Not: kesin matris devrelere/PSP'ye bağlıdır. Orkestratör yapılandırmasında beyaz liste/kara liste sebep kodlarını saklayın.

4) Geri dönüş stratejileri (uygulama)

4. 1 Jitter ile üstel geri dönüş (önerilir)

База: 'delay _ n = min (temel 2 ^ n, max_delay)'

Jitter: 'delay = rand (0, delay_n)' - birçok istek aynı anda tekrarlandığında izdihamları azaltır.
Tipik parametreler 'base = 200-500 ms', 'max _ delay = 5-10 s', 'n≤2 -3'.

4. 2 Doğrusal geri alma

Basit, ama ağdaki "huzursuzluk'ile daha da kötü. Üstel + jitter'den aşağı.

4. 3 Zaman aşımı politikası

İstemci zaman aşımı (sizin) ≤ PSP SLA (örneğin, 3-5 s), aksi takdirde çoğaltma/donma riski artar.
Webhook/confirm için bekleme süresini ayrı ayrı ayarlayın: onay gelmezse - telafi edici mutabakat (defter/PSP).


5) İdempotans ve almalara karşı koruma

Payment Intent (PI) durumu, miktarı, yöntemi, 'idempotency _ key', rota geçmişini saklar.
Her atlama ve yeniden deneme aynı anahtarı kullanır.
İşlemleri telafi etmek: senkronize olmadığında (PSP'de onaylayın ve zaman aşımınız var) - "uzlaştırma-çekme" + defter ayarı.
Webhook'u yeniden teslim ederken yeniden yetkilendirmeyi hariç tutun: benzersizlik için 'transaction _ id'/' PSP reference' seçeneğini işaretleyin.


6) 3DS/SCA ve tekrarlar

Sürtünmesiz sonra yumuşak düşüş - meydan okuma ile yeniden.
ACS zaman aşımı/kullanılamıyor - üstel geri kapanma, daha sonra alternatif bir kanal (açık bankacılık/APM) veya başka bir PSP.
ACS kitle bozulması ile - devre kesici, büyüme 'meydan okuma oranı', miktarları zaman sınırları.


7) APM/açık bankacılık için temsilciler

Açık bankacılık/anlık raylar (SEPA Anında/FPS/Pix/UPI):
  • Retrays sınırlıdır: sağlayıcı tarafında idempotence ve gecikmeli webhook 'ax durumlarını kontrol edin.
  • Belirsiz bir statüyle - geri çekilme ve katı mutabakatlarla oylama.
  • Kuponlar/nakit: Geri ödemeler "çevrimiçi işlem" için geçerli değildir, ancak son tarih kontrolü ve "durum yenileme" geçerlidir.

8) Ödemeler: tekrarlar ve kuyruklar

Banka/PSP teknik arıza - backoff drenaj ile sıralı ödemeler.
KYT/hız başarısız - retrayem değil, manuel kontrole aktarın.
Sıra önceliklendirme: VIP/küçük miktarlar/uygulama yaşı; SLA ve otomatik tırmanma son tarihleri.
İkinci geri çekilen adımda alternatif raylar (RTP/FPS/SEPA Instant/Pix).


9) Devre kesici ve retrai

Yerel (PSP/MID/BIN'de): hatalar arttığında, bu rotadaki geri çekilmeleri durdurun, alternatif bir tanesine geçin.
Global (yöntem/bölge başına): sistemik bozulma - yöntemi devre dışı bırakın, APM/açık bankacılık sunuyoruz.
Yarı açık: Tam dönüşten önce kurtarmayı kontrol etmek için trafiğin bir kısmını (%1-5) geri döndürün.


10) Retray stratejisinin sahte kodu

python def pay_with_retries(pi):
ensure_idempotency(pi.key)
if not compliance_pass(pi): return REJECT

routes = rank_candidates(pi) # по вероятности approve, fee, health attempts = 0 for route in routes:
policy3ds = select_3ds(pi, route)
res = call_psp(route, pi, policy3ds, pi.key, timeout=3.0)
log_attempt(pi, route, res)

if res.approved: return APPROVED

if is_soft_decline(res) or is_transient_error(res):
while attempts < MAX_ATTEMPTS and not breaker_open(route):
delay = backoff_with_jitter(base=0.3, attempt=attempts, cap=8.0)
sleep(delay)
policy3ds = maybe_toggle_3ds(policy3ds, res)
res = call_psp(route, pi, policy3ds, pi.key, timeout=3.0)
log_attempt(pi, route, res)
attempts += 1 if res.approved: return APPROVED if is_hard_decline(res): break перейти к следующему маршруту (PSP-B/APM/open banking)
return DECLINED

11) KPI'lar ve hedefler

Yeniden Yapılanmalardan Artan Onaylar: + 2-7 pp'den temel dönüşüme.
Onaylanmış Tx başına Avg Yeniden Deneme Girişimleri: 1. 2–1. 5 (1'in altında tutun. 7).
Yeniden Deneme Başarı Oranı (yumuşak/teknik): ≥ %25-40.
Duplicate Rate: Doğru idempotency ile 0.
P95 Gecikme (retrays dahil): Son yanıta kadar <7 s.
Ödeme SLA (anlık paylaşım): Kolay kontrollerin ≥ %70'i, gecikmiş <hedef eşiği.


12) Olay oyun kitapları

A. PSP-A'da toplu zaman aşımları

1. PSP-A için yerel kırıcı açın

2. PSP-B/APM'ye yeniden tahsis edin.
3. Jitter ile üstel geri dönüş, 2-3 denemeyi sınırlayın.
4. Kanarya 10-15 dakika sonra yarı açık.

B. ACS/3DS bozulması

1. Büyüme 'yumuşak düşüş'ile algılama, zaman aşımları.
2. Meydan okuma oranını artırmak; trafiğin bir kısmı - açık bankacılık.
3. Ağır kontrolleri bir kenara bırakın, hız limitlerini açın.

C. Ödeme gecikmeleri

1. Sıraya transfer, VIP/küçük miktarların önceliklendirilmesi.
2. Alternatif raylara yeniden yayın (RTP/FPS/SEPA Instant/Pix).
3. Oyunculara iletişim + otomatik yükseltme.


13) Gözlemlenebilirlik ve veriler

Rota Günlüğü: PSP/MID, BIN/ihraççı, sebep, gecikme, 3DS-режим, yeniden deneme zinciri, итог, ücret.
Panolar: Auth Oranı (banka tarafından), Yeniden Deneme Başarısı, Avg Girişimleri, Reddetme Karması, p95 gecikme süresi, Ödeme Kuyruğu Derinliği.
Uyarılar: sebep kodlarına göre ani artışlar, girişimlerde/gecikmede artış, çıktı kuyruklarının taşması.


14) Uygulama kontrol listeleri

Mimari/Veri

  • Ödeme Niyeti + 'idempotency _ key' на все şerbetçiotu.
  • Sebep kodu yapılandırma matrisi: geri alınabilir ve geri alınamaz.
  • İmzalı webhook'lar, PSP referansıyla veri tekilleştirme.

Geri tepme/kurallar

  • Jitter ile üstel geri dönüş; Denemelerin sınırı ve pencere süresi.
  • Akıllı yeniden deneme: 3DS/MID/PSP/method değişikliği; APM/açık bankacılık kartları için ayrım.
  • Devre kesiciler (yerel/küresel), yarı açık kanaryalar.

Defter/mutabakatlar

  • "Askıya alınmış" durumlarla işlemlerin telafi edilmesi.
  • Onay/webhook zaman aşımı ve SLA politikası.
  • RG/yaptırımlar/PEP/yaş - retrays önce.
  • KYT/hız на ödemeleri; Manuel inceleme kuralları.
  • Olaylar/tırmanmalar için Runbooks ve RACI.
[T + 0/T + 1 mutabakatı: PSP ↔ banka ↔ para defteri.

Operasyonlar/Uyumluluk


---

15) Ekonomi ve risk

3DS-phia, FX, ters ibraz değeri, geri ödeme yükünü dikkate alarak efektif oranı göz önünde bulundurun.
Sabit limit, ters ibraz maruziyetini ve rezervleri overclock etmemek için yüksek riskli segmentlere geri çekilir.

---

16) Alt satır

Tekrarlar kontrol edilebilir olduklarında çalışır: idempotency, mantık kodlarının açık bir matrisi, jitter ile üstel geri çekilme, kısıtlama girişimi ve yönlendirme (PSP/3DS/method değişikliği) ile bir paket. Devre kesici, ödeme kuyrukları ve güçlü mutabakatlar ekleyin - ve alımlar ve nakit delikleri oluşturmadan dönüşümü sürekli olarak yükseltin.
Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.