IOSOR Rehber

Yinelenen webhook ikinci bir borçlandırma yaratmamalıdır

Hata yolu: yeniden denemeler ve yeniden oynatmalar ön ödemeli bakiye ve gelen kutusunda idempotent kalır — bir etkinlik kimliği, bir borç satırı, bir gelen kutusu satırı.

En az bir kez teslimat yeniden deneme yapacaktır. İkinci bir borçlandırma veya ikinci bir gelen kutusu satırı gönderen yinelenen bir webhook, zararsız bir ACK değil, bir para ve operasyon olaydır. Bu sayfa hata yoludur: yeniden denemeler ve yeniden oynatmalar ön ödemeli bakiye ve gelen kutusunda idempotent kalır.

İlgili: İmza ve yeniden oynatma penceresi geçidi, İlk gönderimden önce webhook sözleşmesi, aynı defterde debit satırları ve teslim durumu.

IOSOR beyaz etiketli ön ödemelidir. 20 USD, tek bir tüketicide yinelenen etkinlik testini finanse eder; 1.000 USD/ay seviyesindeki yumuşak inceleme ise yeniden denemeyi yeni bir ücret olarak fiyatlandırır. Müşteriler yalnızca beyaz etiketli etkinlik kimliklerini görürler.

İdempotentlik bir slogan değil, bir hata yoludur

Mutlu yol: bir imzalı etkinlik, bir kabul, bir borç. Hata yolu güveni yakar; zaman aşımı, 5xx hatası, sağlayıcı tekrarı veya operatör itmesi yaşanabilir. Yan etkilerden defter, gelen kutusu ve CRM öncesinde İlk gönderimden önce webhook sözleşmesi anahtarını saklayın. Aylık 1.000 USD hacim borcu yaratırken, 20 USD zorla tekrarlanan işlemlerin parayı asla ikiye katlamayacağını kanıtlar.

Ne kopya sayılır

Sinyal Şu durumlarda kopya kabul et Güvenli sonuç
Etkinlik Kimliği Pencere içinde zaten kabul edilmiş aynı kimlik ACK; ikinci borç yok
Mesaj Kimliği Deftere zaten bağlanmış aynı mesaj Satırı yeniden kullan; yeni ücret yok
Gelen kutusu anahtarı Zaten dosyalanmış aynı MO/MT İkinci gelen kutusu satırı yok
Pencere dışı Geçit reddinden sonra eski yeniden deneme Reddet; para veya durum yazımı yok
Bilinmeyen tür Sözleşme etkinlik listesinde yok Düşür; sahte başarı yok

İmza ve yeniden oynatma penceresi geçidi kimliği ve tazeliği belirler. Bu sayfa, geçerli bir kopyadan sonra ne olacağını yönetir: tek bir son durum, tek bir para çizgisi ve tek bir gelen kutusu satırı.

Para iki kez hareket etmemelidir

Ürün hâlâ teslim edildi gösterse bile aynı etkinlik kimliği için ikinci bir borçlandırma hatadır. Finans ekibi UTC penceresi için tek bir ön ödemeli satır görür. ACK sonrasında CRM önce, defter sonra şeklinde yapılan kısmi işlemler sahte ikili gerçekler üretir. İşleme hatası alınır aynı anahtarda işçi yeniden denenmeli, gövde yeni ücret olarak kabul edilmemelidir.

Gelen kutusu da iki katına çıkmamalıdır

İdempotentlik sadece parayla ilgili değildir. İkinci bir gelen kutusu iş parçacığı açan yinelenen olaylar destek ekibini hayaletlerin peşine koşturur ve otomatik yanıt döngüleri tetikler. Borçlandırma için kullanılan etkinlik kimliği ile gelen kutusu anahtarını saklayın. Ürün ve finans ekipleri reddedilen olaylarda ortak bir dil paylaşmalıdır.

Kopya güvenli webhook'lar için alıcı kontrol listesi

Deftere veya gelen kutusuna dokunmadan önce gelen webhook başlıklarını ve imzasını doğrulayın. Etkinlik kimliğini veri tabanında kilitleyin ve daha önce işlenip işlenmediğini kontrol edin. Yanıt olarak her zaman 2xx dönün ancak ikinci kez borç yazmayın. İzleme araçları yinelenen olay oranlarını anında raporlamalıdır.

IOSOR ile başlayın

Zaten faturalanmış bir koridorda pencere içinde imzalı bir yeniden oynatmayı zorlayın. Olay id’sini ledger id’nin yanında dışa aktarın; tek debit satırı ve tek gelen kutusu satırı kanıtlayın. İkinci bir debit görünürse o tüketicıyı durdurun ve fazla satırı iade edin — sonraki trafikle netleştirmeyin. Bu kapı replay parasıdır, E.164 denetimi veya kargo metni değil.

IOSOR özeti

Yeniden oynatma yeni bir gönderim değildir; aynı olay kimliği yalnızca tek bir borçlandırma yazar. Konsol üzerinden UTC zaman damgalı tek mutabakat defteri kaydını doğrulayın.

Bu rehber yardımcı oldu mu?

İlgili rehberler