Class: VisaAcceptanceMergedSpec::StrongAuthentication

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/visa_acceptance_merged_spec/models/strong_authentication.rb

Overview

StrongAuthentication Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(issuer_information: SKIP, low_value_exemption_indicator: SKIP, risk_analysis_exemption_indicator: SKIP, trusted_merchant_exemption_indicator: SKIP, secure_corporate_payment_indicator: SKIP, delegated_authentication_exemption_indicator: SKIP, outage_exemption_indicator: SKIP, authentication_indicator: SKIP, additional_properties: nil) ⇒ StrongAuthentication

Returns a new instance of StrongAuthentication.



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 116

def initialize(issuer_information: SKIP,
               low_value_exemption_indicator: SKIP,
               risk_analysis_exemption_indicator: SKIP,
               trusted_merchant_exemption_indicator: SKIP,
               secure_corporate_payment_indicator: SKIP,
               delegated_authentication_exemption_indicator: SKIP,
               outage_exemption_indicator: SKIP,
               authentication_indicator: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @issuer_information = issuer_information unless issuer_information == SKIP
  unless low_value_exemption_indicator == SKIP
    @low_value_exemption_indicator =
      low_value_exemption_indicator
  end
  unless risk_analysis_exemption_indicator == SKIP
    @risk_analysis_exemption_indicator =
      risk_analysis_exemption_indicator
  end
  unless trusted_merchant_exemption_indicator == SKIP
    @trusted_merchant_exemption_indicator =
      trusted_merchant_exemption_indicator
  end
  unless secure_corporate_payment_indicator == SKIP
    @secure_corporate_payment_indicator =
      secure_corporate_payment_indicator
  end
  unless delegated_authentication_exemption_indicator == SKIP
    @delegated_authentication_exemption_indicator =
      delegated_authentication_exemption_indicator
  end
  unless outage_exemption_indicator == SKIP
    @outage_exemption_indicator =
      outage_exemption_indicator
  end
  @authentication_indicator = authentication_indicator unless authentication_indicator == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#authentication_indicatorString

Indicates the type of Authentication request 01 - Payment transaction 02 - Recurring transaction 03 - Installment transaction 04 - Add card 05 - Maintain card 06 - Cardholder verification as part of EMV token ID and V

Returns:

  • (String)


77
78
79
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 77

def authentication_indicator
  @authentication_indicator
end

#delegated_authentication_exemption_indicatorString

This field will contain the delegated authentication exemption indicator with one of the following values: Possible values:

  • 0 (delegated Authentication exemption does not apply to the transaction)
  • 1 (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))

Returns:

  • (String)


58
59
60
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 58

def delegated_authentication_exemption_indicator
  @delegated_authentication_exemption_indicator
end

#issuer_informationIssuerInformation1

TODO: Write general description for this method

Returns:



14
15
16
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 14

def issuer_information
  @issuer_information
end

#low_value_exemption_indicatorString

This field will contain the low value exemption indicator with one of the following values: Possible values:

  • 0 ( low value exemption does not apply to the transaction)
  • 1 (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)

Returns:

  • (String)


23
24
25
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 23

def low_value_exemption_indicator
  @low_value_exemption_indicator
end

#outage_exemption_indicatorString

This field will contain the outage exemption indicator with one of the following values: Possible values:

  • 0 (Outage Authentication exemption does not apply to the transaction)
  • 1 (Outage exempt from SCA as authentication could not be done due to outage)

Returns:

  • (String)


67
68
69
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 67

def outage_exemption_indicator
  @outage_exemption_indicator
end

#risk_analysis_exemption_indicatorString

This field will contain the transaction risk analysis exemption indicator with one of the following values: Possible values:

  • 0 (TRA exemption does not apply to the transaction)
  • 1 (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)

Returns:

  • (String)


32
33
34
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 32

def risk_analysis_exemption_indicator
  @risk_analysis_exemption_indicator
end

#secure_corporate_payment_indicatorString

This field will contain the secure corporate payment exemption indicator with one of the following values: Possible values:

  • 0 (SCA exemption does not apply to the transaction)
  • 1 (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)

Returns:

  • (String)


48
49
50
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 48

def secure_corporate_payment_indicator
  @secure_corporate_payment_indicator
end

#trusted_merchant_exemption_indicatorString

Possible values:

  • 0 (Trusted merchant exemption does not apply to the transaction)
  • 1 (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)

Returns:

  • (String)


39
40
41
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 39

def trusted_merchant_exemption_indicator
  @trusted_merchant_exemption_indicator
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 157

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  issuer_information = IssuerInformation1.from_hash(hash['issuerInformation']) if
    hash['issuerInformation']
  low_value_exemption_indicator =
    hash.key?('lowValueExemptionIndicator') ? hash['lowValueExemptionIndicator'] : SKIP
  risk_analysis_exemption_indicator =
    hash.key?('riskAnalysisExemptionIndicator') ? hash['riskAnalysisExemptionIndicator'] : SKIP
  trusted_merchant_exemption_indicator =
    hash.key?('trustedMerchantExemptionIndicator') ? hash['trustedMerchantExemptionIndicator'] : SKIP
  secure_corporate_payment_indicator =
    hash.key?('secureCorporatePaymentIndicator') ? hash['secureCorporatePaymentIndicator'] : SKIP
  delegated_authentication_exemption_indicator =
    hash.key?('delegatedAuthenticationExemptionIndicator') ? hash['delegatedAuthenticationExemptionIndicator'] : SKIP
  outage_exemption_indicator =
    hash.key?('outageExemptionIndicator') ? hash['outageExemptionIndicator'] : SKIP
  authentication_indicator =
    hash.key?('authenticationIndicator') ? hash['authenticationIndicator'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  StrongAuthentication.new(issuer_information: issuer_information,
                           low_value_exemption_indicator: low_value_exemption_indicator,
                           risk_analysis_exemption_indicator: risk_analysis_exemption_indicator,
                           trusted_merchant_exemption_indicator: trusted_merchant_exemption_indicator,
                           secure_corporate_payment_indicator: secure_corporate_payment_indicator,
                           delegated_authentication_exemption_indicator: delegated_authentication_exemption_indicator,
                           outage_exemption_indicator: outage_exemption_indicator,
                           authentication_indicator: authentication_indicator,
                           additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 80

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['issuer_information'] = 'issuerInformation'
  @_hash['low_value_exemption_indicator'] = 'lowValueExemptionIndicator'
  @_hash['risk_analysis_exemption_indicator'] =
    'riskAnalysisExemptionIndicator'
  @_hash['trusted_merchant_exemption_indicator'] =
    'trustedMerchantExemptionIndicator'
  @_hash['secure_corporate_payment_indicator'] =
    'secureCorporatePaymentIndicator'
  @_hash['delegated_authentication_exemption_indicator'] =
    'delegatedAuthenticationExemptionIndicator'
  @_hash['outage_exemption_indicator'] = 'outageExemptionIndicator'
  @_hash['authentication_indicator'] = 'authenticationIndicator'
  @_hash
end

.nullablesObject

An array for nullable fields



112
113
114
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 112

def self.nullables
  []
end

.optionalsObject

An array for optional fields



98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 98

def self.optionals
  %w[
    issuer_information
    low_value_exemption_indicator
    risk_analysis_exemption_indicator
    trusted_merchant_exemption_indicator
    secure_corporate_payment_indicator
    delegated_authentication_exemption_indicator
    outage_exemption_indicator
    authentication_indicator
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



211
212
213
214
215
216
217
218
219
220
221
222
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 211

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} issuer_information: #{@issuer_information.inspect},"\
  " low_value_exemption_indicator: #{@low_value_exemption_indicator.inspect},"\
  " risk_analysis_exemption_indicator: #{@risk_analysis_exemption_indicator.inspect},"\
  " trusted_merchant_exemption_indicator: #{@trusted_merchant_exemption_indicator.inspect},"\
  " secure_corporate_payment_indicator: #{@secure_corporate_payment_indicator.inspect},"\
  ' delegated_authentication_exemption_indicator:'\
  " #{@delegated_authentication_exemption_indicator.inspect}, outage_exemption_indicator:"\
  " #{@outage_exemption_indicator.inspect}, authentication_indicator:"\
  " #{@authentication_indicator.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



198
199
200
201
202
203
204
205
206
207
208
# File 'lib/visa_acceptance_merged_spec/models/strong_authentication.rb', line 198

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} issuer_information: #{@issuer_information}, low_value_exemption_indicator:"\
  " #{@low_value_exemption_indicator}, risk_analysis_exemption_indicator:"\
  " #{@risk_analysis_exemption_indicator}, trusted_merchant_exemption_indicator:"\
  " #{@trusted_merchant_exemption_indicator}, secure_corporate_payment_indicator:"\
  " #{@secure_corporate_payment_indicator}, delegated_authentication_exemption_indicator:"\
  " #{@delegated_authentication_exemption_indicator}, outage_exemption_indicator:"\
  " #{@outage_exemption_indicator}, authentication_indicator: #{@authentication_indicator},"\
  " additional_properties: #{@additional_properties}>"
end