ThreeDSAuthenticationData
A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.
The 3-D Secure authentication record persisted on a transaction: the merchant-safe outcome the directory server and issuer reported, plus the issuer credential the authorization forwards to claim the liability shift.
Values
Fields
| Field | Type | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
providerType
required |
ThreeDSProviderType ThreeDSProviderType | Which 3-D Secure provider produced this authentication.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
messageCategory
required |
ThreeDSMessageCategory ThreeDSMessageCategory | The EMVCo message category the authentication ran under: a payment authentication or a
non-payment one (adding a card on file, verifying an account).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
threeDSVersion
required |
string | The 3DS message version the flow negotiated, in EMVCo dotted form (for example
`2.2.0`). A string because the wire field is a string and a new version must not need
a code change here.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
threeDSServerTransactionId
required |
string | The 3DS server transaction identifier that correlates every message in this authentication.
The one identifier a support agent needs to trace a 3DS flow end to end with the provider.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
dsTransactionId
required |
string | The directory server transaction identifier, which most schemes require on the
authorization and which a later merchant-initiated (3RI) authentication quotes as its prior
reference.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
acsTransactionId
required |
string | The access control server (issuer) transaction identifier, used to correlate a challenge
with its authentication.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
transactionStatus
required |
ThreeDSTransactionStatus ThreeDSTransactionStatus | The normalized EMVCo `transStatus` (wire values `Y`, `N`, `U`,
`A`, `C`, `D`, `R`, `I`). This, not
`liabilityShifted`, is the protocol answer; the liability flag is the
interpretation.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
transactionStatusReason
required |
string | The EMVCo `transStatusReason`, present when the issuer explains a non-authenticated
status.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
eci
required |
string | The electronic commerce indicator to forward on the authorization. Scheme-specific: Visa and
Amex use `05` / `06` / `07`, Mastercard uses `02` / `01` /
`00`. Distinct from the wallet `CardData.EciIndicator`, which a wallet
decryption writes.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
cavvResultCode
required |
string | The scheme's CAVV result code, describing how the issuer validated the credential. Metadata
about the credential, not the credential, so it is merchant-safe.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
cavvAlgorithm
required |
string | The algorithm the issuer used to generate the credential, where the scheme reports one.
Metadata about the credential, not the credential, so it is merchant-safe.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
liabilityShifted
required |
boolean | `true` when this outcome shifts chargeback liability to the issuer under the
scheme's rules for the reported status and ECI. Set by the provider so the rule lives in one
place per vendor; readers must not re-derive it.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
challengeRequired
required |
boolean | `true` when the issuer required a cardholder challenge to complete the
authentication.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
challengeCompleted
required |
boolean | `true` when a required challenge ran to completion and the issuer reported
its result; `false` when the cardholder abandoned it or it timed out;
`null` when no challenge was required.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
authenticationType
required |
ThreeDSAuthenticationType ThreeDSAuthenticationType | How the authentication reached its outcome: frictionless, challenged, an attempts stand-in,
or merchant-initiated.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
authenticatedAtUtc
required |
string (date-time) | UTC instant the authentication outcome was recorded on the transaction.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
cavv
required |
string | The base64-encoded cardholder authentication verification value the issuer returned (Visa,
Discover, Amex). Always sensitive: never logged, never delivered on a webhook, never written
into transaction history, and masked on every read surface. `null` on a
Mastercard authentication, which carries `aav` instead.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| ||||||||||||||||||
aav
required |
string | The base64-encoded accountholder authentication value (Mastercard's spelling of the same
credential as `cavv`). Handled identically: always sensitive.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This model has no documented fields.