Webhook Delivery ve Güvenlik
Webhook kayıt, event filtreleme, imza doğrulama ve retry stratejisi.
Webhook katmanı, ödeme sonucunu dış sistemlere güvenilir şekilde iletmek için kullanılır.
Webhook yapılandırması
- Endpoint URL
- Etkin event listesi
- İmza doğrulama için secret
secret alanı gönderilmediğinde platform tarafında üretilen bir imza anahtarı modeli kullanılabilir. En iyi pratik, üretimde secret'ı açıkça yönetmek ve düzenli rotasyon yapmaktır.
Bu yapı ile yalnızca ihtiyaç duyulan eventler hedef sisteme iletilir.
Delivery yaşam döngüsü
Tipik bir delivery kaydı:
CREATEDIN_PROGRESSSUCCESSveyaFAILED
Başarısız denemeler için delivery-attempt kayıtları ve yeniden deneme penceresi ayrı tutulur.
Retry ve dayanıklılık
- Ağ hataları ve belirli HTTP hata kodları için retry uygulanır.
- Backoff yaklaşımı kademeli olarak büyütülür.
- Maksimum deneme sonrası event başarısız olarak işaretlenir ve alarm üretilir.
Güvenlik gereksinimleri
- Webhook endpoint mutlaka HTTPS olmalı.
- Gelen payload imzası doğrulanmalı.
- Aynı event tekrar geldiğinde idempotent işleme uygulanmalı.
- Hassas veri endpoint yanıtlarında/loglarda maskelenmeli.
Uygulama modeli
- Event alınır.
- İmza doğrulanır.
- Event kimliği ile tekrar kontrolü yapılır.
- Domain state güncellenir.
- Başarılı 2xx yanıt dönülür.
Hesap kapsamı ve yetki
- Webhook konfigürasyonları hesap kapsamlıdır.
- Listeleme/oluşturma/güncelleme/silme işlemleri hesap yetkisi ile korunmalıdır.
- Çoklu hesap yöneten ekiplerde yanlış endpoint eşleşmelerine karşı operasyonel kontrol listesi tutulmalıdır.