Lifecycle sesji weryfikacyjnej
Każda sesja weryfikacyjna w DPay Web EID przechodzi przez określone stany. Zrozumienie tego cyklu jest kluczowe do prawidłowej obsługi integracji.
Diagram stanów
Statusy sesji
| Status | Opis | Stan terminalny |
|---|---|---|
created | Sesja utworzona, oczekuje na rozpoczęcie przez użytkownika | Nie |
pending | Użytkownik otworzył link weryfikacyjny | Nie |
processing | Trwa proces weryfikacji u dostawcy | Nie |
completed | Sesja zakończona pozytywnie - dostępny result | Tak |
failed | Sesja zakończona niepowodzeniem | Tak |
expired | Sesja wygasła (timeout) lub została anulowana | Tak |
Stany terminalne
Sesja w stanie completed, failed lub expired jest zamknięta na trwałe. Nie można jej już anulować ani zmienić - próba DELETE /verifications/{id} zwróci błąd 409 z kodem SESSION_ALREADY_TERMINAL.
TTL sesji (czas życia)
Sesja automatycznie wygasa po określonym czasie od utworzenia, zależnie od celu (purpose):
| Purpose | TTL | Opis |
|---|---|---|
identity_verification | 30 minut | Standardowa weryfikacja tożsamości |
account_data | 60 minut | Pobranie danych rachunkowych przez AIS/PSD2 |
Po przekroczeniu TTL status sesji zmienia się automatycznie na expired. Webhook verification.expired zostanie wysłany do skonfigurowanych endpointów.
Przejścia między stanami
| Z | Do | Trigger |
|---|---|---|
created | pending | Klient otworzył verification_url |
created | expired | Timeout TTL bez otwarcia linku |
pending | processing | Klient zainicjował weryfikację u dostawcy |
pending | expired | Timeout TTL lub DELETE /verifications/{id} |
processing | completed | Dostawca zwrócił pozytywny wynik |
processing | failed | Niepowodzenie weryfikacji (np. odrzucenie, błąd dostawcy) |
Webhooks dla zmian statusu
Każde przejście do stanu terminalnego generuje odpowiedni webhook (jeśli skonfigurowany):
verification.completed→ przejście docompletedverification.failed→ przejście dofailedverification.expired→ przejście doexpired
Szczegóły w sekcji Webhooks - Zdarzenia.