# ThreeDSecureAuthenticateResultDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

The outcome of a 3-D Secure authentication request: either a decided outcome, or the challenge
the issuer asked the cardholder to complete.

## Fields
- `threeDSServerTransactionId` (string): The 3DS Server transaction id. Submit it as `threeDSecure.threeDSServerTransactionId` on the transaction create request once the authentication is decided. (nullable)
- `messageVersion` (string): The EMVCo message version the authentication ran under, for example `2.2.0`. (nullable)
- `transactionStatus` ([ThreeDSTransactionStatus](https://devportal.signapay-sbx.winkpg.io/docs/api/models/ThreeDSTransactionStatus.md)): The transaction status the issuer reported.
  Values:
  - `Unknown`: No status was reported, or the value could not be mapped. Treated as "no authentication happened": never liability-shifting.
  - `Authenticated`: Wire value Y: authentication or account verification succeeded.
  - `NotAuthenticated`: Wire value N: not authenticated, or the transaction was denied.
  - `Unavailable`: Wire value U: authentication could not be performed (technical or other problem).
  - `AttemptsProcessed`: Wire value A: an authentication attempt was performed and proof is supplied, but the cardholder was not actually authenticated (the "attempts" / stand-in path).
  - `ChallengeRequired`: Wire value C: a cardholder challenge is required to complete authentication.
  - `DecoupledChallengeRequired`: Wire value D: a decoupled cardholder challenge is required (3DS 2.2 and later).
  - `Rejected`: Wire value R: authentication was rejected by the issuer.
  - `InformationalOnly`: Wire value I: informational only. The 3DS requestor asked for information and no authentication was performed.
- `authenticated` (boolean): Whether the authentication is decided in the cardholder's favor. `false` while a challenge is pending, and for every status other than authenticated or attempts processed.
- `liabilityShifted` (boolean): Whether the issuer shifted liability for the authentication as it stands.
- `eci` (string): The electronic commerce indicator the issuer reported, when the authentication is decided. (nullable)
- `dsTransactionId` (string): The directory server transaction id, when the issuer reported one. (nullable)
- `transactionStatusReason` (string): The issuer's reason for the status, when it gave one. (nullable)
- `challenge` ([ThreeDSecureChallengeDto](https://devportal.signapay-sbx.winkpg.io/docs/api/models/ThreeDSecureChallengeDto.md)): The challenge to present to the cardholder, when the issuer asked for one. Absent when the authentication is decided without a challenge.
  Fields:
  - `acsUrl` (string): The access control server URL the challenge form posts to. (nullable)
  - `encodedChallengeRequest` (string): The encoded challenge request to post as the `creq` field. (nullable)
  - `sessionData` (string): The session data to post as `threeDSSessionData`, when the vendor supplies one. (nullable)
  - `challengeWindowSize` ([ThreeDSChallengeWindowSize](https://devportal.signapay-sbx.winkpg.io/docs/api/models/ThreeDSChallengeWindowSize.md)): The window size the challenge request declared.
    Values:
    - `Size250X400`: Wire value 01: 250 x 400.
    - `Size390X400`: Wire value 02: 390 x 400.
    - `Size500X600`: Wire value 03: 500 x 600.
    - `Size600X400`: Wire value 04: 600 x 400.
    - `FullScreen`: Wire value 05: full screen.
  - `acsTransactionId` (string): The access control server transaction id, for the caller's own correlation. (nullable)

## See also

- [All documentation](https://devportal.signapay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
