cybersource_rest_client 0.0.67 → 0.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cybersource_rest_client/models/card_processing_config_common_acquirer.rb +257 -257
  3. data/lib/cybersource_rest_client/models/card_processing_config_common_merchant_descriptor_information.rb +279 -279
  4. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations.rb +200 -190
  5. data/lib/cybersource_rest_client/models/commerce_solutions_products_token_management_configuration_information_configurations_vault.rb +251 -0
  6. data/lib/cybersource_rest_client/models/e_check_config_common_internal_only_processors.rb +267 -263
  7. data/lib/cybersource_rest_client/models/e_check_config_common_processors.rb +273 -271
  8. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_internal_only_processors.rb +193 -191
  9. data/lib/cybersource_rest_client/models/e_check_config_features_account_validation_service_processors.rb +285 -283
  10. data/lib/cybersource_rest_client/models/flexv2sessions_fields.rb +199 -199
  11. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information.rb +209 -209
  12. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details.rb +199 -199
  13. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_amount_details_total_amount.rb +189 -189
  14. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_bill_to.rb +309 -309
  15. data/lib/cybersource_rest_client/models/flexv2sessions_fields_order_information_ship_to.rb +289 -289
  16. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information.rb +189 -189
  17. data/lib/cybersource_rest_client/models/flexv2sessions_fields_payment_information_card.rb +229 -229
  18. data/lib/cybersource_rest_client/models/generate_capture_context_request.rb +13 -13
  19. data/lib/cybersource_rest_client/models/generate_flex_api_capture_context_request.rb +189 -189
  20. data/lib/cybersource_rest_client/models/generate_unified_checkout_capture_context_request.rb +13 -13
  21. data/lib/cybersource_rest_client/models/inline_response_400_1_details.rb +199 -199
  22. data/lib/cybersource_rest_client/models/inline_response_400_2.rb +235 -235
  23. data/lib/cybersource_rest_client/models/inline_response_400_3.rb +235 -235
  24. data/lib/cybersource_rest_client/models/inline_response_400_4.rb +235 -235
  25. data/lib/cybersource_rest_client/models/inline_response_400_5.rb +258 -258
  26. data/lib/cybersource_rest_client/models/inline_response_400_5_fields.rb +213 -213
  27. data/lib/cybersource_rest_client/models/inline_response_400_6_details.rb +201 -201
  28. data/lib/cybersource_rest_client/models/patch_instrument_identifier_request.rb +313 -313
  29. data/lib/cybersource_rest_client/models/post_instrument_identifier_enrollment_request.rb +313 -313
  30. data/lib/cybersource_rest_client/models/post_instrument_identifier_request.rb +313 -313
  31. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +305 -305
  32. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +445 -428
  33. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +1 -1
  34. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +339 -411
  35. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options_bonuses.rb +213 -0
  36. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +383 -383
  37. data/lib/cybersource_rest_client/models/ptsv2payments_recurring_payment_information.rb +363 -363
  38. data/lib/cybersource_rest_client/models/ptsv2payments_sender_information.rb +298 -298
  39. data/lib/cybersource_rest_client/models/ptsv2paymentsid_client_reference_information.rb +256 -256
  40. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information.rb +219 -219
  41. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information.rb +219 -219
  42. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_customer.rb +222 -222
  43. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_customer.rb +205 -205
  44. data/lib/cybersource_rest_client/models/riskv1decisions_consumer_authentication_information.rb +795 -795
  45. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_line_items.rb +305 -314
  46. data/lib/cybersource_rest_client/models/tms_embedded_instrument_identifier.rb +313 -313
  47. data/lib/cybersource_rest_client/models/tms_network_token_services.rb +239 -0
  48. data/lib/cybersource_rest_client/models/tms_network_token_services_american_express_token_service.rb +253 -0
  49. data/lib/cybersource_rest_client/models/tms_network_token_services_mastercard_digital_enablement_service.rb +227 -0
  50. data/lib/cybersource_rest_client/models/tms_network_token_services_notifications.rb +190 -0
  51. data/lib/cybersource_rest_client/models/tms_network_token_services_payment_credentials.rb +190 -0
  52. data/lib/cybersource_rest_client/models/tms_network_token_services_synchronous_provisioning.rb +190 -0
  53. data/lib/cybersource_rest_client/models/tms_network_token_services_visa_token_service.rb +244 -0
  54. data/lib/cybersource_rest_client/models/tms_nullify.rb +212 -0
  55. data/lib/cybersource_rest_client/models/tms_sensitive_privileges.rb +190 -0
  56. data/lib/cybersource_rest_client/models/tms_token_formats.rb +223 -0
  57. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card.rb +321 -321
  58. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_card.rb +225 -225
  59. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata.rb +189 -189
  60. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art.rb +250 -250
  61. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset.rb +200 -200
  62. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links.rb +189 -189
  63. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_background_asset__links_self.rb +190 -190
  64. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset.rb +200 -200
  65. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links.rb +189 -189
  66. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_brand_logo_asset__links_self.rb +190 -190
  67. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset.rb +200 -200
  68. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links.rb +189 -189
  69. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_co_brand_logo_asset__links_self.rb +190 -190
  70. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset.rb +200 -200
  71. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links.rb +189 -189
  72. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_combined_asset__links_self.rb +190 -190
  73. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset.rb +200 -200
  74. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links.rb +189 -189
  75. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_icon_asset__links_self.rb +190 -190
  76. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset.rb +200 -200
  77. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links.rb +189 -189
  78. data/lib/cybersource_rest_client/models/tmsv2_tokenized_card_metadata_card_art_issuer_logo_asset__links_self.rb +190 -190
  79. data/lib/cybersource_rest_client/models/token_permissions.rb +223 -0
  80. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +326 -326
  81. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_japan_payment_options.rb +322 -247
  82. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +241 -241
  83. data/lib/cybersource_rest_client.rb +13 -0
  84. metadata +16 -3
@@ -1,289 +1,289 @@
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.4.38
10
- =end
11
-
12
- require 'date'
13
-
14
- module CyberSource
15
- class Flexv2sessionsFieldsOrderInformationShipTo
16
- attr_accessor :address1
17
-
18
- attr_accessor :address2
19
-
20
- attr_accessor :administrative_area
21
-
22
- attr_accessor :building_number
23
-
24
- attr_accessor :country
25
-
26
- attr_accessor :district
27
-
28
- attr_accessor :locality
29
-
30
- attr_accessor :postal_code
31
-
32
- attr_accessor :first_name
33
-
34
- attr_accessor :last_name
35
-
36
- attr_accessor :company
37
-
38
- # Attribute mapping from ruby-style variable name to JSON key.
39
- def self.attribute_map
40
- {
41
- :'address1' => :'address1',
42
- :'address2' => :'address2',
43
- :'administrative_area' => :'administrativeArea',
44
- :'building_number' => :'buildingNumber',
45
- :'country' => :'country',
46
- :'district' => :'district',
47
- :'locality' => :'locality',
48
- :'postal_code' => :'postalCode',
49
- :'first_name' => :'firstName',
50
- :'last_name' => :'lastName',
51
- :'company' => :'company'
52
- }
53
- end
54
-
55
- # Attribute mapping from JSON key to ruby-style variable name.
56
- def self.json_map
57
- {
58
- :'address1' => :'address1',
59
- :'address2' => :'address2',
60
- :'administrative_area' => :'administrative_area',
61
- :'building_number' => :'building_number',
62
- :'country' => :'country',
63
- :'district' => :'district',
64
- :'locality' => :'locality',
65
- :'postal_code' => :'postal_code',
66
- :'first_name' => :'first_name',
67
- :'last_name' => :'last_name',
68
- :'company' => :'company'
69
- }
70
- end
71
-
72
- # Attribute type mapping.
73
- def self.swagger_types
74
- {
75
- :'address1' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
76
- :'address2' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
77
- :'administrative_area' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
78
- :'building_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
79
- :'country' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
80
- :'district' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
81
- :'locality' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
82
- :'postal_code' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
83
- :'first_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
84
- :'last_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
85
- :'company' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount'
86
- }
87
- end
88
-
89
- # Initializes the object
90
- # @param [Hash] attributes Model attributes in the form of hash
91
- def initialize(attributes = {})
92
- return unless attributes.is_a?(Hash)
93
-
94
- # convert string to symbol for hash key
95
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
96
-
97
- if attributes.has_key?(:'address1')
98
- self.address1 = attributes[:'address1']
99
- end
100
-
101
- if attributes.has_key?(:'address2')
102
- self.address2 = attributes[:'address2']
103
- end
104
-
105
- if attributes.has_key?(:'administrativeArea')
106
- self.administrative_area = attributes[:'administrativeArea']
107
- end
108
-
109
- if attributes.has_key?(:'buildingNumber')
110
- self.building_number = attributes[:'buildingNumber']
111
- end
112
-
113
- if attributes.has_key?(:'country')
114
- self.country = attributes[:'country']
115
- end
116
-
117
- if attributes.has_key?(:'district')
118
- self.district = attributes[:'district']
119
- end
120
-
121
- if attributes.has_key?(:'locality')
122
- self.locality = attributes[:'locality']
123
- end
124
-
125
- if attributes.has_key?(:'postalCode')
126
- self.postal_code = attributes[:'postalCode']
127
- end
128
-
129
- if attributes.has_key?(:'firstName')
130
- self.first_name = attributes[:'firstName']
131
- end
132
-
133
- if attributes.has_key?(:'lastName')
134
- self.last_name = attributes[:'lastName']
135
- end
136
-
137
- if attributes.has_key?(:'company')
138
- self.company = attributes[:'company']
139
- end
140
- end
141
-
142
- # Show invalid properties with the reasons. Usually used together with valid?
143
- # @return Array for valid properties with the reasons
144
- def list_invalid_properties
145
- invalid_properties = Array.new
146
- invalid_properties
147
- end
148
-
149
- # Check to see if the all the properties in the model are valid
150
- # @return true if the model is valid
151
- def valid?
152
- true
153
- end
154
-
155
- # Checks equality by comparing each attribute.
156
- # @param [Object] Object to be compared
157
- def ==(o)
158
- return true if self.equal?(o)
159
- self.class == o.class &&
160
- address1 == o.address1 &&
161
- address2 == o.address2 &&
162
- administrative_area == o.administrative_area &&
163
- building_number == o.building_number &&
164
- country == o.country &&
165
- district == o.district &&
166
- locality == o.locality &&
167
- postal_code == o.postal_code &&
168
- first_name == o.first_name &&
169
- last_name == o.last_name &&
170
- company == o.company
171
- end
172
-
173
- # @see the `==` method
174
- # @param [Object] Object to be compared
175
- def eql?(o)
176
- self == o
177
- end
178
-
179
- # Calculates hash code according to all attributes.
180
- # @return [Fixnum] Hash code
181
- def hash
182
- [address1, address2, administrative_area, building_number, country, district, locality, postal_code, first_name, last_name, company].hash
183
- end
184
-
185
- # Builds the object from hash
186
- # @param [Hash] attributes Model attributes in the form of hash
187
- # @return [Object] Returns the model itself
188
- def build_from_hash(attributes)
189
- return nil unless attributes.is_a?(Hash)
190
- self.class.swagger_types.each_pair do |key, type|
191
- if type =~ /\AArray<(.*)>/i
192
- # check to ensure the input is an array given that the the attribute
193
- # is documented as an array but the input is not
194
- if attributes[self.class.attribute_map[key]].is_a?(Array)
195
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
196
- end
197
- elsif !attributes[self.class.attribute_map[key]].nil?
198
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
199
- end # or else data not found in attributes(hash), not an issue as the data can be optional
200
- end
201
-
202
- self
203
- end
204
-
205
- # Deserializes the data based on type
206
- # @param string type Data type
207
- # @param string value Value to be deserialized
208
- # @return [Object] Deserialized data
209
- def _deserialize(type, value)
210
- case type.to_sym
211
- when :DateTime
212
- DateTime.parse(value)
213
- when :Date
214
- Date.parse(value)
215
- when :String
216
- value.to_s
217
- when :Integer
218
- value.to_i
219
- when :Float
220
- value.to_f
221
- when :BOOLEAN
222
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
223
- true
224
- else
225
- false
226
- end
227
- when :Object
228
- # generic object (usually a Hash), return directly
229
- value
230
- when /\AArray<(?<inner_type>.+)>\z/
231
- inner_type = Regexp.last_match[:inner_type]
232
- value.map { |v| _deserialize(inner_type, v) }
233
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
234
- k_type = Regexp.last_match[:k_type]
235
- v_type = Regexp.last_match[:v_type]
236
- {}.tap do |hash|
237
- value.each do |k, v|
238
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
239
- end
240
- end
241
- else # model
242
- temp_model = CyberSource.const_get(type).new
243
- temp_model.build_from_hash(value)
244
- end
245
- end
246
-
247
- # Returns the string representation of the object
248
- # @return [String] String presentation of the object
249
- def to_s
250
- to_hash.to_s
251
- end
252
-
253
- # to_body is an alias to to_hash (backward compatibility)
254
- # @return [Hash] Returns the object in the form of hash
255
- def to_body
256
- to_hash
257
- end
258
-
259
- # Returns the object in the form of hash
260
- # @return [Hash] Returns the object in the form of hash
261
- def to_hash
262
- hash = {}
263
- self.class.attribute_map.each_pair do |attr, param|
264
- value = self.send(attr)
265
- next if value.nil?
266
- hash[param] = _to_hash(value)
267
- end
268
- hash
269
- end
270
-
271
- # Outputs non-array value in the form of hash
272
- # For object, use to_hash. Otherwise, just return the value
273
- # @param [Object] value Any valid value
274
- # @return [Hash] Returns the value in the form of hash
275
- def _to_hash(value)
276
- if value.is_a?(Array)
277
- value.compact.map { |v| _to_hash(v) }
278
- elsif value.is_a?(Hash)
279
- {}.tap do |hash|
280
- value.each { |k, v| hash[k] = _to_hash(v) }
281
- end
282
- elsif value.respond_to? :to_hash
283
- value.to_hash
284
- else
285
- value
286
- end
287
- end
288
- end
289
- end
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.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ class Flexv2sessionsFieldsOrderInformationShipTo
16
+ attr_accessor :address1
17
+
18
+ attr_accessor :address2
19
+
20
+ attr_accessor :administrative_area
21
+
22
+ attr_accessor :building_number
23
+
24
+ attr_accessor :country
25
+
26
+ attr_accessor :district
27
+
28
+ attr_accessor :locality
29
+
30
+ attr_accessor :postal_code
31
+
32
+ attr_accessor :first_name
33
+
34
+ attr_accessor :last_name
35
+
36
+ attr_accessor :company
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'address1' => :'address1',
42
+ :'address2' => :'address2',
43
+ :'administrative_area' => :'administrativeArea',
44
+ :'building_number' => :'buildingNumber',
45
+ :'country' => :'country',
46
+ :'district' => :'district',
47
+ :'locality' => :'locality',
48
+ :'postal_code' => :'postalCode',
49
+ :'first_name' => :'firstName',
50
+ :'last_name' => :'lastName',
51
+ :'company' => :'company'
52
+ }
53
+ end
54
+
55
+ # Attribute mapping from JSON key to ruby-style variable name.
56
+ def self.json_map
57
+ {
58
+ :'address1' => :'address1',
59
+ :'address2' => :'address2',
60
+ :'administrative_area' => :'administrative_area',
61
+ :'building_number' => :'building_number',
62
+ :'country' => :'country',
63
+ :'district' => :'district',
64
+ :'locality' => :'locality',
65
+ :'postal_code' => :'postal_code',
66
+ :'first_name' => :'first_name',
67
+ :'last_name' => :'last_name',
68
+ :'company' => :'company'
69
+ }
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.swagger_types
74
+ {
75
+ :'address1' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
76
+ :'address2' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
77
+ :'administrative_area' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
78
+ :'building_number' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
79
+ :'country' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
80
+ :'district' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
81
+ :'locality' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
82
+ :'postal_code' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
83
+ :'first_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
84
+ :'last_name' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount',
85
+ :'company' => :'Flexv2sessionsFieldsOrderInformationAmountDetailsTotalAmount'
86
+ }
87
+ end
88
+
89
+ # Initializes the object
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ def initialize(attributes = {})
92
+ return unless attributes.is_a?(Hash)
93
+
94
+ # convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
96
+
97
+ if attributes.has_key?(:'address1')
98
+ self.address1 = attributes[:'address1']
99
+ end
100
+
101
+ if attributes.has_key?(:'address2')
102
+ self.address2 = attributes[:'address2']
103
+ end
104
+
105
+ if attributes.has_key?(:'administrativeArea')
106
+ self.administrative_area = attributes[:'administrativeArea']
107
+ end
108
+
109
+ if attributes.has_key?(:'buildingNumber')
110
+ self.building_number = attributes[:'buildingNumber']
111
+ end
112
+
113
+ if attributes.has_key?(:'country')
114
+ self.country = attributes[:'country']
115
+ end
116
+
117
+ if attributes.has_key?(:'district')
118
+ self.district = attributes[:'district']
119
+ end
120
+
121
+ if attributes.has_key?(:'locality')
122
+ self.locality = attributes[:'locality']
123
+ end
124
+
125
+ if attributes.has_key?(:'postalCode')
126
+ self.postal_code = attributes[:'postalCode']
127
+ end
128
+
129
+ if attributes.has_key?(:'firstName')
130
+ self.first_name = attributes[:'firstName']
131
+ end
132
+
133
+ if attributes.has_key?(:'lastName')
134
+ self.last_name = attributes[:'lastName']
135
+ end
136
+
137
+ if attributes.has_key?(:'company')
138
+ self.company = attributes[:'company']
139
+ end
140
+ end
141
+
142
+ # Show invalid properties with the reasons. Usually used together with valid?
143
+ # @return Array for valid properties with the reasons
144
+ def list_invalid_properties
145
+ invalid_properties = Array.new
146
+ invalid_properties
147
+ end
148
+
149
+ # Check to see if the all the properties in the model are valid
150
+ # @return true if the model is valid
151
+ def valid?
152
+ true
153
+ end
154
+
155
+ # Checks equality by comparing each attribute.
156
+ # @param [Object] Object to be compared
157
+ def ==(o)
158
+ return true if self.equal?(o)
159
+ self.class == o.class &&
160
+ address1 == o.address1 &&
161
+ address2 == o.address2 &&
162
+ administrative_area == o.administrative_area &&
163
+ building_number == o.building_number &&
164
+ country == o.country &&
165
+ district == o.district &&
166
+ locality == o.locality &&
167
+ postal_code == o.postal_code &&
168
+ first_name == o.first_name &&
169
+ last_name == o.last_name &&
170
+ company == o.company
171
+ end
172
+
173
+ # @see the `==` method
174
+ # @param [Object] Object to be compared
175
+ def eql?(o)
176
+ self == o
177
+ end
178
+
179
+ # Calculates hash code according to all attributes.
180
+ # @return [Fixnum] Hash code
181
+ def hash
182
+ [address1, address2, administrative_area, building_number, country, district, locality, postal_code, first_name, last_name, company].hash
183
+ end
184
+
185
+ # Builds the object from hash
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ # @return [Object] Returns the model itself
188
+ def build_from_hash(attributes)
189
+ return nil unless attributes.is_a?(Hash)
190
+ self.class.swagger_types.each_pair do |key, type|
191
+ if type =~ /\AArray<(.*)>/i
192
+ # check to ensure the input is an array given that the the attribute
193
+ # is documented as an array but the input is not
194
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
195
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
196
+ end
197
+ elsif !attributes[self.class.attribute_map[key]].nil?
198
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
199
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
200
+ end
201
+
202
+ self
203
+ end
204
+
205
+ # Deserializes the data based on type
206
+ # @param string type Data type
207
+ # @param string value Value to be deserialized
208
+ # @return [Object] Deserialized data
209
+ def _deserialize(type, value)
210
+ case type.to_sym
211
+ when :DateTime
212
+ DateTime.parse(value)
213
+ when :Date
214
+ Date.parse(value)
215
+ when :String
216
+ value.to_s
217
+ when :Integer
218
+ value.to_i
219
+ when :Float
220
+ value.to_f
221
+ when :BOOLEAN
222
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
223
+ true
224
+ else
225
+ false
226
+ end
227
+ when :Object
228
+ # generic object (usually a Hash), return directly
229
+ value
230
+ when /\AArray<(?<inner_type>.+)>\z/
231
+ inner_type = Regexp.last_match[:inner_type]
232
+ value.map { |v| _deserialize(inner_type, v) }
233
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
234
+ k_type = Regexp.last_match[:k_type]
235
+ v_type = Regexp.last_match[:v_type]
236
+ {}.tap do |hash|
237
+ value.each do |k, v|
238
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
239
+ end
240
+ end
241
+ else # model
242
+ temp_model = CyberSource.const_get(type).new
243
+ temp_model.build_from_hash(value)
244
+ end
245
+ end
246
+
247
+ # Returns the string representation of the object
248
+ # @return [String] String presentation of the object
249
+ def to_s
250
+ to_hash.to_s
251
+ end
252
+
253
+ # to_body is an alias to to_hash (backward compatibility)
254
+ # @return [Hash] Returns the object in the form of hash
255
+ def to_body
256
+ to_hash
257
+ end
258
+
259
+ # Returns the object in the form of hash
260
+ # @return [Hash] Returns the object in the form of hash
261
+ def to_hash
262
+ hash = {}
263
+ self.class.attribute_map.each_pair do |attr, param|
264
+ value = self.send(attr)
265
+ next if value.nil?
266
+ hash[param] = _to_hash(value)
267
+ end
268
+ hash
269
+ end
270
+
271
+ # Outputs non-array value in the form of hash
272
+ # For object, use to_hash. Otherwise, just return the value
273
+ # @param [Object] value Any valid value
274
+ # @return [Hash] Returns the value in the form of hash
275
+ def _to_hash(value)
276
+ if value.is_a?(Array)
277
+ value.compact.map { |v| _to_hash(v) }
278
+ elsif value.is_a?(Hash)
279
+ {}.tap do |hash|
280
+ value.each { |k, v| hash[k] = _to_hash(v) }
281
+ end
282
+ elsif value.respond_to? :to_hash
283
+ value.to_hash
284
+ else
285
+ value
286
+ end
287
+ end
288
+ end
289
+ end