Ödeme Sistemleri Neden Dağıtık Sistemlerdir?
Bir ödeme tek bir servisin işi değildir: sepet, stok, provider gateway ve finans aynı gerçek üzerinde anlaşmak zorundadır. Senkron zincir neden kırılır?
Bir ödeme tek bir servisin işi değildir: sepet, stok, provider gateway ve finans aynı gerçek üzerinde anlaşmak zorundadır. Senkron zincir neden kırılır?
Ödeme Succeeded olması, siparişin Completed olduğu anlamına gelmez. Checkout ve payment yaşam döngülerini ayırmazsanız, üretimde iki gerçek çakışır.
PSP'nin parayı alması bir tek adımdır. Siparişi bitirmek; stok, finans, bildirim ve temizlik adımlarının hepsinin başarılı olmasını gerektiren bir saga'dır.…
Ödeme başlarken sepeti canlı okumak, tutarı ve para birimini kararsız bırakır. Intent anında donan bir snapshot olmadan finalization güvenilir çalışmaz.
Idempotency tek bir header değildir. API anahtarından adım işaretçisine kadar beş farklı katmanda ayrı ayrı kurulması gereken bir savunma yığınıdır.
Webhook'lar tekrarlanır, kaybolur, sırasız ve gecikmeli gelir. İmzayı doğrulayın, hızlı ACK verin, ağır işi asla senkron çalıştırmayın.
Evidence, PSP'nin ne dediğidir. State, sizin ne karar verdiğinizdir. Bu ikisini aynı kayıtta tutarsanız, kurtarma sırasında hangisine güveneceğinizi…
Provider gateway PSP SDK'sını nasıl sahiplenir, checkout orchestrator neden yalnızca semantik bir arayüz görmelidir? Kart ve wallet akışlarının farklı…
Provider gateway'in aldığı webhook, downstream'e PSP'nin event adıyla mı, yoksa PaymentCaptured/PaymentFailed gibi semantik bir olayla mı ulaşmalı?
Timeout, 429, 5xx, business decline ve infrastructure hatası aynı şey değildir. Her kategori farklı bir retry politikası ister.
Sweeper'lar drift'i nasıl iyileştirir: PSP başarılı derken local kayıt expired olabilir; aged FinalizePending nasıl toparlanır.
Olay müdahale kılavuzu: müşteri ücretlendirildi ama sipariş oluşmadı; çok-niyetli sepet karmaşası; dedup'ı dikkatle temizlemek.
PSP, sipariş ve finans arasında 2PC kurmak bir tuzaktır. Saga ve mutabakat, dağıtık ödeme tutarlılığının gerçek cevabıdır.
Webhook ile senkron yanıt aynı ödemeye aynı anda dokunduğunda version token ve lease nasıl yarışı çözer? Bayat okumanın terminal ödemede client secret…
Otomasyon önce: reconciliation worker ve recovery pipeline. Uniqueness duvarları replay'i engellediğinde kanıta dayalı insan runbook'ları devreye girer.
22 bölümlük serinin sentezi: checkout orchestrator ve provider gateway ile production ödeme motoru için mimari checklist.
Kariyer perspektifi: fintech şirketleri Stripe SDK'sını değil; failure thinking, reconciliation, idempotency ve evidence-driven düşünceyi arıyor.