This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-11-12 05:58 UTC.
A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.
A request to run 3-D Secure authentication for a card ahead of a transaction, through the
merchant's configured 3-D Secure provider.
Values
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.
Fields
Field
Type
Description
merchantIdrequired
string (uuid)
The merchant the authentication is for. Optional for a credential bound to one merchant,
which resolves it from the credential; required for a credential that reaches several.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.
The card to authenticate. The card number and expiration are required; the cardholder name,
email, phone and billing address improve the issuer's risk decision and are optional.
Conditional: When CardData is not null.
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.
Fields of ThreeDSecureCardDto:
Field
Type
Description
cardNumberrequired
string
The card number, 12 to 19 digits, passing the Luhn check. Required. Sent to the 3-D Secure provider; never stored,
logged or audited. Charge the same card when you create 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.
expirationMonthrequired
integer (int32)
The expiration month, 1 to 12. Required.nullablemin 1max 12
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.
expirationYearrequired
integer (int32)
The four-digit expiration year. Required. The card must not be expired: it is good through the end of its expiration month.
Conditional: Conditional (see validator source).nullablemin 2000max 2099
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.
nameOnCardrequired
string
The name on the card. Optional.nullablemax length 100
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.
emailrequired
string
The cardholder's email address. Optional.nullablemax length 254
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.
phonerequired
string
The cardholder's phone number. Optional.nullablemax length 32
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.
The cardholder's billing address. Optional.
Conditional: When BillingAddress is not null.
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 body has no documented fields.
amountrequired
number (double)
The purchase amount the transaction will carry, in the transaction currency as a decimal
(`42.50`, not minor units). Required, more than zero. Create the transaction for this
amount.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.
currencyCoderequired
string
The ISO 4217 currency code. Optional; `USD` when omitted. Card transactions are charged in
`USD`, so a transaction that references an authentication run in another currency is
refused when it is created.
Conditional: When CurrencyCode is not empty.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.
challengeReturnUrlrequired
string
The HTTPS URL the issuer's challenge page posts the result to once the cardholder completes
it. Required. The gateway does not host the challenge; the caller does, and submits the
returned `threeDSServerTransactionId` on the transaction once the challenge returns.nullablemax length 2048
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.
The size of the window the caller will present a challenge in. Optional; the issuer is told
`500x600` when it is omitted.
Conditional: When ChallengeWindowSize is not null.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.
The cardholder's browser, as the page that collected the card observed it. Required: the
issuer's risk decision is made from it, and a browser authentication that carries none is
refused by the vendor. `acceptHeader` and `userAgent` are required; send every
other value the page can observe.
Conditional: When Browser is not null.
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.
Fields of ThreeDSecureBrowserDto:
Field
Type
Description
acceptHeaderrequired
string
The browser's `Accept` header.nullablemax length 2048
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.
userAgentrequired
string
The browser's `User-Agent` header.nullablemax length 2048
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.
ipAddressrequired
string
The cardholder's IP address as the page observed it.nullablemax length 45
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.
languagerequired
string
The browser language, for example `en-US`.nullablemax length 8
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.
colorDepthrequired
integer (int32)
The screen color depth in bits.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.
screenHeightrequired
integer (int32)
The screen height in pixels.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.
screenWidthrequired
integer (int32)
The screen width in pixels.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.
timeZoneOffsetMinutesrequired
integer (int32)
The offset between UTC and the browser's local time, in minutes.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.
javaEnabledrequired
boolean
Whether Java is enabled in the browser.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.
javaScriptEnabledrequired
boolean
Whether JavaScript is enabled in the browser.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 body has no documented fields.
This model has no documented fields.
Reconnecting to the server
Could not reconnect
This session has ended
Attempt 1
Your work on this page is still here. Retrying keeps it; reloading starts the page again.
The server no longer holds this page's state, so it has to be loaded again.