Przejdź do głównej zawartości

Statusy

W DPay Web EID rozróżniamy dwa rodzaje statusów: status sesji (proces) i status wyniku (rezultat weryfikacji).

Status sesji (VerificationSession.status)

Opisuje aktualny etap procesu weryfikacji.

StatusOpisTerminalny
createdSesja utworzona, oczekuje na klientaNie
pendingKlient otworzył link, jeszcze nie zaczął weryfikacjiNie
processingTrwa proces u dostawcy (przelew, mObywatel itp.)Nie
completedSesja zakończona, dostępny wynikTak
failedSesja zakończona niepowodzeniemTak
expiredSesja wygasła (TTL) lub została anulowanaTak

Pełny opis przejść w sekcji Lifecycle.

Status wyniku (VerificationResult.status)

Opisuje rezultat weryfikacji - dostępny tylko dla sesji w stanie completed.

StatusOpis
verifiedTożsamość potwierdzona - verified_data zawiera dane osobowe
rejectedTożsamość odrzucona - powody w rejection_reasons
inconclusiveWynik niejednoznaczny - wymaga ręcznej oceny

Różnica między statusami

To są dwa niezależne poziomy:

Status sesjiStatus wynikuZnaczenie
completedverifiedPozytywna weryfikacja, dane PII dostępne
completedrejectedSesja zakończona, tożsamość odrzucona
completedinconclusiveSesja zakończona, wynik niejednoznaczny
failed(brak)Sesja nie doszła do etapu wyniku - błąd techniczny
expired(brak)Sesja wygasła przed zakończeniem
wskazówka

Sesja completed ≠ pozytywna weryfikacja. Zawsze sprawdzaj również result.status === 'verified' zanim zaakceptujesz tożsamość klienta.

Przykład sprawdzenia w PHP

<?php
$session = getVerificationSession($id);

if ($session['status'] !== 'completed') {
// Sesja jeszcze trwa lub się nie powiodła
return;
}

$result = getVerificationResult($id);

if ($result['status'] === 'verified') {
// OK - możemy zaakceptować klienta
$verifiedData = $result['verified_data'];
saveCustomerData($verifiedData);
} elseif ($result['status'] === 'rejected') {
// Odrzuć - powody w rejection_reasons
logRejection($result['rejection_reasons']);
} else {
// inconclusive - wymaga ręcznej weryfikacji
flagForManualReview($id);
}