cybersource_rest_client 0.0.17 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/core/MerchantConfig.rb +2 -0
  3. data/lib/cybersource_rest_client.rb +81 -5
  4. data/lib/cybersource_rest_client/api/authentication_exemptions_api.rb +89 -0
  5. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +154 -0
  6. data/lib/cybersource_rest_client/api/report_definitions_api.rb +9 -0
  7. data/lib/cybersource_rest_client/api/report_downloads_api.rb +3 -0
  8. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +79 -0
  9. data/lib/cybersource_rest_client/api/reports_api.rb +2 -2
  10. data/lib/cybersource_rest_client/api_client.rb +12 -0
  11. data/lib/cybersource_rest_client/models/authentication_exemptions_request.rb +228 -0
  12. data/lib/cybersource_rest_client/models/buyer_information.rb +20 -20
  13. data/lib/cybersource_rest_client/models/check_payer_auth_enrollment_request.rb +284 -0
  14. data/lib/cybersource_rest_client/models/create_payment_instrument_request.rb +2 -41
  15. data/lib/cybersource_rest_client/models/create_report_subscription_request.rb +27 -2
  16. data/lib/cybersource_rest_client/models/embedded_instrument_identifier_request.rb +226 -0
  17. data/lib/cybersource_rest_client/models/{embedded_instrument_identifier.rb → embedded_instrument_identifier_response.rb} +11 -2
  18. data/lib/cybersource_rest_client/models/{tms_v1_instrument_identifiers_delete409_response__links_payment_instruments.rb → instrument_identifier_payment_instruments_link.rb} +1 -1
  19. data/lib/cybersource_rest_client/models/{instrument_identifier.rb → instrument_identifier_response.rb} +11 -2
  20. data/lib/cybersource_rest_client/models/issuer.rb +208 -0
  21. data/lib/cybersource_rest_client/models/links.rb +10 -1
  22. data/lib/cybersource_rest_client/models/model_409_links.rb +1 -1
  23. data/lib/cybersource_rest_client/models/payment_instrument.rb +9 -9
  24. data/lib/cybersource_rest_client/models/payment_instrument_card.rb +2 -2
  25. data/lib/cybersource_rest_client/models/payment_instrument_instrument_identifier_request.rb +246 -0
  26. data/lib/cybersource_rest_client/models/payment_instrument_self_link.rb +183 -0
  27. data/lib/cybersource_rest_client/models/payment_instruments_links.rb +183 -0
  28. data/lib/cybersource_rest_client/models/personal_identification.rb +1 -1
  29. data/lib/cybersource_rest_client/models/predefined_subscription_request_bean.rb +392 -0
  30. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +225 -0
  31. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +1 -1
  32. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_point_of_sale_information_emv.rb +2 -2
  33. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_merchant_information_merchant_descriptor.rb +0 -15
  34. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +2 -2
  35. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information_sub_merchant.rb +1 -1
  36. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +60 -0
  37. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +22 -27
  38. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +2 -2
  39. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_bill_to.rb +26 -1
  40. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +4 -4
  41. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +2 -2
  42. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +1 -1
  43. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +2 -2
  44. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_aggregator_information_sub_merchant.rb +1 -1
  45. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +270 -0
  46. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_amount_details.rb +2 -2
  47. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +1 -1
  48. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +2 -2
  49. data/lib/cybersource_rest_client/models/ptsv2payouts_merchant_information_merchant_descriptor.rb +0 -30
  50. data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +2 -2
  51. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +2 -2
  52. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information_payouts_options.rb +1 -1
  53. data/lib/cybersource_rest_client/models/reporting_v3_report_definitions_get200_response_report_definitions.rb +23 -4
  54. data/lib/cybersource_rest_client/models/reporting_v3_report_definitions_name_get200_response.rb +23 -4
  55. data/lib/cybersource_rest_client/models/reporting_v3_report_definitions_name_get200_response_default_settings.rb +255 -0
  56. data/lib/cybersource_rest_client/models/reporting_v3_report_subscriptions_get200_response_subscriptions.rb +27 -2
  57. data/lib/cybersource_rest_client/models/reporting_v3_reports_get200_response__link.rb +183 -0
  58. data/lib/cybersource_rest_client/models/reporting_v3_reports_get200_response__link_report_download.rb +192 -0
  59. data/lib/cybersource_rest_client/models/reporting_v3_reports_get200_response_report_search_results.rb +13 -4
  60. data/lib/cybersource_rest_client/models/request.rb +210 -0
  61. data/lib/cybersource_rest_client/models/risk_v1_authentication_excemptions_post400_response.rb +225 -0
  62. data/lib/cybersource_rest_client/models/risk_v1_authentication_exemptions_consumer_authentication_information_strong_authentication.rb +269 -0
  63. data/lib/cybersource_rest_client/models/risk_v1_authentication_exemptions_post201_response.rb +255 -0
  64. data/lib/cybersource_rest_client/models/risk_v1_authentication_exemptions_post201_response_consumer_authentication_information.rb +183 -0
  65. data/lib/cybersource_rest_client/models/risk_v1_authentication_exemptions_post201_response_risk_information.rb +199 -0
  66. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response.rb +285 -0
  67. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response_consumer_authentication_information.rb +324 -0
  68. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response.rb +294 -0
  69. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response_consumer_authentication_information.rb +444 -0
  70. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response_order_information.rb +183 -0
  71. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response_order_information_amount_details.rb +199 -0
  72. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_acquirer_information.rb +199 -0
  73. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_device_information.rb +183 -0
  74. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_merchant_information.rb +258 -0
  75. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_merchant_information_merchant_descriptor.rb +229 -0
  76. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_order_information.rb +212 -0
  77. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_order_information_bill_to.rb +496 -0
  78. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_order_information_line_items.rb +283 -0
  79. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_order_information_ship_to.rb +399 -0
  80. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_payment_information.rb +192 -0
  81. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_payment_information_card.rb +325 -0
  82. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_payment_information_tokenized_card.rb +291 -0
  83. data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +524 -0
  84. data/lib/cybersource_rest_client/models/riskv1authenticationresults_order_information.rb +194 -0
  85. data/lib/cybersource_rest_client/models/riskv1authenticationresults_order_information_line_items.rb +267 -0
  86. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information.rb +192 -0
  87. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_card.rb +298 -0
  88. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +264 -0
  89. data/lib/cybersource_rest_client/models/riskv1authentications_acquirer_information.rb +274 -0
  90. data/lib/cybersource_rest_client/models/riskv1authentications_buyer_information.rb +196 -0
  91. data/lib/cybersource_rest_client/models/riskv1authentications_client_reference_information.rb +208 -0
  92. data/lib/cybersource_rest_client/models/riskv1authentications_consumer_authentication_information.rb +1359 -0
  93. data/lib/cybersource_rest_client/models/riskv1authentications_consumer_authentication_information_ivr.rb +319 -0
  94. data/lib/cybersource_rest_client/models/riskv1authentications_consumer_authentication_information_strong_authentication.rb +199 -0
  95. data/lib/cybersource_rest_client/models/riskv1authentications_device_information.rb +430 -0
  96. data/lib/cybersource_rest_client/models/riskv1authentications_device_information_raw_data.rb +209 -0
  97. data/lib/cybersource_rest_client/models/riskv1authentications_merchant_information.rb +208 -0
  98. data/lib/cybersource_rest_client/models/{tss_v2_transactions_get200_response_payment_information_payment_type_funding_source.rb → riskv1authentications_merchant_information_merchant_descriptor.rb} +25 -40
  99. data/lib/cybersource_rest_client/models/riskv1authentications_order_information.rb +283 -0
  100. data/lib/cybersource_rest_client/models/riskv1authentications_order_information_line_items.rb +396 -0
  101. data/lib/cybersource_rest_client/models/riskv1authentications_order_information_ship_to.rb +459 -0
  102. data/lib/cybersource_rest_client/models/riskv1authentications_recurring_payment_information.rb +235 -0
  103. data/lib/cybersource_rest_client/models/riskv1authentications_risk_information.rb +183 -0
  104. data/lib/cybersource_rest_client/models/riskv1authentications_risk_information_buyer_history.rb +262 -0
  105. data/lib/cybersource_rest_client/models/riskv1authentications_risk_information_buyer_history_account_history.rb +209 -0
  106. data/lib/cybersource_rest_client/models/riskv1authentications_risk_information_buyer_history_customer_account.rb +279 -0
  107. data/lib/cybersource_rest_client/models/riskv1authentications_travel_information.rb +206 -0
  108. data/lib/cybersource_rest_client/models/riskv1authentications_travel_information_legs.rb +259 -0
  109. data/lib/cybersource_rest_client/models/riskv1authentications_travel_information_passengers.rb +224 -0
  110. data/lib/cybersource_rest_client/models/riskv1decisions_device_information.rb +26 -1
  111. data/lib/cybersource_rest_client/models/riskv1decisions_order_information.rb +13 -4
  112. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_address.rb +325 -0
  113. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_bill_to.rb +26 -1
  114. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information.rb +13 -4
  115. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_bank.rb +275 -0
  116. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_card.rb +2 -2
  117. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +1 -1
  118. data/lib/cybersource_rest_client/models/riskv1decisions_risk_information.rb +13 -4
  119. data/lib/cybersource_rest_client/models/riskv1decisions_risk_information_marking_details.rb +275 -0
  120. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_delete409_response__links.rb +1 -1
  121. data/lib/cybersource_rest_client/models/{tms_v1_instrument_identifiers_payment_instruments_get200_response_instrument_identifier.rb → tms_v1_instrument_identifiers_payment_instruments_embedded_instrument_identifier.rb} +11 -2
  122. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response__embedded__embedded.rb +183 -0
  123. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response__embedded__links.rb +183 -0
  124. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response__embedded__links_self.rb +183 -0
  125. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response__embedded_buyer_information.rb +20 -20
  126. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response__embedded_card.rb +2 -2
  127. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response_payment_instruments.rb +9 -9
  128. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_get200_response_personal_identification.rb +1 -1
  129. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response.rb +10 -1
  130. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response__links.rb +10 -1
  131. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response__links_payment_instruments.rb +183 -0
  132. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response_issuer.rb +208 -0
  133. data/lib/cybersource_rest_client/models/tmsv1instrumentidentifiers_card.rb +1 -1
  134. data/lib/cybersource_rest_client/models/tmsv1paymentinstruments_instrument_identifier.rb +226 -0
  135. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_application_information_applications.rb +1 -1
  136. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_client_reference_information.rb +3 -3
  137. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +1 -1
  138. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_payment_type.rb +12 -31
  139. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +1 -1
  140. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_client_reference_information.rb +2 -2
  141. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +1 -1
  142. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_payment_type.rb +9 -9
  143. data/lib/cybersource_rest_client/models/update_payment_instrument_request.rb +2 -41
  144. data/lib/cybersource_rest_client/utilities/flex/token_verification.rb +42 -0
  145. metadata +79 -7
@@ -0,0 +1,196 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Riskv1authenticationsBuyerInformation
17
+ # This array contains detailed information about the buyer's form of persoanl identification.
18
+ attr_accessor :personal_identification
19
+
20
+ # Cardholder’s mobile phone number. **Important** Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.
21
+ attr_accessor :mobile_phone
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'personal_identification' => :'personalIdentification',
27
+ :'mobile_phone' => :'mobilePhone'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'personal_identification' => :'Array<Ptsv2paymentsBuyerInformationPersonalIdentification>',
35
+ :'mobile_phone' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'personalIdentification')
48
+ if (value = attributes[:'personalIdentification']).is_a?(Array)
49
+ self.personal_identification = value
50
+ end
51
+ end
52
+
53
+ if attributes.has_key?(:'mobilePhone')
54
+ self.mobile_phone = attributes[:'mobilePhone']
55
+ end
56
+ end
57
+
58
+ # Show invalid properties with the reasons. Usually used together with valid?
59
+ # @return Array for valid properties with the reasons
60
+ def list_invalid_properties
61
+ invalid_properties = Array.new
62
+ invalid_properties
63
+ end
64
+
65
+ # Check to see if the all the properties in the model are valid
66
+ # @return true if the model is valid
67
+ def valid?
68
+ true
69
+ end
70
+
71
+ # Checks equality by comparing each attribute.
72
+ # @param [Object] Object to be compared
73
+ def ==(o)
74
+ return true if self.equal?(o)
75
+ self.class == o.class &&
76
+ personal_identification == o.personal_identification &&
77
+ mobile_phone == o.mobile_phone
78
+ end
79
+
80
+ # @see the `==` method
81
+ # @param [Object] Object to be compared
82
+ def eql?(o)
83
+ self == o
84
+ end
85
+
86
+ # Calculates hash code according to all attributes.
87
+ # @return [Fixnum] Hash code
88
+ def hash
89
+ [personal_identification, mobile_phone].hash
90
+ end
91
+
92
+ # Builds the object from hash
93
+ # @param [Hash] attributes Model attributes in the form of hash
94
+ # @return [Object] Returns the model itself
95
+ def build_from_hash(attributes)
96
+ return nil unless attributes.is_a?(Hash)
97
+ self.class.swagger_types.each_pair do |key, type|
98
+ if type =~ /\AArray<(.*)>/i
99
+ # check to ensure the input is an array given that the the attribute
100
+ # is documented as an array but the input is not
101
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
102
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
103
+ end
104
+ elsif !attributes[self.class.attribute_map[key]].nil?
105
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
106
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
107
+ end
108
+
109
+ self
110
+ end
111
+
112
+ # Deserializes the data based on type
113
+ # @param string type Data type
114
+ # @param string value Value to be deserialized
115
+ # @return [Object] Deserialized data
116
+ def _deserialize(type, value)
117
+ case type.to_sym
118
+ when :DateTime
119
+ DateTime.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :BOOLEAN
129
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+ when :Object
135
+ # generic object (usually a Hash), return directly
136
+ value
137
+ when /\AArray<(?<inner_type>.+)>\z/
138
+ inner_type = Regexp.last_match[:inner_type]
139
+ value.map { |v| _deserialize(inner_type, v) }
140
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
141
+ k_type = Regexp.last_match[:k_type]
142
+ v_type = Regexp.last_match[:v_type]
143
+ {}.tap do |hash|
144
+ value.each do |k, v|
145
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
146
+ end
147
+ end
148
+ else # model
149
+ temp_model = CyberSource.const_get(type).new
150
+ temp_model.build_from_hash(value)
151
+ end
152
+ end
153
+
154
+ # Returns the string representation of the object
155
+ # @return [String] String presentation of the object
156
+ def to_s
157
+ to_hash.to_s
158
+ end
159
+
160
+ # to_body is an alias to to_hash (backward compatibility)
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_body
163
+ to_hash
164
+ end
165
+
166
+ # Returns the object in the form of hash
167
+ # @return [Hash] Returns the object in the form of hash
168
+ def to_hash
169
+ hash = {}
170
+ self.class.attribute_map.each_pair do |attr, param|
171
+ value = self.send(attr)
172
+ next if value.nil?
173
+ hash[param] = _to_hash(value)
174
+ end
175
+ hash
176
+ end
177
+
178
+ # Outputs non-array value in the form of hash
179
+ # For object, use to_hash. Otherwise, just return the value
180
+ # @param [Object] value Any valid value
181
+ # @return [Hash] Returns the value in the form of hash
182
+ def _to_hash(value)
183
+ if value.is_a?(Array)
184
+ value.compact.map { |v| _to_hash(v) }
185
+ elsif value.is_a?(Hash)
186
+ {}.tap do |hash|
187
+ value.each { |k, v| hash[k] = _to_hash(v) }
188
+ end
189
+ elsif value.respond_to? :to_hash
190
+ value.to_hash
191
+ else
192
+ value
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,208 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Riskv1authenticationsClientReferenceInformation
17
+ # Client-generated order reference or tracking number. CyberSource recommends that you send a unique value for each transaction so that you can perform meaningful searches for the transaction. For information about tracking orders, see \"Tracking and Reconciling Your Orders\" in [Getting Started with CyberSource Advanced for the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Getting_Started_SCMP/html/wwhelp/wwhimpl/js/html/wwhelp.htm) #### FDC Nashville Global Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.
18
+ attr_accessor :code
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'code' => :'code'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'code' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'code')
43
+ self.code = attributes[:'code']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ if @code.nil?
52
+ invalid_properties.push('invalid value for "code", code cannot be nil.')
53
+ end
54
+
55
+ if @code.to_s.length > 50
56
+ invalid_properties.push('invalid value for "code", the character length must be smaller than or equal to 50.')
57
+ end
58
+
59
+ invalid_properties
60
+ end
61
+
62
+ # Check to see if the all the properties in the model are valid
63
+ # @return true if the model is valid
64
+ def valid?
65
+ return false if @code.nil?
66
+ return false if @code.to_s.length > 50
67
+ true
68
+ end
69
+
70
+ # Custom attribute writer method with validation
71
+ # @param [Object] code Value to be assigned
72
+ def code=(code)
73
+ if code.nil?
74
+ fail ArgumentError, 'code cannot be nil'
75
+ end
76
+
77
+ if code.to_s.length > 50
78
+ fail ArgumentError, 'invalid value for "code", the character length must be smaller than or equal to 50.'
79
+ end
80
+
81
+ @code = code
82
+ end
83
+
84
+ # Checks equality by comparing each attribute.
85
+ # @param [Object] Object to be compared
86
+ def ==(o)
87
+ return true if self.equal?(o)
88
+ self.class == o.class &&
89
+ code == o.code
90
+ end
91
+
92
+ # @see the `==` method
93
+ # @param [Object] Object to be compared
94
+ def eql?(o)
95
+ self == o
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Fixnum] Hash code
100
+ def hash
101
+ [code].hash
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ self.class.swagger_types.each_pair do |key, type|
110
+ if type =~ /\AArray<(.*)>/i
111
+ # check to ensure the input is an array given that the the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
114
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
115
+ end
116
+ elsif !attributes[self.class.attribute_map[key]].nil?
117
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
118
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
119
+ end
120
+
121
+ self
122
+ end
123
+
124
+ # Deserializes the data based on type
125
+ # @param string type Data type
126
+ # @param string value Value to be deserialized
127
+ # @return [Object] Deserialized data
128
+ def _deserialize(type, value)
129
+ case type.to_sym
130
+ when :DateTime
131
+ DateTime.parse(value)
132
+ when :Date
133
+ Date.parse(value)
134
+ when :String
135
+ value.to_s
136
+ when :Integer
137
+ value.to_i
138
+ when :Float
139
+ value.to_f
140
+ when :BOOLEAN
141
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
142
+ true
143
+ else
144
+ false
145
+ end
146
+ when :Object
147
+ # generic object (usually a Hash), return directly
148
+ value
149
+ when /\AArray<(?<inner_type>.+)>\z/
150
+ inner_type = Regexp.last_match[:inner_type]
151
+ value.map { |v| _deserialize(inner_type, v) }
152
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
153
+ k_type = Regexp.last_match[:k_type]
154
+ v_type = Regexp.last_match[:v_type]
155
+ {}.tap do |hash|
156
+ value.each do |k, v|
157
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
158
+ end
159
+ end
160
+ else # model
161
+ temp_model = CyberSource.const_get(type).new
162
+ temp_model.build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ # Returns the string representation of the object
167
+ # @return [String] String presentation of the object
168
+ def to_s
169
+ to_hash.to_s
170
+ end
171
+
172
+ # to_body is an alias to to_hash (backward compatibility)
173
+ # @return [Hash] Returns the object in the form of hash
174
+ def to_body
175
+ to_hash
176
+ end
177
+
178
+ # Returns the object in the form of hash
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_hash
181
+ hash = {}
182
+ self.class.attribute_map.each_pair do |attr, param|
183
+ value = self.send(attr)
184
+ next if value.nil?
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ # Outputs non-array value in the form of hash
191
+ # For object, use to_hash. Otherwise, just return the value
192
+ # @param [Object] value Any valid value
193
+ # @return [Hash] Returns the value in the form of hash
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map { |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to? :to_hash
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+ end
208
+ end
@@ -0,0 +1,1359 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Riskv1authenticationsConsumerAuthenticationInformation
17
+ attr_accessor :strong_authentication
18
+
19
+ # Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled **NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.
20
+ attr_accessor :authentication_type
21
+
22
+ # Identifies the UI Type the ACS will use to complete the challenge. **NOTE**: Only available for App transactions using the Cardinal Mobile SDK.
23
+ attr_accessor :acs_rendering_type
24
+
25
+ # Unique transaction identifier assigned by the ACS to identify a single transaction.
26
+ attr_accessor :acs_transaction_id
27
+
28
+ # An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window. 01 - 250x400 02 - 390x400 03 - 500x600 04 - 600x400 05 - Full page
29
+ attr_accessor :acs_window_size
30
+
31
+ # Data that documents and supports a specific authentication process.
32
+ attr_accessor :alternate_authentication_data
33
+
34
+ # Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM
35
+ attr_accessor :alternate_authentication_date
36
+
37
+ # Mechanism used by the cardholder to authenticate to the 3D Secure requestor. Possible values: - `01`: No authentication occurred - `02`: Login using merchant system credentials - `03`: Login using Federated ID - `04`: Login using issuer credentials - `05`: Login using third-party authenticator - `06`: Login using FIDO Authenticator
38
+ attr_accessor :alternate_authentication_method
39
+
40
+ # The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request payload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be provided by merchant in authorization request if calling an external 3DS provider.
41
+ attr_accessor :authentication_date
42
+
43
+ # Payer authentication transaction identifier passed to link the check enrollment and validate authentication messages. **Note**: Required for Standard integration for enroll service. Required for Hybrid integration for validate service.
44
+ attr_accessor :authentication_transaction_id
45
+
46
+ # The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow
47
+ attr_accessor :authorization_payload
48
+
49
+ # Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction.The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.”. The Issuing Bank can optionally support this value.
50
+ attr_accessor :cardholder_message
51
+
52
+ # An indicator as to why the transaction was canceled. Possible Values: - `01`: Cardholder selected Cancel. - `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo). - `03`: Transaction Timed Out—Decoupled Authentication - `04`: Transaction timed out at ACS—other timeouts - `05`: Transaction Timed out at ACS - First CReq not received by ACS - `06`: Transaction Error - `07`: Unknown - `08`: Transaction Timed Out at SDK
53
+ attr_accessor :challenge_cancel_code
54
+
55
+ # Possible values: - `01`: No preference - `02`: No challenge request - `03`: Challenge requested (3D Secure requestor preference) - `04`: Challenge requested (mandate) - `05`: No challenge requested (transactional risk analysis is already performed) - `06`: No challenge requested (Data share only) - `07`: No challenge requested (strong consumer authentication is already performed) - `08`: No challenge requested (utilize whitelist exemption if no challenge required) - `09`: Challenge requested (whitelist prompt requested if challenge required) **Note** This field will default to `01` on merchant configuration and can be overridden by the merchant. EMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`. For details, see `pa_challenge_code` field description in [CyberSource Payer Authentication Using the SCMP API.] (https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html)
56
+ attr_accessor :challenge_code
57
+
58
+ # Indicates whether a challenge is required in order to complete authentication. **Note** Regional mandates might determine that a challenge is required. Possible values: - `Y`: Challenge required - `N`: Challenge not required **Note** Used by the Hybrid integration.
59
+ attr_accessor :challenge_required
60
+
61
+ # The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder at checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to the issuer the alternative authentication methods that the consumer used.
62
+ attr_accessor :challenge_status
63
+
64
+ # An alias that uniquely identifies the customer's account and credit card on file. Note This field is required if Tokenization is enabled in the merchant profile settings.
65
+ attr_accessor :customer_card_alias
66
+
67
+ # Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use. Possible Values: Y - Decoupled Authentication is supported and preferred if challenge is necessary N - Do not use Decoupled Authentication **Default Value**: N
68
+ attr_accessor :decoupled_authentication_indicator
69
+
70
+ # Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes). Possible Values: Numeric values between 1 and 10080 accepted.
71
+ attr_accessor :decoupled_authentication_max_time
72
+
73
+ # Indicates that the card being used is the one designated as the primary payment card for purchase. Recommended for Discover ProtectBuy.
74
+ attr_accessor :default_card
75
+
76
+ # Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.
77
+ attr_accessor :device_channel
78
+
79
+ # The directory server error code indicating a problem with this transaction.
80
+ attr_accessor :directory_server_error_code
81
+
82
+ # Directory server text and additional detail about the error for this transaction.
83
+ attr_accessor :directory_server_error_description
84
+
85
+ # This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows; CH - Challenge FR - Frictionless FD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).
86
+ attr_accessor :effective_authentication_type
87
+
88
+ # An integer value greater than 1 indicating the max number of permitted authorizations for installment payments. **Note** This is required if the merchant and cardholder have agreed to installment payments.
89
+ attr_accessor :installment_total_count
90
+
91
+ attr_accessor :ivr
92
+
93
+ # Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes). Possible Values: 1 = Represents fraud rate <=1 2 = Represents fraud rate >1 and <=6 3 = Represents fraud rate >6 and <=13 4 = Represents fraud rate >13 and <=25 5 = Represents fraud rate >25 EEA** = European Economic Area RTS** = Regulatory Technical Standards PSD2** = Payment Services Directive
94
+ attr_accessor :merchant_fraud_rate
95
+
96
+ # Indicates whether the customer has opted in for marketing offers. Recommended for Discover ProtectBuy.
97
+ attr_accessor :marketing_opt_in
98
+
99
+ # Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.
100
+ attr_accessor :marketing_source
101
+
102
+ # Merchant category code. **Important** Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.
103
+ attr_accessor :mcc
104
+
105
+ # Risk Score provided by merchants. This is specific for CB transactions.
106
+ attr_accessor :merchant_score
107
+
108
+ # Category of the message for a specific use case. Possible values: - `01`: PA- payment authentication - `02`: NPA- non-payment authentication - `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) - `80-99`: Reserved for DS use
109
+ attr_accessor :message_category
110
+
111
+ # The global score calculated by the CB scoring platform and returned to merchants.
112
+ attr_accessor :network_score
113
+
114
+ # Non-Payer Authentication Indicator. Possible values: - `01`: Add card - `02`: Maintain card information - `03`: Cardholder verification for EMV token - `04-80` Reserved for EMVCo - `80-90` Reserved DS
115
+ attr_accessor :npa_code
116
+
117
+ # Specifies the Brazilian payment account type used for the transaction. This field overrides other payment types that might be specified in the request. Use one of the following values for this field: - `NA`: Not applicable. Do not override other payment types that are specified in the request. - `CR`: Credit card. - `DB`: Debit card. - `VSAVR`: Visa Vale Refeicao - `VSAVA`: Visa Vale Alimentacao **Important** Required only for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.
118
+ attr_accessor :override_payment_method
119
+
120
+ # Two-character ISO standard Country Codes.
121
+ attr_accessor :override_country_code
122
+
123
+ # This field carry data that the ACS can use to verify the authentication process.
124
+ attr_accessor :prior_authentication_data
125
+
126
+ # Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. 01 - Frictionless authentication occurred by ACS 02 - Cardholder challenge occurred by ACS 03 - AVS verified 04 - Other issuer methods 05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo) 80-99 - Reserved for DS use
127
+ attr_accessor :prior_authentication_method
128
+
129
+ # This data element contains a ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder
130
+ attr_accessor :prior_authentication_reference_id
131
+
132
+ # Date and time in UTC of the prior cardholder authentication. Format – YYYYMMDDHHMM
133
+ attr_accessor :prior_authentication_time
134
+
135
+ # Specifies the product code, which designates the type of transaction. Specify one of the following values for this field: - AIR: Airline purchase Important Required for American Express SafeKey (U.S.). - `ACC`: Accommodation Rental - `ACF`: Account funding - `CHA`: Check acceptance - `DIG`: Digital Goods - `DSP`: Cash Dispensing - `GAS`: Fuel - `GEN`: General Retail - `LUX`: Luxury Retail - `PAL`: Prepaid activation and load - `PHY`: Goods or services purchase - `QCT`: Quasi-cash transaction - `REN`: Car Rental - `RES`: Restaurant - `SVC`: Services - `TBD`: Other - `TRA`: Travel **Important** Required for Visa Secure transactions in Brazil. Do not use this request field for any other types of transactions.
136
+ attr_accessor :product_code
137
+
138
+ # Cardinal's directory server assigned 3DS Requestor ID value
139
+ attr_accessor :requestor_id
140
+
141
+ # Indicates the type of 3RI request. Possible Values: 01 - Recurring transaction 02 - Installment transaction 03 - Add card 04 - Maintain card 05 - Account verification 06 - Split/delayed shipment 07 - Top-up 08 - Mail Order 09 - Telephone Order 10 - Whitelist status check 11 - Other payment
142
+ attr_accessor :requestor_initiated_authentication_indicator
143
+
144
+ # Cardinal's directory server assigned 3DS Requestor Name value
145
+ attr_accessor :requestor_name
146
+
147
+ # Reference ID that corresponds to the device fingerprinting data that was collected previously. Note Required for Hybrid integration.
148
+ attr_accessor :reference_id
149
+
150
+ # This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes). Possible Values: Greater than or equal to 05 (05 is the minimum timeout to set) Cardinal Default is set to 15 NOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed
151
+ attr_accessor :sdk_max_timeout
152
+
153
+ # SDK unique transaction identifier that is generated on each new transaction.
154
+ attr_accessor :sdk_transaction_id
155
+
156
+ # Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies. Possible Values : 0/1
157
+ attr_accessor :secure_corporate_payment_indicator
158
+
159
+ # Provides additional information as to why the PAResStatus has a specific value.
160
+ attr_accessor :signed_pares_status_reason
161
+
162
+ # The fully qualified URL that the merchant uses to post a form to the cardholder in order to complete the Consumer Authentication transaction for the Cardinal Cruise API integration.
163
+ attr_accessor :step_up_url
164
+
165
+ # Unique transaction identifier assigned by the 3DS Server to identify a single transaction.
166
+ attr_accessor :three_ds_server_transaction_id
167
+
168
+ # Transaction mode identifier. Identifies the channel from which the transaction originates. Possible values: - `M`: MOTO (Mail Order Telephone Order) - `R`: Retail - `S`: eCommerce - `P`: Mobile Device - `T`: Tablet
169
+ attr_accessor :transaction_mode
170
+
171
+ # Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor. Possible Values: Y - 3DS Requestor is whitelisted by cardholder N - 3DS Requestor is not whitelisted by cardholder
172
+ attr_accessor :white_list_status
173
+
174
+ # This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 – DS/03 - ACS
175
+ attr_accessor :white_list_status_source
176
+
177
+ # Attribute mapping from ruby-style variable name to JSON key.
178
+ def self.attribute_map
179
+ {
180
+ :'strong_authentication' => :'strongAuthentication',
181
+ :'authentication_type' => :'authenticationType',
182
+ :'acs_rendering_type' => :'acsRenderingType',
183
+ :'acs_transaction_id' => :'acsTransactionId',
184
+ :'acs_window_size' => :'acsWindowSize',
185
+ :'alternate_authentication_data' => :'alternateAuthenticationData',
186
+ :'alternate_authentication_date' => :'alternateAuthenticationDate',
187
+ :'alternate_authentication_method' => :'alternateAuthenticationMethod',
188
+ :'authentication_date' => :'authenticationDate',
189
+ :'authentication_transaction_id' => :'authenticationTransactionId',
190
+ :'authorization_payload' => :'authorizationPayload',
191
+ :'cardholder_message' => :'cardholderMessage',
192
+ :'challenge_cancel_code' => :'challengeCancelCode',
193
+ :'challenge_code' => :'challengeCode',
194
+ :'challenge_required' => :'challengeRequired',
195
+ :'challenge_status' => :'challengeStatus',
196
+ :'customer_card_alias' => :'customerCardAlias',
197
+ :'decoupled_authentication_indicator' => :'decoupledAuthenticationIndicator',
198
+ :'decoupled_authentication_max_time' => :'decoupledAuthenticationMaxTime',
199
+ :'default_card' => :'defaultCard',
200
+ :'device_channel' => :'deviceChannel',
201
+ :'directory_server_error_code' => :'directoryServerErrorCode',
202
+ :'directory_server_error_description' => :'directoryServerErrorDescription',
203
+ :'effective_authentication_type' => :'effectiveAuthenticationType',
204
+ :'installment_total_count' => :'installmentTotalCount',
205
+ :'ivr' => :'ivr',
206
+ :'merchant_fraud_rate' => :'merchantFraudRate',
207
+ :'marketing_opt_in' => :'marketingOptIn',
208
+ :'marketing_source' => :'marketingSource',
209
+ :'mcc' => :'mcc',
210
+ :'merchant_score' => :'merchantScore',
211
+ :'message_category' => :'messageCategory',
212
+ :'network_score' => :'networkScore',
213
+ :'npa_code' => :'npaCode',
214
+ :'override_payment_method' => :'overridePaymentMethod',
215
+ :'override_country_code' => :'overrideCountryCode',
216
+ :'prior_authentication_data' => :'priorAuthenticationData',
217
+ :'prior_authentication_method' => :'priorAuthenticationMethod',
218
+ :'prior_authentication_reference_id' => :'priorAuthenticationReferenceId',
219
+ :'prior_authentication_time' => :'priorAuthenticationTime',
220
+ :'product_code' => :'productCode',
221
+ :'requestor_id' => :'requestorId',
222
+ :'requestor_initiated_authentication_indicator' => :'requestorInitiatedAuthenticationIndicator',
223
+ :'requestor_name' => :'requestorName',
224
+ :'reference_id' => :'referenceId',
225
+ :'sdk_max_timeout' => :'sdkMaxTimeout',
226
+ :'sdk_transaction_id' => :'sdkTransactionId',
227
+ :'secure_corporate_payment_indicator' => :'secureCorporatePaymentIndicator',
228
+ :'signed_pares_status_reason' => :'signedParesStatusReason',
229
+ :'step_up_url' => :'stepUpUrl',
230
+ :'three_ds_server_transaction_id' => :'threeDSServerTransactionId',
231
+ :'transaction_mode' => :'transactionMode',
232
+ :'white_list_status' => :'whiteListStatus',
233
+ :'white_list_status_source' => :'whiteListStatusSource'
234
+ }
235
+ end
236
+
237
+ # Attribute type mapping.
238
+ def self.swagger_types
239
+ {
240
+ :'strong_authentication' => :'Riskv1authenticationsConsumerAuthenticationInformationStrongAuthentication',
241
+ :'authentication_type' => :'String',
242
+ :'acs_rendering_type' => :'String',
243
+ :'acs_transaction_id' => :'String',
244
+ :'acs_window_size' => :'String',
245
+ :'alternate_authentication_data' => :'String',
246
+ :'alternate_authentication_date' => :'String',
247
+ :'alternate_authentication_method' => :'String',
248
+ :'authentication_date' => :'String',
249
+ :'authentication_transaction_id' => :'String',
250
+ :'authorization_payload' => :'String',
251
+ :'cardholder_message' => :'String',
252
+ :'challenge_cancel_code' => :'String',
253
+ :'challenge_code' => :'String',
254
+ :'challenge_required' => :'String',
255
+ :'challenge_status' => :'String',
256
+ :'customer_card_alias' => :'String',
257
+ :'decoupled_authentication_indicator' => :'String',
258
+ :'decoupled_authentication_max_time' => :'String',
259
+ :'default_card' => :'BOOLEAN',
260
+ :'device_channel' => :'String',
261
+ :'directory_server_error_code' => :'String',
262
+ :'directory_server_error_description' => :'String',
263
+ :'effective_authentication_type' => :'String',
264
+ :'installment_total_count' => :'Integer',
265
+ :'ivr' => :'Riskv1authenticationsConsumerAuthenticationInformationIvr',
266
+ :'merchant_fraud_rate' => :'String',
267
+ :'marketing_opt_in' => :'BOOLEAN',
268
+ :'marketing_source' => :'String',
269
+ :'mcc' => :'String',
270
+ :'merchant_score' => :'Integer',
271
+ :'message_category' => :'String',
272
+ :'network_score' => :'String',
273
+ :'npa_code' => :'String',
274
+ :'override_payment_method' => :'String',
275
+ :'override_country_code' => :'String',
276
+ :'prior_authentication_data' => :'String',
277
+ :'prior_authentication_method' => :'String',
278
+ :'prior_authentication_reference_id' => :'String',
279
+ :'prior_authentication_time' => :'String',
280
+ :'product_code' => :'String',
281
+ :'requestor_id' => :'String',
282
+ :'requestor_initiated_authentication_indicator' => :'String',
283
+ :'requestor_name' => :'String',
284
+ :'reference_id' => :'String',
285
+ :'sdk_max_timeout' => :'String',
286
+ :'sdk_transaction_id' => :'String',
287
+ :'secure_corporate_payment_indicator' => :'String',
288
+ :'signed_pares_status_reason' => :'String',
289
+ :'step_up_url' => :'String',
290
+ :'three_ds_server_transaction_id' => :'String',
291
+ :'transaction_mode' => :'String',
292
+ :'white_list_status' => :'String',
293
+ :'white_list_status_source' => :'String'
294
+ }
295
+ end
296
+
297
+ # Initializes the object
298
+ # @param [Hash] attributes Model attributes in the form of hash
299
+ def initialize(attributes = {})
300
+ return unless attributes.is_a?(Hash)
301
+
302
+ # convert string to symbol for hash key
303
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
304
+
305
+ if attributes.has_key?(:'strongAuthentication')
306
+ self.strong_authentication = attributes[:'strongAuthentication']
307
+ end
308
+
309
+ if attributes.has_key?(:'authenticationType')
310
+ self.authentication_type = attributes[:'authenticationType']
311
+ end
312
+
313
+ if attributes.has_key?(:'acsRenderingType')
314
+ self.acs_rendering_type = attributes[:'acsRenderingType']
315
+ end
316
+
317
+ if attributes.has_key?(:'acsTransactionId')
318
+ self.acs_transaction_id = attributes[:'acsTransactionId']
319
+ end
320
+
321
+ if attributes.has_key?(:'acsWindowSize')
322
+ self.acs_window_size = attributes[:'acsWindowSize']
323
+ end
324
+
325
+ if attributes.has_key?(:'alternateAuthenticationData')
326
+ self.alternate_authentication_data = attributes[:'alternateAuthenticationData']
327
+ end
328
+
329
+ if attributes.has_key?(:'alternateAuthenticationDate')
330
+ self.alternate_authentication_date = attributes[:'alternateAuthenticationDate']
331
+ end
332
+
333
+ if attributes.has_key?(:'alternateAuthenticationMethod')
334
+ self.alternate_authentication_method = attributes[:'alternateAuthenticationMethod']
335
+ end
336
+
337
+ if attributes.has_key?(:'authenticationDate')
338
+ self.authentication_date = attributes[:'authenticationDate']
339
+ end
340
+
341
+ if attributes.has_key?(:'authenticationTransactionId')
342
+ self.authentication_transaction_id = attributes[:'authenticationTransactionId']
343
+ end
344
+
345
+ if attributes.has_key?(:'authorizationPayload')
346
+ self.authorization_payload = attributes[:'authorizationPayload']
347
+ end
348
+
349
+ if attributes.has_key?(:'cardholderMessage')
350
+ self.cardholder_message = attributes[:'cardholderMessage']
351
+ end
352
+
353
+ if attributes.has_key?(:'challengeCancelCode')
354
+ self.challenge_cancel_code = attributes[:'challengeCancelCode']
355
+ end
356
+
357
+ if attributes.has_key?(:'challengeCode')
358
+ self.challenge_code = attributes[:'challengeCode']
359
+ end
360
+
361
+ if attributes.has_key?(:'challengeRequired')
362
+ self.challenge_required = attributes[:'challengeRequired']
363
+ end
364
+
365
+ if attributes.has_key?(:'challengeStatus')
366
+ self.challenge_status = attributes[:'challengeStatus']
367
+ end
368
+
369
+ if attributes.has_key?(:'customerCardAlias')
370
+ self.customer_card_alias = attributes[:'customerCardAlias']
371
+ end
372
+
373
+ if attributes.has_key?(:'decoupledAuthenticationIndicator')
374
+ self.decoupled_authentication_indicator = attributes[:'decoupledAuthenticationIndicator']
375
+ end
376
+
377
+ if attributes.has_key?(:'decoupledAuthenticationMaxTime')
378
+ self.decoupled_authentication_max_time = attributes[:'decoupledAuthenticationMaxTime']
379
+ end
380
+
381
+ if attributes.has_key?(:'defaultCard')
382
+ self.default_card = attributes[:'defaultCard']
383
+ end
384
+
385
+ if attributes.has_key?(:'deviceChannel')
386
+ self.device_channel = attributes[:'deviceChannel']
387
+ end
388
+
389
+ if attributes.has_key?(:'directoryServerErrorCode')
390
+ self.directory_server_error_code = attributes[:'directoryServerErrorCode']
391
+ end
392
+
393
+ if attributes.has_key?(:'directoryServerErrorDescription')
394
+ self.directory_server_error_description = attributes[:'directoryServerErrorDescription']
395
+ end
396
+
397
+ if attributes.has_key?(:'effectiveAuthenticationType')
398
+ self.effective_authentication_type = attributes[:'effectiveAuthenticationType']
399
+ end
400
+
401
+ if attributes.has_key?(:'installmentTotalCount')
402
+ self.installment_total_count = attributes[:'installmentTotalCount']
403
+ end
404
+
405
+ if attributes.has_key?(:'ivr')
406
+ self.ivr = attributes[:'ivr']
407
+ end
408
+
409
+ if attributes.has_key?(:'merchantFraudRate')
410
+ self.merchant_fraud_rate = attributes[:'merchantFraudRate']
411
+ end
412
+
413
+ if attributes.has_key?(:'marketingOptIn')
414
+ self.marketing_opt_in = attributes[:'marketingOptIn']
415
+ end
416
+
417
+ if attributes.has_key?(:'marketingSource')
418
+ self.marketing_source = attributes[:'marketingSource']
419
+ end
420
+
421
+ if attributes.has_key?(:'mcc')
422
+ self.mcc = attributes[:'mcc']
423
+ end
424
+
425
+ if attributes.has_key?(:'merchantScore')
426
+ self.merchant_score = attributes[:'merchantScore']
427
+ end
428
+
429
+ if attributes.has_key?(:'messageCategory')
430
+ self.message_category = attributes[:'messageCategory']
431
+ end
432
+
433
+ if attributes.has_key?(:'networkScore')
434
+ self.network_score = attributes[:'networkScore']
435
+ end
436
+
437
+ if attributes.has_key?(:'npaCode')
438
+ self.npa_code = attributes[:'npaCode']
439
+ end
440
+
441
+ if attributes.has_key?(:'overridePaymentMethod')
442
+ self.override_payment_method = attributes[:'overridePaymentMethod']
443
+ end
444
+
445
+ if attributes.has_key?(:'overrideCountryCode')
446
+ self.override_country_code = attributes[:'overrideCountryCode']
447
+ end
448
+
449
+ if attributes.has_key?(:'priorAuthenticationData')
450
+ self.prior_authentication_data = attributes[:'priorAuthenticationData']
451
+ end
452
+
453
+ if attributes.has_key?(:'priorAuthenticationMethod')
454
+ self.prior_authentication_method = attributes[:'priorAuthenticationMethod']
455
+ end
456
+
457
+ if attributes.has_key?(:'priorAuthenticationReferenceId')
458
+ self.prior_authentication_reference_id = attributes[:'priorAuthenticationReferenceId']
459
+ end
460
+
461
+ if attributes.has_key?(:'priorAuthenticationTime')
462
+ self.prior_authentication_time = attributes[:'priorAuthenticationTime']
463
+ end
464
+
465
+ if attributes.has_key?(:'productCode')
466
+ self.product_code = attributes[:'productCode']
467
+ end
468
+
469
+ if attributes.has_key?(:'requestorId')
470
+ self.requestor_id = attributes[:'requestorId']
471
+ end
472
+
473
+ if attributes.has_key?(:'requestorInitiatedAuthenticationIndicator')
474
+ self.requestor_initiated_authentication_indicator = attributes[:'requestorInitiatedAuthenticationIndicator']
475
+ end
476
+
477
+ if attributes.has_key?(:'requestorName')
478
+ self.requestor_name = attributes[:'requestorName']
479
+ end
480
+
481
+ if attributes.has_key?(:'referenceId')
482
+ self.reference_id = attributes[:'referenceId']
483
+ end
484
+
485
+ if attributes.has_key?(:'sdkMaxTimeout')
486
+ self.sdk_max_timeout = attributes[:'sdkMaxTimeout']
487
+ end
488
+
489
+ if attributes.has_key?(:'sdkTransactionId')
490
+ self.sdk_transaction_id = attributes[:'sdkTransactionId']
491
+ end
492
+
493
+ if attributes.has_key?(:'secureCorporatePaymentIndicator')
494
+ self.secure_corporate_payment_indicator = attributes[:'secureCorporatePaymentIndicator']
495
+ end
496
+
497
+ if attributes.has_key?(:'signedParesStatusReason')
498
+ self.signed_pares_status_reason = attributes[:'signedParesStatusReason']
499
+ end
500
+
501
+ if attributes.has_key?(:'stepUpUrl')
502
+ self.step_up_url = attributes[:'stepUpUrl']
503
+ end
504
+
505
+ if attributes.has_key?(:'threeDSServerTransactionId')
506
+ self.three_ds_server_transaction_id = attributes[:'threeDSServerTransactionId']
507
+ end
508
+
509
+ if attributes.has_key?(:'transactionMode')
510
+ self.transaction_mode = attributes[:'transactionMode']
511
+ end
512
+
513
+ if attributes.has_key?(:'whiteListStatus')
514
+ self.white_list_status = attributes[:'whiteListStatus']
515
+ end
516
+
517
+ if attributes.has_key?(:'whiteListStatusSource')
518
+ self.white_list_status_source = attributes[:'whiteListStatusSource']
519
+ end
520
+ end
521
+
522
+ # Show invalid properties with the reasons. Usually used together with valid?
523
+ # @return Array for valid properties with the reasons
524
+ def list_invalid_properties
525
+ invalid_properties = Array.new
526
+ if !@authentication_type.nil? && @authentication_type.to_s.length > 2
527
+ invalid_properties.push('invalid value for "authentication_type", the character length must be smaller than or equal to 2.')
528
+ end
529
+
530
+ if !@acs_transaction_id.nil? && @acs_transaction_id.to_s.length > 36
531
+ invalid_properties.push('invalid value for "acs_transaction_id", the character length must be smaller than or equal to 36.')
532
+ end
533
+
534
+ if !@acs_window_size.nil? && @acs_window_size.to_s.length > 2
535
+ invalid_properties.push('invalid value for "acs_window_size", the character length must be smaller than or equal to 2.')
536
+ end
537
+
538
+ if !@alternate_authentication_data.nil? && @alternate_authentication_data.to_s.length > 2048
539
+ invalid_properties.push('invalid value for "alternate_authentication_data", the character length must be smaller than or equal to 2048.')
540
+ end
541
+
542
+ if !@alternate_authentication_date.nil? && @alternate_authentication_date.to_s.length > 14
543
+ invalid_properties.push('invalid value for "alternate_authentication_date", the character length must be smaller than or equal to 14.')
544
+ end
545
+
546
+ if !@authentication_date.nil? && @authentication_date.to_s.length > 14
547
+ invalid_properties.push('invalid value for "authentication_date", the character length must be smaller than or equal to 14.')
548
+ end
549
+
550
+ if !@authentication_transaction_id.nil? && @authentication_transaction_id.to_s.length > 20
551
+ invalid_properties.push('invalid value for "authentication_transaction_id", the character length must be smaller than or equal to 20.')
552
+ end
553
+
554
+ if !@cardholder_message.nil? && @cardholder_message.to_s.length > 128
555
+ invalid_properties.push('invalid value for "cardholder_message", the character length must be smaller than or equal to 128.')
556
+ end
557
+
558
+ if !@challenge_cancel_code.nil? && @challenge_cancel_code.to_s.length > 2
559
+ invalid_properties.push('invalid value for "challenge_cancel_code", the character length must be smaller than or equal to 2.')
560
+ end
561
+
562
+ if !@challenge_required.nil? && @challenge_required.to_s.length > 1
563
+ invalid_properties.push('invalid value for "challenge_required", the character length must be smaller than or equal to 1.')
564
+ end
565
+
566
+ if !@challenge_status.nil? && @challenge_status.to_s.length > 2
567
+ invalid_properties.push('invalid value for "challenge_status", the character length must be smaller than or equal to 2.')
568
+ end
569
+
570
+ if !@customer_card_alias.nil? && @customer_card_alias.to_s.length > 128
571
+ invalid_properties.push('invalid value for "customer_card_alias", the character length must be smaller than or equal to 128.')
572
+ end
573
+
574
+ if !@decoupled_authentication_indicator.nil? && @decoupled_authentication_indicator.to_s.length > 1
575
+ invalid_properties.push('invalid value for "decoupled_authentication_indicator", the character length must be smaller than or equal to 1.')
576
+ end
577
+
578
+ if !@decoupled_authentication_max_time.nil? && @decoupled_authentication_max_time.to_s.length > 5
579
+ invalid_properties.push('invalid value for "decoupled_authentication_max_time", the character length must be smaller than or equal to 5.')
580
+ end
581
+
582
+ if !@device_channel.nil? && @device_channel.to_s.length > 10
583
+ invalid_properties.push('invalid value for "device_channel", the character length must be smaller than or equal to 10.')
584
+ end
585
+
586
+ if !@directory_server_error_code.nil? && @directory_server_error_code.to_s.length > 3
587
+ invalid_properties.push('invalid value for "directory_server_error_code", the character length must be smaller than or equal to 3.')
588
+ end
589
+
590
+ if !@directory_server_error_description.nil? && @directory_server_error_description.to_s.length > 4096
591
+ invalid_properties.push('invalid value for "directory_server_error_description", the character length must be smaller than or equal to 4096.')
592
+ end
593
+
594
+ if !@effective_authentication_type.nil? && @effective_authentication_type.to_s.length > 2
595
+ invalid_properties.push('invalid value for "effective_authentication_type", the character length must be smaller than or equal to 2.')
596
+ end
597
+
598
+ if !@merchant_fraud_rate.nil? && @merchant_fraud_rate.to_s.length > 2
599
+ invalid_properties.push('invalid value for "merchant_fraud_rate", the character length must be smaller than or equal to 2.')
600
+ end
601
+
602
+ if !@marketing_source.nil? && @marketing_source.to_s.length > 40
603
+ invalid_properties.push('invalid value for "marketing_source", the character length must be smaller than or equal to 40.')
604
+ end
605
+
606
+ if @mcc.nil?
607
+ invalid_properties.push('invalid value for "mcc", mcc cannot be nil.')
608
+ end
609
+
610
+ if @mcc.to_s.length > 4
611
+ invalid_properties.push('invalid value for "mcc", the character length must be smaller than or equal to 4.')
612
+ end
613
+
614
+ if !@network_score.nil? && @network_score.to_s.length > 2
615
+ invalid_properties.push('invalid value for "network_score", the character length must be smaller than or equal to 2.')
616
+ end
617
+
618
+ if !@npa_code.nil? && @npa_code.to_s.length > 2
619
+ invalid_properties.push('invalid value for "npa_code", the character length must be smaller than or equal to 2.')
620
+ end
621
+
622
+ if @override_country_code.nil?
623
+ invalid_properties.push('invalid value for "override_country_code", override_country_code cannot be nil.')
624
+ end
625
+
626
+ if @override_country_code.to_s.length > 2
627
+ invalid_properties.push('invalid value for "override_country_code", the character length must be smaller than or equal to 2.')
628
+ end
629
+
630
+ if !@prior_authentication_data.nil? && @prior_authentication_data.to_s.length > 2048
631
+ invalid_properties.push('invalid value for "prior_authentication_data", the character length must be smaller than or equal to 2048.')
632
+ end
633
+
634
+ if !@prior_authentication_method.nil? && @prior_authentication_method.to_s.length > 2
635
+ invalid_properties.push('invalid value for "prior_authentication_method", the character length must be smaller than or equal to 2.')
636
+ end
637
+
638
+ if !@prior_authentication_reference_id.nil? && @prior_authentication_reference_id.to_s.length > 36
639
+ invalid_properties.push('invalid value for "prior_authentication_reference_id", the character length must be smaller than or equal to 36.')
640
+ end
641
+
642
+ if !@prior_authentication_time.nil? && @prior_authentication_time.to_s.length > 12
643
+ invalid_properties.push('invalid value for "prior_authentication_time", the character length must be smaller than or equal to 12.')
644
+ end
645
+
646
+ if !@product_code.nil? && @product_code.to_s.length > 3
647
+ invalid_properties.push('invalid value for "product_code", the character length must be smaller than or equal to 3.')
648
+ end
649
+
650
+ if !@requestor_id.nil? && @requestor_id.to_s.length > 35
651
+ invalid_properties.push('invalid value for "requestor_id", the character length must be smaller than or equal to 35.')
652
+ end
653
+
654
+ if !@requestor_initiated_authentication_indicator.nil? && @requestor_initiated_authentication_indicator.to_s.length > 2
655
+ invalid_properties.push('invalid value for "requestor_initiated_authentication_indicator", the character length must be smaller than or equal to 2.')
656
+ end
657
+
658
+ if !@requestor_name.nil? && @requestor_name.to_s.length > 40
659
+ invalid_properties.push('invalid value for "requestor_name", the character length must be smaller than or equal to 40.')
660
+ end
661
+
662
+ if @reference_id.nil?
663
+ invalid_properties.push('invalid value for "reference_id", reference_id cannot be nil.')
664
+ end
665
+
666
+ if @reference_id.to_s.length > 50
667
+ invalid_properties.push('invalid value for "reference_id", the character length must be smaller than or equal to 50.')
668
+ end
669
+
670
+ if !@sdk_max_timeout.nil? && @sdk_max_timeout.to_s.length > 2
671
+ invalid_properties.push('invalid value for "sdk_max_timeout", the character length must be smaller than or equal to 2.')
672
+ end
673
+
674
+ if !@sdk_transaction_id.nil? && @sdk_transaction_id.to_s.length > 36
675
+ invalid_properties.push('invalid value for "sdk_transaction_id", the character length must be smaller than or equal to 36.')
676
+ end
677
+
678
+ if !@secure_corporate_payment_indicator.nil? && @secure_corporate_payment_indicator.to_s.length > 1
679
+ invalid_properties.push('invalid value for "secure_corporate_payment_indicator", the character length must be smaller than or equal to 1.')
680
+ end
681
+
682
+ if !@signed_pares_status_reason.nil? && @signed_pares_status_reason.to_s.length > 2
683
+ invalid_properties.push('invalid value for "signed_pares_status_reason", the character length must be smaller than or equal to 2.')
684
+ end
685
+
686
+ if !@step_up_url.nil? && @step_up_url.to_s.length > 2048
687
+ invalid_properties.push('invalid value for "step_up_url", the character length must be smaller than or equal to 2048.')
688
+ end
689
+
690
+ if !@three_ds_server_transaction_id.nil? && @three_ds_server_transaction_id.to_s.length > 36
691
+ invalid_properties.push('invalid value for "three_ds_server_transaction_id", the character length must be smaller than or equal to 36.')
692
+ end
693
+
694
+ if @transaction_mode.nil?
695
+ invalid_properties.push('invalid value for "transaction_mode", transaction_mode cannot be nil.')
696
+ end
697
+
698
+ if !@white_list_status.nil? && @white_list_status.to_s.length > 1
699
+ invalid_properties.push('invalid value for "white_list_status", the character length must be smaller than or equal to 1.')
700
+ end
701
+
702
+ if !@white_list_status_source.nil? && @white_list_status_source.to_s.length > 2
703
+ invalid_properties.push('invalid value for "white_list_status_source", the character length must be smaller than or equal to 2.')
704
+ end
705
+
706
+ invalid_properties
707
+ end
708
+
709
+ # Check to see if the all the properties in the model are valid
710
+ # @return true if the model is valid
711
+ def valid?
712
+ return false if !@authentication_type.nil? && @authentication_type.to_s.length > 2
713
+ return false if !@acs_transaction_id.nil? && @acs_transaction_id.to_s.length > 36
714
+ return false if !@acs_window_size.nil? && @acs_window_size.to_s.length > 2
715
+ return false if !@alternate_authentication_data.nil? && @alternate_authentication_data.to_s.length > 2048
716
+ return false if !@alternate_authentication_date.nil? && @alternate_authentication_date.to_s.length > 14
717
+ return false if !@authentication_date.nil? && @authentication_date.to_s.length > 14
718
+ return false if !@authentication_transaction_id.nil? && @authentication_transaction_id.to_s.length > 20
719
+ return false if !@cardholder_message.nil? && @cardholder_message.to_s.length > 128
720
+ return false if !@challenge_cancel_code.nil? && @challenge_cancel_code.to_s.length > 2
721
+ return false if !@challenge_required.nil? && @challenge_required.to_s.length > 1
722
+ return false if !@challenge_status.nil? && @challenge_status.to_s.length > 2
723
+ return false if !@customer_card_alias.nil? && @customer_card_alias.to_s.length > 128
724
+ return false if !@decoupled_authentication_indicator.nil? && @decoupled_authentication_indicator.to_s.length > 1
725
+ return false if !@decoupled_authentication_max_time.nil? && @decoupled_authentication_max_time.to_s.length > 5
726
+ return false if !@device_channel.nil? && @device_channel.to_s.length > 10
727
+ return false if !@directory_server_error_code.nil? && @directory_server_error_code.to_s.length > 3
728
+ return false if !@directory_server_error_description.nil? && @directory_server_error_description.to_s.length > 4096
729
+ return false if !@effective_authentication_type.nil? && @effective_authentication_type.to_s.length > 2
730
+ return false if !@merchant_fraud_rate.nil? && @merchant_fraud_rate.to_s.length > 2
731
+ return false if !@marketing_source.nil? && @marketing_source.to_s.length > 40
732
+ return false if @mcc.nil?
733
+ return false if @mcc.to_s.length > 4
734
+ return false if !@network_score.nil? && @network_score.to_s.length > 2
735
+ return false if !@npa_code.nil? && @npa_code.to_s.length > 2
736
+ return false if @override_country_code.nil?
737
+ return false if @override_country_code.to_s.length > 2
738
+ return false if !@prior_authentication_data.nil? && @prior_authentication_data.to_s.length > 2048
739
+ return false if !@prior_authentication_method.nil? && @prior_authentication_method.to_s.length > 2
740
+ return false if !@prior_authentication_reference_id.nil? && @prior_authentication_reference_id.to_s.length > 36
741
+ return false if !@prior_authentication_time.nil? && @prior_authentication_time.to_s.length > 12
742
+ return false if !@product_code.nil? && @product_code.to_s.length > 3
743
+ return false if !@requestor_id.nil? && @requestor_id.to_s.length > 35
744
+ return false if !@requestor_initiated_authentication_indicator.nil? && @requestor_initiated_authentication_indicator.to_s.length > 2
745
+ return false if !@requestor_name.nil? && @requestor_name.to_s.length > 40
746
+ return false if @reference_id.nil?
747
+ return false if @reference_id.to_s.length > 50
748
+ return false if !@sdk_max_timeout.nil? && @sdk_max_timeout.to_s.length > 2
749
+ return false if !@sdk_transaction_id.nil? && @sdk_transaction_id.to_s.length > 36
750
+ return false if !@secure_corporate_payment_indicator.nil? && @secure_corporate_payment_indicator.to_s.length > 1
751
+ return false if !@signed_pares_status_reason.nil? && @signed_pares_status_reason.to_s.length > 2
752
+ return false if !@step_up_url.nil? && @step_up_url.to_s.length > 2048
753
+ return false if !@three_ds_server_transaction_id.nil? && @three_ds_server_transaction_id.to_s.length > 36
754
+ return false if @transaction_mode.nil?
755
+ return false if !@white_list_status.nil? && @white_list_status.to_s.length > 1
756
+ return false if !@white_list_status_source.nil? && @white_list_status_source.to_s.length > 2
757
+ true
758
+ end
759
+
760
+ # Custom attribute writer method with validation
761
+ # @param [Object] authentication_type Value to be assigned
762
+ def authentication_type=(authentication_type)
763
+ if !authentication_type.nil? && authentication_type.to_s.length > 2
764
+ fail ArgumentError, 'invalid value for "authentication_type", the character length must be smaller than or equal to 2.'
765
+ end
766
+
767
+ @authentication_type = authentication_type
768
+ end
769
+
770
+ # Custom attribute writer method with validation
771
+ # @param [Object] acs_transaction_id Value to be assigned
772
+ def acs_transaction_id=(acs_transaction_id)
773
+ if !acs_transaction_id.nil? && acs_transaction_id.to_s.length > 36
774
+ fail ArgumentError, 'invalid value for "acs_transaction_id", the character length must be smaller than or equal to 36.'
775
+ end
776
+
777
+ @acs_transaction_id = acs_transaction_id
778
+ end
779
+
780
+ # Custom attribute writer method with validation
781
+ # @param [Object] acs_window_size Value to be assigned
782
+ def acs_window_size=(acs_window_size)
783
+ if !acs_window_size.nil? && acs_window_size.to_s.length > 2
784
+ fail ArgumentError, 'invalid value for "acs_window_size", the character length must be smaller than or equal to 2.'
785
+ end
786
+
787
+ @acs_window_size = acs_window_size
788
+ end
789
+
790
+ # Custom attribute writer method with validation
791
+ # @param [Object] alternate_authentication_data Value to be assigned
792
+ def alternate_authentication_data=(alternate_authentication_data)
793
+ if !alternate_authentication_data.nil? && alternate_authentication_data.to_s.length > 2048
794
+ fail ArgumentError, 'invalid value for "alternate_authentication_data", the character length must be smaller than or equal to 2048.'
795
+ end
796
+
797
+ @alternate_authentication_data = alternate_authentication_data
798
+ end
799
+
800
+ # Custom attribute writer method with validation
801
+ # @param [Object] alternate_authentication_date Value to be assigned
802
+ def alternate_authentication_date=(alternate_authentication_date)
803
+ if !alternate_authentication_date.nil? && alternate_authentication_date.to_s.length > 14
804
+ fail ArgumentError, 'invalid value for "alternate_authentication_date", the character length must be smaller than or equal to 14.'
805
+ end
806
+
807
+ @alternate_authentication_date = alternate_authentication_date
808
+ end
809
+
810
+ # Custom attribute writer method with validation
811
+ # @param [Object] authentication_date Value to be assigned
812
+ def authentication_date=(authentication_date)
813
+ if !authentication_date.nil? && authentication_date.to_s.length > 14
814
+ fail ArgumentError, 'invalid value for "authentication_date", the character length must be smaller than or equal to 14.'
815
+ end
816
+
817
+ @authentication_date = authentication_date
818
+ end
819
+
820
+ # Custom attribute writer method with validation
821
+ # @param [Object] authentication_transaction_id Value to be assigned
822
+ def authentication_transaction_id=(authentication_transaction_id)
823
+ if !authentication_transaction_id.nil? && authentication_transaction_id.to_s.length > 20
824
+ fail ArgumentError, 'invalid value for "authentication_transaction_id", the character length must be smaller than or equal to 20.'
825
+ end
826
+
827
+ @authentication_transaction_id = authentication_transaction_id
828
+ end
829
+
830
+ # Custom attribute writer method with validation
831
+ # @param [Object] cardholder_message Value to be assigned
832
+ def cardholder_message=(cardholder_message)
833
+ if !cardholder_message.nil? && cardholder_message.to_s.length > 128
834
+ fail ArgumentError, 'invalid value for "cardholder_message", the character length must be smaller than or equal to 128.'
835
+ end
836
+
837
+ @cardholder_message = cardholder_message
838
+ end
839
+
840
+ # Custom attribute writer method with validation
841
+ # @param [Object] challenge_cancel_code Value to be assigned
842
+ def challenge_cancel_code=(challenge_cancel_code)
843
+ if !challenge_cancel_code.nil? && challenge_cancel_code.to_s.length > 2
844
+ fail ArgumentError, 'invalid value for "challenge_cancel_code", the character length must be smaller than or equal to 2.'
845
+ end
846
+
847
+ @challenge_cancel_code = challenge_cancel_code
848
+ end
849
+
850
+ # Custom attribute writer method with validation
851
+ # @param [Object] challenge_required Value to be assigned
852
+ def challenge_required=(challenge_required)
853
+ if !challenge_required.nil? && challenge_required.to_s.length > 1
854
+ fail ArgumentError, 'invalid value for "challenge_required", the character length must be smaller than or equal to 1.'
855
+ end
856
+
857
+ @challenge_required = challenge_required
858
+ end
859
+
860
+ # Custom attribute writer method with validation
861
+ # @param [Object] challenge_status Value to be assigned
862
+ def challenge_status=(challenge_status)
863
+ if !challenge_status.nil? && challenge_status.to_s.length > 2
864
+ fail ArgumentError, 'invalid value for "challenge_status", the character length must be smaller than or equal to 2.'
865
+ end
866
+
867
+ @challenge_status = challenge_status
868
+ end
869
+
870
+ # Custom attribute writer method with validation
871
+ # @param [Object] customer_card_alias Value to be assigned
872
+ def customer_card_alias=(customer_card_alias)
873
+ if !customer_card_alias.nil? && customer_card_alias.to_s.length > 128
874
+ fail ArgumentError, 'invalid value for "customer_card_alias", the character length must be smaller than or equal to 128.'
875
+ end
876
+
877
+ @customer_card_alias = customer_card_alias
878
+ end
879
+
880
+ # Custom attribute writer method with validation
881
+ # @param [Object] decoupled_authentication_indicator Value to be assigned
882
+ def decoupled_authentication_indicator=(decoupled_authentication_indicator)
883
+ if !decoupled_authentication_indicator.nil? && decoupled_authentication_indicator.to_s.length > 1
884
+ fail ArgumentError, 'invalid value for "decoupled_authentication_indicator", the character length must be smaller than or equal to 1.'
885
+ end
886
+
887
+ @decoupled_authentication_indicator = decoupled_authentication_indicator
888
+ end
889
+
890
+ # Custom attribute writer method with validation
891
+ # @param [Object] decoupled_authentication_max_time Value to be assigned
892
+ def decoupled_authentication_max_time=(decoupled_authentication_max_time)
893
+ if !decoupled_authentication_max_time.nil? && decoupled_authentication_max_time.to_s.length > 5
894
+ fail ArgumentError, 'invalid value for "decoupled_authentication_max_time", the character length must be smaller than or equal to 5.'
895
+ end
896
+
897
+ @decoupled_authentication_max_time = decoupled_authentication_max_time
898
+ end
899
+
900
+ # Custom attribute writer method with validation
901
+ # @param [Object] device_channel Value to be assigned
902
+ def device_channel=(device_channel)
903
+ if !device_channel.nil? && device_channel.to_s.length > 10
904
+ fail ArgumentError, 'invalid value for "device_channel", the character length must be smaller than or equal to 10.'
905
+ end
906
+
907
+ @device_channel = device_channel
908
+ end
909
+
910
+ # Custom attribute writer method with validation
911
+ # @param [Object] directory_server_error_code Value to be assigned
912
+ def directory_server_error_code=(directory_server_error_code)
913
+ if !directory_server_error_code.nil? && directory_server_error_code.to_s.length > 3
914
+ fail ArgumentError, 'invalid value for "directory_server_error_code", the character length must be smaller than or equal to 3.'
915
+ end
916
+
917
+ @directory_server_error_code = directory_server_error_code
918
+ end
919
+
920
+ # Custom attribute writer method with validation
921
+ # @param [Object] directory_server_error_description Value to be assigned
922
+ def directory_server_error_description=(directory_server_error_description)
923
+ if !directory_server_error_description.nil? && directory_server_error_description.to_s.length > 4096
924
+ fail ArgumentError, 'invalid value for "directory_server_error_description", the character length must be smaller than or equal to 4096.'
925
+ end
926
+
927
+ @directory_server_error_description = directory_server_error_description
928
+ end
929
+
930
+ # Custom attribute writer method with validation
931
+ # @param [Object] effective_authentication_type Value to be assigned
932
+ def effective_authentication_type=(effective_authentication_type)
933
+ if !effective_authentication_type.nil? && effective_authentication_type.to_s.length > 2
934
+ fail ArgumentError, 'invalid value for "effective_authentication_type", the character length must be smaller than or equal to 2.'
935
+ end
936
+
937
+ @effective_authentication_type = effective_authentication_type
938
+ end
939
+
940
+ # Custom attribute writer method with validation
941
+ # @param [Object] merchant_fraud_rate Value to be assigned
942
+ def merchant_fraud_rate=(merchant_fraud_rate)
943
+ if !merchant_fraud_rate.nil? && merchant_fraud_rate.to_s.length > 2
944
+ fail ArgumentError, 'invalid value for "merchant_fraud_rate", the character length must be smaller than or equal to 2.'
945
+ end
946
+
947
+ @merchant_fraud_rate = merchant_fraud_rate
948
+ end
949
+
950
+ # Custom attribute writer method with validation
951
+ # @param [Object] marketing_source Value to be assigned
952
+ def marketing_source=(marketing_source)
953
+ if !marketing_source.nil? && marketing_source.to_s.length > 40
954
+ fail ArgumentError, 'invalid value for "marketing_source", the character length must be smaller than or equal to 40.'
955
+ end
956
+
957
+ @marketing_source = marketing_source
958
+ end
959
+
960
+ # Custom attribute writer method with validation
961
+ # @param [Object] mcc Value to be assigned
962
+ def mcc=(mcc)
963
+ if mcc.nil?
964
+ fail ArgumentError, 'mcc cannot be nil'
965
+ end
966
+
967
+ if mcc.to_s.length > 4
968
+ fail ArgumentError, 'invalid value for "mcc", the character length must be smaller than or equal to 4.'
969
+ end
970
+
971
+ @mcc = mcc
972
+ end
973
+
974
+ # Custom attribute writer method with validation
975
+ # @param [Object] network_score Value to be assigned
976
+ def network_score=(network_score)
977
+ if !network_score.nil? && network_score.to_s.length > 2
978
+ fail ArgumentError, 'invalid value for "network_score", the character length must be smaller than or equal to 2.'
979
+ end
980
+
981
+ @network_score = network_score
982
+ end
983
+
984
+ # Custom attribute writer method with validation
985
+ # @param [Object] npa_code Value to be assigned
986
+ def npa_code=(npa_code)
987
+ if !npa_code.nil? && npa_code.to_s.length > 2
988
+ fail ArgumentError, 'invalid value for "npa_code", the character length must be smaller than or equal to 2.'
989
+ end
990
+
991
+ @npa_code = npa_code
992
+ end
993
+
994
+ # Custom attribute writer method with validation
995
+ # @param [Object] override_country_code Value to be assigned
996
+ def override_country_code=(override_country_code)
997
+ if override_country_code.nil?
998
+ fail ArgumentError, 'override_country_code cannot be nil'
999
+ end
1000
+
1001
+ if override_country_code.to_s.length > 2
1002
+ fail ArgumentError, 'invalid value for "override_country_code", the character length must be smaller than or equal to 2.'
1003
+ end
1004
+
1005
+ @override_country_code = override_country_code
1006
+ end
1007
+
1008
+ # Custom attribute writer method with validation
1009
+ # @param [Object] prior_authentication_data Value to be assigned
1010
+ def prior_authentication_data=(prior_authentication_data)
1011
+ if !prior_authentication_data.nil? && prior_authentication_data.to_s.length > 2048
1012
+ fail ArgumentError, 'invalid value for "prior_authentication_data", the character length must be smaller than or equal to 2048.'
1013
+ end
1014
+
1015
+ @prior_authentication_data = prior_authentication_data
1016
+ end
1017
+
1018
+ # Custom attribute writer method with validation
1019
+ # @param [Object] prior_authentication_method Value to be assigned
1020
+ def prior_authentication_method=(prior_authentication_method)
1021
+ if !prior_authentication_method.nil? && prior_authentication_method.to_s.length > 2
1022
+ fail ArgumentError, 'invalid value for "prior_authentication_method", the character length must be smaller than or equal to 2.'
1023
+ end
1024
+
1025
+ @prior_authentication_method = prior_authentication_method
1026
+ end
1027
+
1028
+ # Custom attribute writer method with validation
1029
+ # @param [Object] prior_authentication_reference_id Value to be assigned
1030
+ def prior_authentication_reference_id=(prior_authentication_reference_id)
1031
+ if !prior_authentication_reference_id.nil? && prior_authentication_reference_id.to_s.length > 36
1032
+ fail ArgumentError, 'invalid value for "prior_authentication_reference_id", the character length must be smaller than or equal to 36.'
1033
+ end
1034
+
1035
+ @prior_authentication_reference_id = prior_authentication_reference_id
1036
+ end
1037
+
1038
+ # Custom attribute writer method with validation
1039
+ # @param [Object] prior_authentication_time Value to be assigned
1040
+ def prior_authentication_time=(prior_authentication_time)
1041
+ if !prior_authentication_time.nil? && prior_authentication_time.to_s.length > 12
1042
+ fail ArgumentError, 'invalid value for "prior_authentication_time", the character length must be smaller than or equal to 12.'
1043
+ end
1044
+
1045
+ @prior_authentication_time = prior_authentication_time
1046
+ end
1047
+
1048
+ # Custom attribute writer method with validation
1049
+ # @param [Object] product_code Value to be assigned
1050
+ def product_code=(product_code)
1051
+ if !product_code.nil? && product_code.to_s.length > 3
1052
+ fail ArgumentError, 'invalid value for "product_code", the character length must be smaller than or equal to 3.'
1053
+ end
1054
+
1055
+ @product_code = product_code
1056
+ end
1057
+
1058
+ # Custom attribute writer method with validation
1059
+ # @param [Object] requestor_id Value to be assigned
1060
+ def requestor_id=(requestor_id)
1061
+ if !requestor_id.nil? && requestor_id.to_s.length > 35
1062
+ fail ArgumentError, 'invalid value for "requestor_id", the character length must be smaller than or equal to 35.'
1063
+ end
1064
+
1065
+ @requestor_id = requestor_id
1066
+ end
1067
+
1068
+ # Custom attribute writer method with validation
1069
+ # @param [Object] requestor_initiated_authentication_indicator Value to be assigned
1070
+ def requestor_initiated_authentication_indicator=(requestor_initiated_authentication_indicator)
1071
+ if !requestor_initiated_authentication_indicator.nil? && requestor_initiated_authentication_indicator.to_s.length > 2
1072
+ fail ArgumentError, 'invalid value for "requestor_initiated_authentication_indicator", the character length must be smaller than or equal to 2.'
1073
+ end
1074
+
1075
+ @requestor_initiated_authentication_indicator = requestor_initiated_authentication_indicator
1076
+ end
1077
+
1078
+ # Custom attribute writer method with validation
1079
+ # @param [Object] requestor_name Value to be assigned
1080
+ def requestor_name=(requestor_name)
1081
+ if !requestor_name.nil? && requestor_name.to_s.length > 40
1082
+ fail ArgumentError, 'invalid value for "requestor_name", the character length must be smaller than or equal to 40.'
1083
+ end
1084
+
1085
+ @requestor_name = requestor_name
1086
+ end
1087
+
1088
+ # Custom attribute writer method with validation
1089
+ # @param [Object] reference_id Value to be assigned
1090
+ def reference_id=(reference_id)
1091
+ if reference_id.nil?
1092
+ fail ArgumentError, 'reference_id cannot be nil'
1093
+ end
1094
+
1095
+ if reference_id.to_s.length > 50
1096
+ fail ArgumentError, 'invalid value for "reference_id", the character length must be smaller than or equal to 50.'
1097
+ end
1098
+
1099
+ @reference_id = reference_id
1100
+ end
1101
+
1102
+ # Custom attribute writer method with validation
1103
+ # @param [Object] sdk_max_timeout Value to be assigned
1104
+ def sdk_max_timeout=(sdk_max_timeout)
1105
+ if !sdk_max_timeout.nil? && sdk_max_timeout.to_s.length > 2
1106
+ fail ArgumentError, 'invalid value for "sdk_max_timeout", the character length must be smaller than or equal to 2.'
1107
+ end
1108
+
1109
+ @sdk_max_timeout = sdk_max_timeout
1110
+ end
1111
+
1112
+ # Custom attribute writer method with validation
1113
+ # @param [Object] sdk_transaction_id Value to be assigned
1114
+ def sdk_transaction_id=(sdk_transaction_id)
1115
+ if !sdk_transaction_id.nil? && sdk_transaction_id.to_s.length > 36
1116
+ fail ArgumentError, 'invalid value for "sdk_transaction_id", the character length must be smaller than or equal to 36.'
1117
+ end
1118
+
1119
+ @sdk_transaction_id = sdk_transaction_id
1120
+ end
1121
+
1122
+ # Custom attribute writer method with validation
1123
+ # @param [Object] secure_corporate_payment_indicator Value to be assigned
1124
+ def secure_corporate_payment_indicator=(secure_corporate_payment_indicator)
1125
+ if !secure_corporate_payment_indicator.nil? && secure_corporate_payment_indicator.to_s.length > 1
1126
+ fail ArgumentError, 'invalid value for "secure_corporate_payment_indicator", the character length must be smaller than or equal to 1.'
1127
+ end
1128
+
1129
+ @secure_corporate_payment_indicator = secure_corporate_payment_indicator
1130
+ end
1131
+
1132
+ # Custom attribute writer method with validation
1133
+ # @param [Object] signed_pares_status_reason Value to be assigned
1134
+ def signed_pares_status_reason=(signed_pares_status_reason)
1135
+ if !signed_pares_status_reason.nil? && signed_pares_status_reason.to_s.length > 2
1136
+ fail ArgumentError, 'invalid value for "signed_pares_status_reason", the character length must be smaller than or equal to 2.'
1137
+ end
1138
+
1139
+ @signed_pares_status_reason = signed_pares_status_reason
1140
+ end
1141
+
1142
+ # Custom attribute writer method with validation
1143
+ # @param [Object] step_up_url Value to be assigned
1144
+ def step_up_url=(step_up_url)
1145
+ if !step_up_url.nil? && step_up_url.to_s.length > 2048
1146
+ fail ArgumentError, 'invalid value for "step_up_url", the character length must be smaller than or equal to 2048.'
1147
+ end
1148
+
1149
+ @step_up_url = step_up_url
1150
+ end
1151
+
1152
+ # Custom attribute writer method with validation
1153
+ # @param [Object] three_ds_server_transaction_id Value to be assigned
1154
+ def three_ds_server_transaction_id=(three_ds_server_transaction_id)
1155
+ if !three_ds_server_transaction_id.nil? && three_ds_server_transaction_id.to_s.length > 36
1156
+ fail ArgumentError, 'invalid value for "three_ds_server_transaction_id", the character length must be smaller than or equal to 36.'
1157
+ end
1158
+
1159
+ @three_ds_server_transaction_id = three_ds_server_transaction_id
1160
+ end
1161
+
1162
+ # Custom attribute writer method with validation
1163
+ # @param [Object] white_list_status Value to be assigned
1164
+ def white_list_status=(white_list_status)
1165
+ if !white_list_status.nil? && white_list_status.to_s.length > 1
1166
+ fail ArgumentError, 'invalid value for "white_list_status", the character length must be smaller than or equal to 1.'
1167
+ end
1168
+
1169
+ @white_list_status = white_list_status
1170
+ end
1171
+
1172
+ # Custom attribute writer method with validation
1173
+ # @param [Object] white_list_status_source Value to be assigned
1174
+ def white_list_status_source=(white_list_status_source)
1175
+ if !white_list_status_source.nil? && white_list_status_source.to_s.length > 2
1176
+ fail ArgumentError, 'invalid value for "white_list_status_source", the character length must be smaller than or equal to 2.'
1177
+ end
1178
+
1179
+ @white_list_status_source = white_list_status_source
1180
+ end
1181
+
1182
+ # Checks equality by comparing each attribute.
1183
+ # @param [Object] Object to be compared
1184
+ def ==(o)
1185
+ return true if self.equal?(o)
1186
+ self.class == o.class &&
1187
+ strong_authentication == o.strong_authentication &&
1188
+ authentication_type == o.authentication_type &&
1189
+ acs_rendering_type == o.acs_rendering_type &&
1190
+ acs_transaction_id == o.acs_transaction_id &&
1191
+ acs_window_size == o.acs_window_size &&
1192
+ alternate_authentication_data == o.alternate_authentication_data &&
1193
+ alternate_authentication_date == o.alternate_authentication_date &&
1194
+ alternate_authentication_method == o.alternate_authentication_method &&
1195
+ authentication_date == o.authentication_date &&
1196
+ authentication_transaction_id == o.authentication_transaction_id &&
1197
+ authorization_payload == o.authorization_payload &&
1198
+ cardholder_message == o.cardholder_message &&
1199
+ challenge_cancel_code == o.challenge_cancel_code &&
1200
+ challenge_code == o.challenge_code &&
1201
+ challenge_required == o.challenge_required &&
1202
+ challenge_status == o.challenge_status &&
1203
+ customer_card_alias == o.customer_card_alias &&
1204
+ decoupled_authentication_indicator == o.decoupled_authentication_indicator &&
1205
+ decoupled_authentication_max_time == o.decoupled_authentication_max_time &&
1206
+ default_card == o.default_card &&
1207
+ device_channel == o.device_channel &&
1208
+ directory_server_error_code == o.directory_server_error_code &&
1209
+ directory_server_error_description == o.directory_server_error_description &&
1210
+ effective_authentication_type == o.effective_authentication_type &&
1211
+ installment_total_count == o.installment_total_count &&
1212
+ ivr == o.ivr &&
1213
+ merchant_fraud_rate == o.merchant_fraud_rate &&
1214
+ marketing_opt_in == o.marketing_opt_in &&
1215
+ marketing_source == o.marketing_source &&
1216
+ mcc == o.mcc &&
1217
+ merchant_score == o.merchant_score &&
1218
+ message_category == o.message_category &&
1219
+ network_score == o.network_score &&
1220
+ npa_code == o.npa_code &&
1221
+ override_payment_method == o.override_payment_method &&
1222
+ override_country_code == o.override_country_code &&
1223
+ prior_authentication_data == o.prior_authentication_data &&
1224
+ prior_authentication_method == o.prior_authentication_method &&
1225
+ prior_authentication_reference_id == o.prior_authentication_reference_id &&
1226
+ prior_authentication_time == o.prior_authentication_time &&
1227
+ product_code == o.product_code &&
1228
+ requestor_id == o.requestor_id &&
1229
+ requestor_initiated_authentication_indicator == o.requestor_initiated_authentication_indicator &&
1230
+ requestor_name == o.requestor_name &&
1231
+ reference_id == o.reference_id &&
1232
+ sdk_max_timeout == o.sdk_max_timeout &&
1233
+ sdk_transaction_id == o.sdk_transaction_id &&
1234
+ secure_corporate_payment_indicator == o.secure_corporate_payment_indicator &&
1235
+ signed_pares_status_reason == o.signed_pares_status_reason &&
1236
+ step_up_url == o.step_up_url &&
1237
+ three_ds_server_transaction_id == o.three_ds_server_transaction_id &&
1238
+ transaction_mode == o.transaction_mode &&
1239
+ white_list_status == o.white_list_status &&
1240
+ white_list_status_source == o.white_list_status_source
1241
+ end
1242
+
1243
+ # @see the `==` method
1244
+ # @param [Object] Object to be compared
1245
+ def eql?(o)
1246
+ self == o
1247
+ end
1248
+
1249
+ # Calculates hash code according to all attributes.
1250
+ # @return [Fixnum] Hash code
1251
+ def hash
1252
+ [strong_authentication, authentication_type, acs_rendering_type, acs_transaction_id, acs_window_size, alternate_authentication_data, alternate_authentication_date, alternate_authentication_method, authentication_date, authentication_transaction_id, authorization_payload, cardholder_message, challenge_cancel_code, challenge_code, challenge_required, challenge_status, customer_card_alias, decoupled_authentication_indicator, decoupled_authentication_max_time, default_card, device_channel, directory_server_error_code, directory_server_error_description, effective_authentication_type, installment_total_count, ivr, merchant_fraud_rate, marketing_opt_in, marketing_source, mcc, merchant_score, message_category, network_score, npa_code, override_payment_method, override_country_code, prior_authentication_data, prior_authentication_method, prior_authentication_reference_id, prior_authentication_time, product_code, requestor_id, requestor_initiated_authentication_indicator, requestor_name, reference_id, sdk_max_timeout, sdk_transaction_id, secure_corporate_payment_indicator, signed_pares_status_reason, step_up_url, three_ds_server_transaction_id, transaction_mode, white_list_status, white_list_status_source].hash
1253
+ end
1254
+
1255
+ # Builds the object from hash
1256
+ # @param [Hash] attributes Model attributes in the form of hash
1257
+ # @return [Object] Returns the model itself
1258
+ def build_from_hash(attributes)
1259
+ return nil unless attributes.is_a?(Hash)
1260
+ self.class.swagger_types.each_pair do |key, type|
1261
+ if type =~ /\AArray<(.*)>/i
1262
+ # check to ensure the input is an array given that the the attribute
1263
+ # is documented as an array but the input is not
1264
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1265
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
1266
+ end
1267
+ elsif !attributes[self.class.attribute_map[key]].nil?
1268
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1269
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1270
+ end
1271
+
1272
+ self
1273
+ end
1274
+
1275
+ # Deserializes the data based on type
1276
+ # @param string type Data type
1277
+ # @param string value Value to be deserialized
1278
+ # @return [Object] Deserialized data
1279
+ def _deserialize(type, value)
1280
+ case type.to_sym
1281
+ when :DateTime
1282
+ DateTime.parse(value)
1283
+ when :Date
1284
+ Date.parse(value)
1285
+ when :String
1286
+ value.to_s
1287
+ when :Integer
1288
+ value.to_i
1289
+ when :Float
1290
+ value.to_f
1291
+ when :BOOLEAN
1292
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1293
+ true
1294
+ else
1295
+ false
1296
+ end
1297
+ when :Object
1298
+ # generic object (usually a Hash), return directly
1299
+ value
1300
+ when /\AArray<(?<inner_type>.+)>\z/
1301
+ inner_type = Regexp.last_match[:inner_type]
1302
+ value.map { |v| _deserialize(inner_type, v) }
1303
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1304
+ k_type = Regexp.last_match[:k_type]
1305
+ v_type = Regexp.last_match[:v_type]
1306
+ {}.tap do |hash|
1307
+ value.each do |k, v|
1308
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1309
+ end
1310
+ end
1311
+ else # model
1312
+ temp_model = CyberSource.const_get(type).new
1313
+ temp_model.build_from_hash(value)
1314
+ end
1315
+ end
1316
+
1317
+ # Returns the string representation of the object
1318
+ # @return [String] String presentation of the object
1319
+ def to_s
1320
+ to_hash.to_s
1321
+ end
1322
+
1323
+ # to_body is an alias to to_hash (backward compatibility)
1324
+ # @return [Hash] Returns the object in the form of hash
1325
+ def to_body
1326
+ to_hash
1327
+ end
1328
+
1329
+ # Returns the object in the form of hash
1330
+ # @return [Hash] Returns the object in the form of hash
1331
+ def to_hash
1332
+ hash = {}
1333
+ self.class.attribute_map.each_pair do |attr, param|
1334
+ value = self.send(attr)
1335
+ next if value.nil?
1336
+ hash[param] = _to_hash(value)
1337
+ end
1338
+ hash
1339
+ end
1340
+
1341
+ # Outputs non-array value in the form of hash
1342
+ # For object, use to_hash. Otherwise, just return the value
1343
+ # @param [Object] value Any valid value
1344
+ # @return [Hash] Returns the value in the form of hash
1345
+ def _to_hash(value)
1346
+ if value.is_a?(Array)
1347
+ value.compact.map { |v| _to_hash(v) }
1348
+ elsif value.is_a?(Hash)
1349
+ {}.tap do |hash|
1350
+ value.each { |k, v| hash[k] = _to_hash(v) }
1351
+ end
1352
+ elsif value.respond_to? :to_hash
1353
+ value.to_hash
1354
+ else
1355
+ value
1356
+ end
1357
+ end
1358
+ end
1359
+ end