Class: Lithic::Models::ThreeDSAuthentication

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/lithic/models/three_ds_authentication.rb

Defined Under Namespace

Modules: AccountType, AuthenticationRequestType, AuthenticationResult, CardExpiryCheck, ChallengeOrchestratedBy, Channel, DecisionMadeBy, MessageCategory, ThreeDSRequestorChallengeIndicator, ThreeRiRequestType Classes: AdditionalData, App, Browser, Cardholder, ChallengeMetadata, Merchant, Transaction

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(accept_header: nil, ip: nil, java_enabled: nil, javascript_enabled: nil, language: nil, time_zone: nil, user_agent: nil) ⇒ Object

Some parameter documentations has been truncated, see Browser for more details.

Object containing data about the browser used in the e-commerce transaction. Present if the channel is ‘BROWSER’.

Parameters:

  • accept_header (String, nil) (defaults to: nil)

    Content of the HTTP accept headers as sent from the cardholder’s browser to the

  • ip (String, nil) (defaults to: nil)

    IP address of the browser as returned by the HTTP headers to the 3DS requestor (

  • java_enabled (Boolean, nil) (defaults to: nil)

    Indicates whether the cardholder’s browser has the ability to execute Java. Maps

  • javascript_enabled (Boolean, nil) (defaults to: nil)

    Indicates whether the cardholder’s browser has the ability to execute JavaScript

  • language (String, nil) (defaults to: nil)

    Language of the cardholder’s browser as defined in IETF BCP47. Maps to EMV 3DS f

  • time_zone (String, nil) (defaults to: nil)

    Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS

  • user_agent (String, nil) (defaults to: nil)

    Content of the HTTP user-agent header. Maps to EMV 3DS field ‘browserUserAgent`.



# File 'lib/lithic/models/three_ds_authentication.rb', line 167


Instance Attribute Details

#account_typeSymbol, ...

Type of account/card that is being used for the transaction. Maps to EMV 3DS field ‘acctType`.



18
# File 'lib/lithic/models/three_ds_authentication.rb', line 18

required :account_type, enum: -> { Lithic::ThreeDSAuthentication::AccountType }, nil?: true

#additional_dataLithic::Models::ThreeDSAuthentication::AdditionalData?

Object containing additional data about the 3DS request that is beyond the EMV 3DS standard spec (e.g., specific fields that only certain card networks send but are not required across all 3DS requests).



97
# File 'lib/lithic/models/three_ds_authentication.rb', line 97

optional :additional_data, -> { Lithic::ThreeDSAuthentication::AdditionalData }, nil?: true

#appLithic::Models::ThreeDSAuthentication::App?

Object containing data about the app used in the e-commerce transaction. Present if the channel is ‘APP_BASED’.



104
# File 'lib/lithic/models/three_ds_authentication.rb', line 104

optional :app, -> { Lithic::ThreeDSAuthentication::App }, nil?: true

#authentication_request_typeSymbol, ...

Type of authentication request - i.e., the type of transaction or interaction is causing the merchant to request an authentication. Maps to EMV 3DS field ‘threeDSRequestorAuthenticationInd`.



112
113
114
# File 'lib/lithic/models/three_ds_authentication.rb', line 112

optional :authentication_request_type,
enum: -> { Lithic::ThreeDSAuthentication::AuthenticationRequestType },
nil?: true

#authentication_resultSymbol, Lithic::Models::ThreeDSAuthentication::AuthenticationResult

Indicates the outcome of the 3DS authentication process.



24
# File 'lib/lithic/models/three_ds_authentication.rb', line 24

required :authentication_result, enum: -> { Lithic::ThreeDSAuthentication::AuthenticationResult }

#browserLithic::Models::ThreeDSAuthentication::Browser?

Object containing data about the browser used in the e-commerce transaction. Present if the channel is ‘BROWSER’.



121
# File 'lib/lithic/models/three_ds_authentication.rb', line 121

optional :browser, -> { Lithic::ThreeDSAuthentication::Browser }, nil?: true

#card_expiry_checkSymbol, Lithic::Models::ThreeDSAuthentication::CardExpiryCheck

Indicates whether the expiration date provided by the cardholder during checkout matches Lithic’s record of the card’s expiration date.



31
# File 'lib/lithic/models/three_ds_authentication.rb', line 31

required :card_expiry_check, enum: -> { Lithic::ThreeDSAuthentication::CardExpiryCheck }

#card_tokenString

Globally unique identifier for the card on which the 3DS authentication has occurred. Permitted values: 36-digit version 4 UUID (including hyphens).

Returns:

  • (String)


38
# File 'lib/lithic/models/three_ds_authentication.rb', line 38

required :card_token, String

#cardholderLithic::Models::ThreeDSAuthentication::Cardholder

Object containing data about the cardholder provided during the transaction.



44
# File 'lib/lithic/models/three_ds_authentication.rb', line 44

required :cardholder, -> { Lithic::ThreeDSAuthentication::Cardholder }

#challenge_metadataLithic::Models::ThreeDSAuthentication::ChallengeMetadata?

Metadata about the challenge method and delivery. Only present when a challenge is triggered.



128
# File 'lib/lithic/models/three_ds_authentication.rb', line 128

optional :challenge_metadata, -> { Lithic::ThreeDSAuthentication:: }, nil?: true

#challenge_orchestrated_bySymbol, ...

Entity that orchestrates the challenge. This won’t be set for authentications for which a decision has not yet been made (e.g. in-flight customer decisioning request).



136
137
138
# File 'lib/lithic/models/three_ds_authentication.rb', line 136

optional :challenge_orchestrated_by,
enum: -> { Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy },
nil?: true

#channelSymbol, Lithic::Models::ThreeDSAuthentication::Channel

Channel in which the authentication occurs. Maps to EMV 3DS field ‘deviceChannel`.



51
# File 'lib/lithic/models/three_ds_authentication.rb', line 51

required :channel, enum: -> { Lithic::ThreeDSAuthentication::Channel }

#createdTime

Date and time when the authentication was created in Lithic’s system. Permitted values: Date string in the ISO 8601 format yyyy-MM-dd’T’hh:mm:ssZ.

Returns:

  • (Time)


58
# File 'lib/lithic/models/three_ds_authentication.rb', line 58

required :created, Time

#decision_made_bySymbol, ...

Entity that made the authentication decision. This won’t be set for authentications for which a decision has not yet been made (e.g. in-flight customer decisioning request).



146
# File 'lib/lithic/models/three_ds_authentication.rb', line 146

optional :decision_made_by, enum: -> { Lithic::ThreeDSAuthentication::DecisionMadeBy }, nil?: true

#merchantLithic::Models::ThreeDSAuthentication::Merchant

Object containing data about the merchant involved in the e-commerce transaction.



65
# File 'lib/lithic/models/three_ds_authentication.rb', line 65

required :merchant, -> { Lithic::ThreeDSAuthentication::Merchant }

#message_categorySymbol, Lithic::Models::ThreeDSAuthentication::MessageCategory

Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not populated.



73
# File 'lib/lithic/models/three_ds_authentication.rb', line 73

required :message_category, enum: -> { Lithic::ThreeDSAuthentication::MessageCategory }

#three_ds_requestor_challenge_indicatorSymbol, Lithic::Models::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator

Indicates whether a challenge is requested for this transaction

  • ‘NO_PREFERENCE` - No Preference

  • ‘NO_CHALLENGE_REQUESTED` - No Challenge Requested

  • ‘CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference)

  • ‘CHALLENGE_MANDATE` - Challenge requested (Mandate)

  • ‘NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional risk analysis is already performed)

  • ‘DATA_SHARE_ONLY` - No Challenge requested (Data Share Only)

  • ‘OTHER` - Other indicators not captured by above. These are rarely used



88
89
# File 'lib/lithic/models/three_ds_authentication.rb', line 88

required :three_ds_requestor_challenge_indicator,
enum: -> { Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator }

#three_ri_request_typeSymbol, ...

Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that takes place at the initiation of the merchant rather than the cardholder. The most common example of this is where a merchant is authenticating before billing for a recurring transaction such as a pay TV subscription or a utility bill. Maps to EMV 3DS field ‘threeRIInd`.



156
157
158
# File 'lib/lithic/models/three_ds_authentication.rb', line 156

optional :three_ri_request_type,
enum: -> { Lithic::ThreeDSAuthentication::ThreeRiRequestType },
nil?: true

#tokenString

Globally unique identifier for the 3DS authentication. Permitted values: 36-digit version 4 UUID (including hyphens).

Returns:

  • (String)


11
# File 'lib/lithic/models/three_ds_authentication.rb', line 11

required :token, String

#transactionLithic::Models::ThreeDSAuthentication::Transaction?

Object containing data about the e-commerce transaction for which the merchant is requesting authentication.



165
# File 'lib/lithic/models/three_ds_authentication.rb', line 165

optional :transaction, -> { Lithic::ThreeDSAuthentication::Transaction }, nil?: true

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/lithic/models/three_ds_authentication.rb', line 224