Zamknąć nawiązywanie webhook idempotencji luki końcowej BL0

FixBillingService
Szycy
26 sierpnia 2026 03:33 UTC
Autor
Kamo
Pochęt się
27d3200

Znalezienie 1 (Krytyczne): przegrane roszczenie tylko na imprezie zbiorem Stripe Udowodnił, że istnieje rząd, a nie to, że poprzednia próba się zakończyła. A twierdzi się Rząd pozostawiony przez przemijającą porażkę (Yugabyte 40001, a Hikari timeout, wyjątkowa rasa zabezpieczająca) wyglądała identycznie jak prawdziwy Zduplikowany, więc regeneracja odpowiedziała 200 i Stripe na stałe Przestał próbować wypisać się z pieniędzmi, które nigdy nie wylądowały. Dodano do tego (swój własny REQUIRES_NEW Przeczytaj) więc przegrane roszczenie jest oceniane na podstawie tego, czy faktycznie jest przetwarzany Przewrócony na true; nieprzetworzony rząd teraz rzuca - zamiast wracać, tak Kontroler odpowiada 500, a trzydniowe okno próbne Stripe pozostaje otwarte. Znalezienie 2 (Ważne): markProcessed odrzucił liczbę rzędów. A A Aktualizacja zerowego rzędu była niewidoczna i pozostawiła wydarzenie po cichu nieprzetworzonym Na zawsze, bez niczego, gdziekolwiek zawiodło. Teraz zapewnia dokładnie jeden rząd Został zaktualizowany i rzuca inaczej; javadoc rejestruje Yugabyte Rozumowanie migawek, które czyni to bezpiecznym dzisiaj i kruchym, jeśli Przestrzeganie repozytoriów jest zawsze dodawane przed roszczeniem. Znalezienie 4 (Minor): kontroler zarejestrował nieobecną podpiskę-Stripe- Sprawa nagłówka w ERROR, taka sama jak prawdziwa zagadka. Błędna konfiguracja. Ten punkt końcowy jest publiczny i dostęp do Internetu, więc Każdy rozmówca może generować linie ERROR na żądanie, pomijając Nagłówek. WebhookNotKonfigurowana wyjątek teraz nosi flagę callerCaused; Sterownik rejestruje OSTRZEŻENIE dla obudowy nagłówka i rezerwuje ERROR dla Sprawa, która jest w rzeczywistości nasza do naprawienia. Testy: przypięte do obu kierunków nowej bramki do roszczenia behawioralnie (StripeWebhookClalaGateTest, z prawdziwym ładunkiem podpisanym HMAC) i via via Kształt źródłowy (StripeWebhookIdempotencyTest); markProcessed Dochodzenie w górę behawioralnie z wyśmiewanym repozytorium - i OSTRZEŻENIE/ERROR Podziel się behawioralnie za pośrednictwem Logback ListAppender - Sprawdzone wszystkie trzy są Załadunku przez odwrócenie każdej poprawki po kolei, potwierdzając Odpowiednie nowe testy idą na czerwono, a następnie przywracają i potwierdzają zielone. Pełny pakiet: 208 testów, 0 awarii, 0 błędów (do 193 przy 674fa0f).

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny