Przejdź do głównej zawartości

Ponawianie notyfikacji

Mechanizm ponawiania notyfikacji (Retry Policy)

Paymentic implementuje zaawansowaną strategię Retry Policy w przypadku, gdy nie otrzyma prawidłowej odpowiedzi od endpointu Partnera. Zapewnia to dostarczenie wszystkich istotnych informacji o zmianach statusów transakcji.

Wymagana odpowiedź

Aby potwierdzić prawidłowe otrzymanie notyfikacji, endpoint Partnera musi zwrócić:

  • Status HTTP 200 z treścią text/plain OK
  • Lub status HTTP 202 bez treści (bez body)

Każda inna odpowiedź (inny kod statusu, brak odpowiedzi, timeout) będzie traktowana jako nieudana próba dostarczenia notyfikacji i spowoduje ponowienie wysyłki zgodnie z zasadami ponawiania.

Schemat ponawiania (Retry Policy)

System ponawia wysyłanie notyfikacji maksymalnie 30 razy zgodnie z poniższą strategią Retry Policy. Notyfikacje są przetwarzane w kolejce FIFO (First In, First Out) - kolejne próby ponowienia realizowane są w tej samej kolejności, w jakiej notyfikacje zostały pierwotnie wysłane.

PróbyInterwał ponowienia
1-10co 1 minutę
11-15co 15 minut
16-30co 1 godzinę

Najlepsze praktyki i Circuit Breaker

  1. Szybka odpowiedź - Endpoint powinien jak najszybciej zwrócić odpowiedź 200/202, aby uniknąć niepotrzebnych ponowień
  2. Asynchroniczne przetwarzanie - Rozważ przetwarzanie notyfikacji w tle (queue, background jobs)
  3. Idempotentność - Upewnij się, że wielokrotne otrzymanie tej samej notyfikacji nie spowoduje problemów
  4. Logowanie - Loguj wszystkie otrzymane notyfikacji do celów diagnostycznych
  5. Monitorowanie - Monitoruj liczbę ponowień, aby wykrywać problemy z dostępnością endpointu

Uwaga: Paymentic implementuje wzorzec Circuit Breaker - po 30 nieudanych próbach notyfikacja zostaje trwale oznaczona jako niedostarczona, co chroni system przed nieskończonym ponawianiem i przeciążeniem infrastruktury.

Ważne uwagi

  • Po 30 nieudanych próbach notyfikacja zostanie oznaczona jako niedostarczona
  • Czas wysyłki notyfikacji znajduje się w nagłówku X-Paymentic-Time
  • System nie ponawia notyfikacji, które otrzymały prawidłową odpowiedź (200 OK lub 202)