The profile data requested from the user:
| Value | Returned to your server |
|---|---|
PHONES | Phone numbers |
EMAILS | E-mail addresses |
NATIONAL_ID | National identity document number |
PASPO_ID | A permanent user identifier in Paspo ID |
A sealed type covering every outcome of authenticate:
| Result | Fields | Action |
|---|---|---|
Success | authCode: String | Send authCode to your server |
Cancelled | – | The user dismissed the consent screen; typically no error UI is needed |
NotInstalled | – | Paspo ID is not installed; the SDK has opened the Play Store |
Failure | error: PaspoClientError, message: String? | Present an error. message is intended for logs, not for the user |
Cancelled and NotInstalled are returned as dedicated branches and never appear inside Failure.
| Code | Constant | Meaning |
|---|---|---|
| 100 | UNKNOWN | Unknown error |
| 101 | INVALID_REQUEST | Malformed request or corrupted data |
| 102 | SERVICE_UNAVAILABLE | Paspo ID is temporarily unavailable |
| 103 | CANCELLED | The user cancelled the operation |
| 110 | SESSION_EXPIRED | The session expired; restart with a new nonce |
| 111 | PACKAGE_VERIFICATION_FAILED | The application failed Paspo ID's signature/package verification. Ensure both are registered during onboarding |
| 120 | ACCESS_DENIED | The user denied access |
| 121 | IDENTITY_NOT_VERIFIED | The user's identity is not verified in Paspo ID |
| 122 | ATTEMPTS_EXCEEDED | Too many attempts |
| 123 | ACTION_NOT_ALLOWED | Not available for this user |
| 130 | AUTH_METHOD_UNAVAILABLE | The confirmation method is temporarily unavailable |
| 131 | UNSUPPORTED_AUTH_METHOD | The confirmation method is not supported |
| 140 | PASPO_NOT_INSTALLED | Paspo ID is not installed |
| 141 | CRYPTO_ERROR | Encryption or decryption error; restart the flow |
The SDK clears its cryptographic state on any error, so no additional cleanup() is required afterwards.