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,313 +1,313 @@
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 TmsEmbeddedInstrumentIdentifier
16
- attr_accessor :_links
17
-
18
- # The Id of the Instrument Identifier Token.
19
- attr_accessor :id
20
-
21
- # The type. Possible Values: - instrumentIdentifier
22
- attr_accessor :object
23
-
24
- # Issuers state for the card number. Possible Values: - ACTIVE - CLOSED : The account has been closed.
25
- attr_accessor :state
26
-
27
- # The type of Instrument Identifier. Possible Values: - enrollable card - enrollable token
28
- attr_accessor :type
29
-
30
- attr_accessor :token_provisioning_information
31
-
32
- attr_accessor :card
33
-
34
- attr_accessor :bank_account
35
-
36
- attr_accessor :tokenized_card
37
-
38
- attr_accessor :issuer
39
-
40
- attr_accessor :processing_information
41
-
42
- attr_accessor :bill_to
43
-
44
- attr_accessor :metadata
45
-
46
- # Attribute mapping from ruby-style variable name to JSON key.
47
- def self.attribute_map
48
- {
49
- :'_links' => :'_links',
50
- :'id' => :'id',
51
- :'object' => :'object',
52
- :'state' => :'state',
53
- :'type' => :'type',
54
- :'token_provisioning_information' => :'tokenProvisioningInformation',
55
- :'card' => :'card',
56
- :'bank_account' => :'bankAccount',
57
- :'tokenized_card' => :'tokenizedCard',
58
- :'issuer' => :'issuer',
59
- :'processing_information' => :'processingInformation',
60
- :'bill_to' => :'billTo',
61
- :'metadata' => :'metadata'
62
- }
63
- end
64
-
65
- # Attribute mapping from JSON key to ruby-style variable name.
66
- def self.json_map
67
- {
68
- :'_links' => :'_links',
69
- :'id' => :'id',
70
- :'object' => :'object',
71
- :'state' => :'state',
72
- :'type' => :'type',
73
- :'token_provisioning_information' => :'token_provisioning_information',
74
- :'card' => :'card',
75
- :'bank_account' => :'bank_account',
76
- :'tokenized_card' => :'tokenized_card',
77
- :'issuer' => :'issuer',
78
- :'processing_information' => :'processing_information',
79
- :'bill_to' => :'bill_to',
80
- :'metadata' => :'metadata'
81
- }
82
- end
83
-
84
- # Attribute type mapping.
85
- def self.swagger_types
86
- {
87
- :'_links' => :'TmsEmbeddedInstrumentIdentifierLinks',
88
- :'id' => :'String',
89
- :'object' => :'String',
90
- :'state' => :'String',
91
- :'type' => :'String',
92
- :'token_provisioning_information' => :'Ptsv2paymentsTokenInformationTokenProvisioningInformation',
93
- :'card' => :'TmsEmbeddedInstrumentIdentifierCard',
94
- :'bank_account' => :'TmsEmbeddedInstrumentIdentifierBankAccount',
95
- :'tokenized_card' => :'Tmsv2TokenizedCard',
96
- :'issuer' => :'TmsEmbeddedInstrumentIdentifierIssuer',
97
- :'processing_information' => :'TmsEmbeddedInstrumentIdentifierProcessingInformation',
98
- :'bill_to' => :'TmsEmbeddedInstrumentIdentifierBillTo',
99
- :'metadata' => :'TmsEmbeddedInstrumentIdentifierMetadata'
100
- }
101
- end
102
-
103
- # Initializes the object
104
- # @param [Hash] attributes Model attributes in the form of hash
105
- def initialize(attributes = {})
106
- return unless attributes.is_a?(Hash)
107
-
108
- # convert string to symbol for hash key
109
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
110
-
111
- if attributes.has_key?(:'_links')
112
- self._links = attributes[:'_links']
113
- end
114
-
115
- if attributes.has_key?(:'id')
116
- self.id = attributes[:'id']
117
- end
118
-
119
- if attributes.has_key?(:'object')
120
- self.object = attributes[:'object']
121
- end
122
-
123
- if attributes.has_key?(:'state')
124
- self.state = attributes[:'state']
125
- end
126
-
127
- if attributes.has_key?(:'type')
128
- self.type = attributes[:'type']
129
- end
130
-
131
- if attributes.has_key?(:'tokenProvisioningInformation')
132
- self.token_provisioning_information = attributes[:'tokenProvisioningInformation']
133
- end
134
-
135
- if attributes.has_key?(:'card')
136
- self.card = attributes[:'card']
137
- end
138
-
139
- if attributes.has_key?(:'bankAccount')
140
- self.bank_account = attributes[:'bankAccount']
141
- end
142
-
143
- if attributes.has_key?(:'tokenizedCard')
144
- self.tokenized_card = attributes[:'tokenizedCard']
145
- end
146
-
147
- if attributes.has_key?(:'issuer')
148
- self.issuer = attributes[:'issuer']
149
- end
150
-
151
- if attributes.has_key?(:'processingInformation')
152
- self.processing_information = attributes[:'processingInformation']
153
- end
154
-
155
- if attributes.has_key?(:'billTo')
156
- self.bill_to = attributes[:'billTo']
157
- end
158
-
159
- if attributes.has_key?(:'metadata')
160
- self.metadata = attributes[:'metadata']
161
- end
162
- end
163
-
164
- # Show invalid properties with the reasons. Usually used together with valid?
165
- # @return Array for valid properties with the reasons
166
- def list_invalid_properties
167
- invalid_properties = Array.new
168
- invalid_properties
169
- end
170
-
171
- # Check to see if the all the properties in the model are valid
172
- # @return true if the model is valid
173
- def valid?
174
- true
175
- end
176
-
177
- # Checks equality by comparing each attribute.
178
- # @param [Object] Object to be compared
179
- def ==(o)
180
- return true if self.equal?(o)
181
- self.class == o.class &&
182
- _links == o._links &&
183
- id == o.id &&
184
- object == o.object &&
185
- state == o.state &&
186
- type == o.type &&
187
- token_provisioning_information == o.token_provisioning_information &&
188
- card == o.card &&
189
- bank_account == o.bank_account &&
190
- tokenized_card == o.tokenized_card &&
191
- issuer == o.issuer &&
192
- processing_information == o.processing_information &&
193
- bill_to == o.bill_to &&
194
- metadata == o.metadata
195
- end
196
-
197
- # @see the `==` method
198
- # @param [Object] Object to be compared
199
- def eql?(o)
200
- self == o
201
- end
202
-
203
- # Calculates hash code according to all attributes.
204
- # @return [Fixnum] Hash code
205
- def hash
206
- [_links, id, object, state, type, token_provisioning_information, card, bank_account, tokenized_card, issuer, processing_information, bill_to, metadata].hash
207
- end
208
-
209
- # Builds the object from hash
210
- # @param [Hash] attributes Model attributes in the form of hash
211
- # @return [Object] Returns the model itself
212
- def build_from_hash(attributes)
213
- return nil unless attributes.is_a?(Hash)
214
- self.class.swagger_types.each_pair do |key, type|
215
- if type =~ /\AArray<(.*)>/i
216
- # check to ensure the input is an array given that the the attribute
217
- # is documented as an array but the input is not
218
- if attributes[self.class.attribute_map[key]].is_a?(Array)
219
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
220
- end
221
- elsif !attributes[self.class.attribute_map[key]].nil?
222
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
223
- end # or else data not found in attributes(hash), not an issue as the data can be optional
224
- end
225
-
226
- self
227
- end
228
-
229
- # Deserializes the data based on type
230
- # @param string type Data type
231
- # @param string value Value to be deserialized
232
- # @return [Object] Deserialized data
233
- def _deserialize(type, value)
234
- case type.to_sym
235
- when :DateTime
236
- DateTime.parse(value)
237
- when :Date
238
- Date.parse(value)
239
- when :String
240
- value.to_s
241
- when :Integer
242
- value.to_i
243
- when :Float
244
- value.to_f
245
- when :BOOLEAN
246
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
247
- true
248
- else
249
- false
250
- end
251
- when :Object
252
- # generic object (usually a Hash), return directly
253
- value
254
- when /\AArray<(?<inner_type>.+)>\z/
255
- inner_type = Regexp.last_match[:inner_type]
256
- value.map { |v| _deserialize(inner_type, v) }
257
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
- k_type = Regexp.last_match[:k_type]
259
- v_type = Regexp.last_match[:v_type]
260
- {}.tap do |hash|
261
- value.each do |k, v|
262
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
- end
264
- end
265
- else # model
266
- temp_model = CyberSource.const_get(type).new
267
- temp_model.build_from_hash(value)
268
- end
269
- end
270
-
271
- # Returns the string representation of the object
272
- # @return [String] String presentation of the object
273
- def to_s
274
- to_hash.to_s
275
- end
276
-
277
- # to_body is an alias to to_hash (backward compatibility)
278
- # @return [Hash] Returns the object in the form of hash
279
- def to_body
280
- to_hash
281
- end
282
-
283
- # Returns the object in the form of hash
284
- # @return [Hash] Returns the object in the form of hash
285
- def to_hash
286
- hash = {}
287
- self.class.attribute_map.each_pair do |attr, param|
288
- value = self.send(attr)
289
- next if value.nil?
290
- hash[param] = _to_hash(value)
291
- end
292
- hash
293
- end
294
-
295
- # Outputs non-array value in the form of hash
296
- # For object, use to_hash. Otherwise, just return the value
297
- # @param [Object] value Any valid value
298
- # @return [Hash] Returns the value in the form of hash
299
- def _to_hash(value)
300
- if value.is_a?(Array)
301
- value.compact.map { |v| _to_hash(v) }
302
- elsif value.is_a?(Hash)
303
- {}.tap do |hash|
304
- value.each { |k, v| hash[k] = _to_hash(v) }
305
- end
306
- elsif value.respond_to? :to_hash
307
- value.to_hash
308
- else
309
- value
310
- end
311
- end
312
- end
313
- 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 TmsEmbeddedInstrumentIdentifier
16
+ attr_accessor :_links
17
+
18
+ # The Id of the Instrument Identifier Token.
19
+ attr_accessor :id
20
+
21
+ # The type. Possible Values: - instrumentIdentifier
22
+ attr_accessor :object
23
+
24
+ # Issuers state for the card number. Possible Values: - ACTIVE - CLOSED : The account has been closed.
25
+ attr_accessor :state
26
+
27
+ # The type of Instrument Identifier. Possible Values: - enrollable card - enrollable token
28
+ attr_accessor :type
29
+
30
+ attr_accessor :token_provisioning_information
31
+
32
+ attr_accessor :card
33
+
34
+ attr_accessor :bank_account
35
+
36
+ attr_accessor :tokenized_card
37
+
38
+ attr_accessor :issuer
39
+
40
+ attr_accessor :processing_information
41
+
42
+ attr_accessor :bill_to
43
+
44
+ attr_accessor :metadata
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ :'_links' => :'_links',
50
+ :'id' => :'id',
51
+ :'object' => :'object',
52
+ :'state' => :'state',
53
+ :'type' => :'type',
54
+ :'token_provisioning_information' => :'tokenProvisioningInformation',
55
+ :'card' => :'card',
56
+ :'bank_account' => :'bankAccount',
57
+ :'tokenized_card' => :'tokenizedCard',
58
+ :'issuer' => :'issuer',
59
+ :'processing_information' => :'processingInformation',
60
+ :'bill_to' => :'billTo',
61
+ :'metadata' => :'metadata'
62
+ }
63
+ end
64
+
65
+ # Attribute mapping from JSON key to ruby-style variable name.
66
+ def self.json_map
67
+ {
68
+ :'_links' => :'_links',
69
+ :'id' => :'id',
70
+ :'object' => :'object',
71
+ :'state' => :'state',
72
+ :'type' => :'type',
73
+ :'token_provisioning_information' => :'token_provisioning_information',
74
+ :'card' => :'card',
75
+ :'bank_account' => :'bank_account',
76
+ :'tokenized_card' => :'tokenized_card',
77
+ :'issuer' => :'issuer',
78
+ :'processing_information' => :'processing_information',
79
+ :'bill_to' => :'bill_to',
80
+ :'metadata' => :'metadata'
81
+ }
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.swagger_types
86
+ {
87
+ :'_links' => :'TmsEmbeddedInstrumentIdentifierLinks',
88
+ :'id' => :'String',
89
+ :'object' => :'String',
90
+ :'state' => :'String',
91
+ :'type' => :'String',
92
+ :'token_provisioning_information' => :'Ptsv2paymentsTokenInformationTokenProvisioningInformation',
93
+ :'card' => :'TmsEmbeddedInstrumentIdentifierCard',
94
+ :'bank_account' => :'TmsEmbeddedInstrumentIdentifierBankAccount',
95
+ :'tokenized_card' => :'Tmsv2TokenizedCard',
96
+ :'issuer' => :'TmsEmbeddedInstrumentIdentifierIssuer',
97
+ :'processing_information' => :'TmsEmbeddedInstrumentIdentifierProcessingInformation',
98
+ :'bill_to' => :'TmsEmbeddedInstrumentIdentifierBillTo',
99
+ :'metadata' => :'TmsEmbeddedInstrumentIdentifierMetadata'
100
+ }
101
+ end
102
+
103
+ # Initializes the object
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ def initialize(attributes = {})
106
+ return unless attributes.is_a?(Hash)
107
+
108
+ # convert string to symbol for hash key
109
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
110
+
111
+ if attributes.has_key?(:'_links')
112
+ self._links = attributes[:'_links']
113
+ end
114
+
115
+ if attributes.has_key?(:'id')
116
+ self.id = attributes[:'id']
117
+ end
118
+
119
+ if attributes.has_key?(:'object')
120
+ self.object = attributes[:'object']
121
+ end
122
+
123
+ if attributes.has_key?(:'state')
124
+ self.state = attributes[:'state']
125
+ end
126
+
127
+ if attributes.has_key?(:'type')
128
+ self.type = attributes[:'type']
129
+ end
130
+
131
+ if attributes.has_key?(:'tokenProvisioningInformation')
132
+ self.token_provisioning_information = attributes[:'tokenProvisioningInformation']
133
+ end
134
+
135
+ if attributes.has_key?(:'card')
136
+ self.card = attributes[:'card']
137
+ end
138
+
139
+ if attributes.has_key?(:'bankAccount')
140
+ self.bank_account = attributes[:'bankAccount']
141
+ end
142
+
143
+ if attributes.has_key?(:'tokenizedCard')
144
+ self.tokenized_card = attributes[:'tokenizedCard']
145
+ end
146
+
147
+ if attributes.has_key?(:'issuer')
148
+ self.issuer = attributes[:'issuer']
149
+ end
150
+
151
+ if attributes.has_key?(:'processingInformation')
152
+ self.processing_information = attributes[:'processingInformation']
153
+ end
154
+
155
+ if attributes.has_key?(:'billTo')
156
+ self.bill_to = attributes[:'billTo']
157
+ end
158
+
159
+ if attributes.has_key?(:'metadata')
160
+ self.metadata = attributes[:'metadata']
161
+ end
162
+ end
163
+
164
+ # Show invalid properties with the reasons. Usually used together with valid?
165
+ # @return Array for valid properties with the reasons
166
+ def list_invalid_properties
167
+ invalid_properties = Array.new
168
+ invalid_properties
169
+ end
170
+
171
+ # Check to see if the all the properties in the model are valid
172
+ # @return true if the model is valid
173
+ def valid?
174
+ true
175
+ end
176
+
177
+ # Checks equality by comparing each attribute.
178
+ # @param [Object] Object to be compared
179
+ def ==(o)
180
+ return true if self.equal?(o)
181
+ self.class == o.class &&
182
+ _links == o._links &&
183
+ id == o.id &&
184
+ object == o.object &&
185
+ state == o.state &&
186
+ type == o.type &&
187
+ token_provisioning_information == o.token_provisioning_information &&
188
+ card == o.card &&
189
+ bank_account == o.bank_account &&
190
+ tokenized_card == o.tokenized_card &&
191
+ issuer == o.issuer &&
192
+ processing_information == o.processing_information &&
193
+ bill_to == o.bill_to &&
194
+ metadata == o.metadata
195
+ end
196
+
197
+ # @see the `==` method
198
+ # @param [Object] Object to be compared
199
+ def eql?(o)
200
+ self == o
201
+ end
202
+
203
+ # Calculates hash code according to all attributes.
204
+ # @return [Fixnum] Hash code
205
+ def hash
206
+ [_links, id, object, state, type, token_provisioning_information, card, bank_account, tokenized_card, issuer, processing_information, bill_to, metadata].hash
207
+ end
208
+
209
+ # Builds the object from hash
210
+ # @param [Hash] attributes Model attributes in the form of hash
211
+ # @return [Object] Returns the model itself
212
+ def build_from_hash(attributes)
213
+ return nil unless attributes.is_a?(Hash)
214
+ self.class.swagger_types.each_pair do |key, type|
215
+ if type =~ /\AArray<(.*)>/i
216
+ # check to ensure the input is an array given that the the attribute
217
+ # is documented as an array but the input is not
218
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
219
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
220
+ end
221
+ elsif !attributes[self.class.attribute_map[key]].nil?
222
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
223
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
224
+ end
225
+
226
+ self
227
+ end
228
+
229
+ # Deserializes the data based on type
230
+ # @param string type Data type
231
+ # @param string value Value to be deserialized
232
+ # @return [Object] Deserialized data
233
+ def _deserialize(type, value)
234
+ case type.to_sym
235
+ when :DateTime
236
+ DateTime.parse(value)
237
+ when :Date
238
+ Date.parse(value)
239
+ when :String
240
+ value.to_s
241
+ when :Integer
242
+ value.to_i
243
+ when :Float
244
+ value.to_f
245
+ when :BOOLEAN
246
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
247
+ true
248
+ else
249
+ false
250
+ end
251
+ when :Object
252
+ # generic object (usually a Hash), return directly
253
+ value
254
+ when /\AArray<(?<inner_type>.+)>\z/
255
+ inner_type = Regexp.last_match[:inner_type]
256
+ value.map { |v| _deserialize(inner_type, v) }
257
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
258
+ k_type = Regexp.last_match[:k_type]
259
+ v_type = Regexp.last_match[:v_type]
260
+ {}.tap do |hash|
261
+ value.each do |k, v|
262
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
263
+ end
264
+ end
265
+ else # model
266
+ temp_model = CyberSource.const_get(type).new
267
+ temp_model.build_from_hash(value)
268
+ end
269
+ end
270
+
271
+ # Returns the string representation of the object
272
+ # @return [String] String presentation of the object
273
+ def to_s
274
+ to_hash.to_s
275
+ end
276
+
277
+ # to_body is an alias to to_hash (backward compatibility)
278
+ # @return [Hash] Returns the object in the form of hash
279
+ def to_body
280
+ to_hash
281
+ end
282
+
283
+ # Returns the object in the form of hash
284
+ # @return [Hash] Returns the object in the form of hash
285
+ def to_hash
286
+ hash = {}
287
+ self.class.attribute_map.each_pair do |attr, param|
288
+ value = self.send(attr)
289
+ next if value.nil?
290
+ hash[param] = _to_hash(value)
291
+ end
292
+ hash
293
+ end
294
+
295
+ # Outputs non-array value in the form of hash
296
+ # For object, use to_hash. Otherwise, just return the value
297
+ # @param [Object] value Any valid value
298
+ # @return [Hash] Returns the value in the form of hash
299
+ def _to_hash(value)
300
+ if value.is_a?(Array)
301
+ value.compact.map { |v| _to_hash(v) }
302
+ elsif value.is_a?(Hash)
303
+ {}.tap do |hash|
304
+ value.each { |k, v| hash[k] = _to_hash(v) }
305
+ end
306
+ elsif value.respond_to? :to_hash
307
+ value.to_hash
308
+ else
309
+ value
310
+ end
311
+ end
312
+ end
313
+ end