Callback events
The Truvity EUDIW Connector delivers a Presented Credentials Event to your callback endpoint at the end of each presentation flow. The status field indicates the outcome.
Event statuses
| Status | Description |
|---|---|
FULFILLED | Verification succeeded and credentials are available in the event payload |
REJECTED | The wallet declined the presentation request |
EXPIRED | The session expired before the wallet responded |
PROCESSING_ERROR | Internal processing failure (decryption, state validation) |
VERIFICATION_FAILED | Credential verification failed (invalid signatures, revoked credentials, DCQL mismatch) |
Payload fields by status
The event payload contains different fields depending on the status value.
| Field | FULFILLED | REJECTED | EXPIRED | PROCESSING_ERROR | VERIFICATION_FAILED |
|---|---|---|---|---|---|
state | Always | Always | Always | Always | Always |
credentials | Present | Absent | Absent | Absent | Absent |
credentialsRaw | Present | Absent | Absent | Absent | Absent |
errorDetails | Absent | Present | Absent | Present | Present |
responseCode | Same-device only | Absent | Absent | Absent | Absent |
errorDetails field
The errorDetails field provides context for non-success statuses.
| Status | errorDetails contents |
|---|---|
REJECTED | The wallet's OAuth 2.0 error code and optional description (for example, access_denied or access_denied: User canceled) |
PROCESSING_ERROR | A human-readable description of the internal error (for example, decryption errors or state validation failures) |
VERIFICATION_FAILED | Credential verification failure details (for example, invalid signatures, revoked credentials, or DCQL mismatches) |
responseCode field
For same-device flows, the event includes a responseCode field. The wallet redirects the user's browser back to your app with this code as a query parameter, allowing you to correlate the browser redirect with the callback event.
Further reading
- Error codes—wallet-facing HTTP error responses
- Handle verification errors—implement error handling and retry logic for non-success statuses
- Connector architecture—how the connector processes requests and delivers results