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,321 +1,321 @@
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 Tmsv2TokenizedCard
16
- # The network token card association brand Possible Values: - visa - mastercard - americanexpress
17
- attr_accessor :type
18
-
19
- # This enumeration value indicates the origin of the payment instrument (PAN) and the technique employed to supply the payment instrument data. Possible Values: - TOKEN - ISSUER - ONFILE
20
- attr_accessor :source
21
-
22
- # State of the network token or network token provision Possible Values: - ACTIVE : Network token is active. - SUSPENDED : Network token is suspended. This state can change back to ACTIVE. - DELETED : This is a final state for a network token instance. - UNPROVISIONED : A previous network token provision was unsuccessful.
23
- attr_accessor :state
24
-
25
- # Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.
26
- attr_accessor :enrollment_id
27
-
28
- # Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.
29
- attr_accessor :token_reference_id
30
-
31
- # Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
32
- attr_accessor :reason
33
-
34
- # The token requestors network token
35
- attr_accessor :number
36
-
37
- # Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
38
- attr_accessor :expiration_month
39
-
40
- # Four-digit year in which the network token expires. Format: `YYYY`.
41
- attr_accessor :expiration_year
42
-
43
- # Generated value used in conjunction with the network token for making a payment.
44
- attr_accessor :cryptogram
45
-
46
- attr_accessor :card
47
-
48
- attr_accessor :metadata
49
-
50
- # Attribute mapping from ruby-style variable name to JSON key.
51
- def self.attribute_map
52
- {
53
- :'type' => :'type',
54
- :'source' => :'source',
55
- :'state' => :'state',
56
- :'enrollment_id' => :'enrollmentId',
57
- :'token_reference_id' => :'tokenReferenceId',
58
- :'reason' => :'reason',
59
- :'number' => :'number',
60
- :'expiration_month' => :'expirationMonth',
61
- :'expiration_year' => :'expirationYear',
62
- :'cryptogram' => :'cryptogram',
63
- :'card' => :'card',
64
- :'metadata' => :'metadata'
65
- }
66
- end
67
-
68
- # Attribute mapping from JSON key to ruby-style variable name.
69
- def self.json_map
70
- {
71
- :'type' => :'type',
72
- :'source' => :'source',
73
- :'state' => :'state',
74
- :'enrollment_id' => :'enrollment_id',
75
- :'token_reference_id' => :'token_reference_id',
76
- :'reason' => :'reason',
77
- :'number' => :'number',
78
- :'expiration_month' => :'expiration_month',
79
- :'expiration_year' => :'expiration_year',
80
- :'cryptogram' => :'cryptogram',
81
- :'card' => :'card',
82
- :'metadata' => :'metadata'
83
- }
84
- end
85
-
86
- # Attribute type mapping.
87
- def self.swagger_types
88
- {
89
- :'type' => :'String',
90
- :'source' => :'String',
91
- :'state' => :'String',
92
- :'enrollment_id' => :'String',
93
- :'token_reference_id' => :'String',
94
- :'reason' => :'String',
95
- :'number' => :'String',
96
- :'expiration_month' => :'String',
97
- :'expiration_year' => :'String',
98
- :'cryptogram' => :'String',
99
- :'card' => :'Tmsv2TokenizedCardCard',
100
- :'metadata' => :'Tmsv2TokenizedCardMetadata'
101
- }
102
- end
103
-
104
- # Initializes the object
105
- # @param [Hash] attributes Model attributes in the form of hash
106
- def initialize(attributes = {})
107
- return unless attributes.is_a?(Hash)
108
-
109
- # convert string to symbol for hash key
110
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
111
-
112
- if attributes.has_key?(:'type')
113
- self.type = attributes[:'type']
114
- end
115
-
116
- if attributes.has_key?(:'source')
117
- self.source = attributes[:'source']
118
- end
119
-
120
- if attributes.has_key?(:'state')
121
- self.state = attributes[:'state']
122
- end
123
-
124
- if attributes.has_key?(:'enrollmentId')
125
- self.enrollment_id = attributes[:'enrollmentId']
126
- end
127
-
128
- if attributes.has_key?(:'tokenReferenceId')
129
- self.token_reference_id = attributes[:'tokenReferenceId']
130
- end
131
-
132
- if attributes.has_key?(:'reason')
133
- self.reason = attributes[:'reason']
134
- end
135
-
136
- if attributes.has_key?(:'number')
137
- self.number = attributes[:'number']
138
- end
139
-
140
- if attributes.has_key?(:'expirationMonth')
141
- self.expiration_month = attributes[:'expirationMonth']
142
- end
143
-
144
- if attributes.has_key?(:'expirationYear')
145
- self.expiration_year = attributes[:'expirationYear']
146
- end
147
-
148
- if attributes.has_key?(:'cryptogram')
149
- self.cryptogram = attributes[:'cryptogram']
150
- end
151
-
152
- if attributes.has_key?(:'card')
153
- self.card = attributes[:'card']
154
- end
155
-
156
- if attributes.has_key?(:'metadata')
157
- self.metadata = attributes[:'metadata']
158
- end
159
- end
160
-
161
- # Show invalid properties with the reasons. Usually used together with valid?
162
- # @return Array for valid properties with the reasons
163
- def list_invalid_properties
164
- invalid_properties = Array.new
165
- invalid_properties
166
- end
167
-
168
- # Check to see if the all the properties in the model are valid
169
- # @return true if the model is valid
170
- def valid?
171
- true
172
- end
173
-
174
- # Custom attribute writer method with validation
175
- # @param [Object] expiration_month Value to be assigned
176
- def expiration_month=(expiration_month)
177
- @expiration_month = expiration_month
178
- end
179
-
180
- # Custom attribute writer method with validation
181
- # @param [Object] expiration_year Value to be assigned
182
- def expiration_year=(expiration_year)
183
- @expiration_year = expiration_year
184
- end
185
-
186
- # Checks equality by comparing each attribute.
187
- # @param [Object] Object to be compared
188
- def ==(o)
189
- return true if self.equal?(o)
190
- self.class == o.class &&
191
- type == o.type &&
192
- source == o.source &&
193
- state == o.state &&
194
- enrollment_id == o.enrollment_id &&
195
- token_reference_id == o.token_reference_id &&
196
- reason == o.reason &&
197
- number == o.number &&
198
- expiration_month == o.expiration_month &&
199
- expiration_year == o.expiration_year &&
200
- cryptogram == o.cryptogram &&
201
- card == o.card &&
202
- metadata == o.metadata
203
- end
204
-
205
- # @see the `==` method
206
- # @param [Object] Object to be compared
207
- def eql?(o)
208
- self == o
209
- end
210
-
211
- # Calculates hash code according to all attributes.
212
- # @return [Fixnum] Hash code
213
- def hash
214
- [type, source, state, enrollment_id, token_reference_id, reason, number, expiration_month, expiration_year, cryptogram, card, metadata].hash
215
- end
216
-
217
- # Builds the object from hash
218
- # @param [Hash] attributes Model attributes in the form of hash
219
- # @return [Object] Returns the model itself
220
- def build_from_hash(attributes)
221
- return nil unless attributes.is_a?(Hash)
222
- self.class.swagger_types.each_pair do |key, type|
223
- if type =~ /\AArray<(.*)>/i
224
- # check to ensure the input is an array given that the the attribute
225
- # is documented as an array but the input is not
226
- if attributes[self.class.attribute_map[key]].is_a?(Array)
227
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
228
- end
229
- elsif !attributes[self.class.attribute_map[key]].nil?
230
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
231
- end # or else data not found in attributes(hash), not an issue as the data can be optional
232
- end
233
-
234
- self
235
- end
236
-
237
- # Deserializes the data based on type
238
- # @param string type Data type
239
- # @param string value Value to be deserialized
240
- # @return [Object] Deserialized data
241
- def _deserialize(type, value)
242
- case type.to_sym
243
- when :DateTime
244
- DateTime.parse(value)
245
- when :Date
246
- Date.parse(value)
247
- when :String
248
- value.to_s
249
- when :Integer
250
- value.to_i
251
- when :Float
252
- value.to_f
253
- when :BOOLEAN
254
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
255
- true
256
- else
257
- false
258
- end
259
- when :Object
260
- # generic object (usually a Hash), return directly
261
- value
262
- when /\AArray<(?<inner_type>.+)>\z/
263
- inner_type = Regexp.last_match[:inner_type]
264
- value.map { |v| _deserialize(inner_type, v) }
265
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
266
- k_type = Regexp.last_match[:k_type]
267
- v_type = Regexp.last_match[:v_type]
268
- {}.tap do |hash|
269
- value.each do |k, v|
270
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
271
- end
272
- end
273
- else # model
274
- temp_model = CyberSource.const_get(type).new
275
- temp_model.build_from_hash(value)
276
- end
277
- end
278
-
279
- # Returns the string representation of the object
280
- # @return [String] String presentation of the object
281
- def to_s
282
- to_hash.to_s
283
- end
284
-
285
- # to_body is an alias to to_hash (backward compatibility)
286
- # @return [Hash] Returns the object in the form of hash
287
- def to_body
288
- to_hash
289
- end
290
-
291
- # Returns the object in the form of hash
292
- # @return [Hash] Returns the object in the form of hash
293
- def to_hash
294
- hash = {}
295
- self.class.attribute_map.each_pair do |attr, param|
296
- value = self.send(attr)
297
- next if value.nil?
298
- hash[param] = _to_hash(value)
299
- end
300
- hash
301
- end
302
-
303
- # Outputs non-array value in the form of hash
304
- # For object, use to_hash. Otherwise, just return the value
305
- # @param [Object] value Any valid value
306
- # @return [Hash] Returns the value in the form of hash
307
- def _to_hash(value)
308
- if value.is_a?(Array)
309
- value.compact.map { |v| _to_hash(v) }
310
- elsif value.is_a?(Hash)
311
- {}.tap do |hash|
312
- value.each { |k, v| hash[k] = _to_hash(v) }
313
- end
314
- elsif value.respond_to? :to_hash
315
- value.to_hash
316
- else
317
- value
318
- end
319
- end
320
- end
321
- 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 Tmsv2TokenizedCard
16
+ # The network token card association brand Possible Values: - visa - mastercard - americanexpress
17
+ attr_accessor :type
18
+
19
+ # This enumeration value indicates the origin of the payment instrument (PAN) and the technique employed to supply the payment instrument data. Possible Values: - TOKEN - ISSUER - ONFILE
20
+ attr_accessor :source
21
+
22
+ # State of the network token or network token provision Possible Values: - ACTIVE : Network token is active. - SUSPENDED : Network token is suspended. This state can change back to ACTIVE. - DELETED : This is a final state for a network token instance. - UNPROVISIONED : A previous network token provision was unsuccessful.
23
+ attr_accessor :state
24
+
25
+ # Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.
26
+ attr_accessor :enrollment_id
27
+
28
+ # Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.
29
+ attr_accessor :token_reference_id
30
+
31
+ # Issuers state for the network token Possible Values: - INVALID_REQUEST : The network token provision request contained invalid data. - CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified. - CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization. - CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization. - DECLINED : Card can currently not be used with issuer for tokenization. - SERVICE_UNAVAILABLE : The network token service was unavailable or timed out. - SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.
32
+ attr_accessor :reason
33
+
34
+ # The token requestors network token
35
+ attr_accessor :number
36
+
37
+ # Two-digit month in which the network token expires. Format: `MM`. Possible Values: `01` through `12`.
38
+ attr_accessor :expiration_month
39
+
40
+ # Four-digit year in which the network token expires. Format: `YYYY`.
41
+ attr_accessor :expiration_year
42
+
43
+ # Generated value used in conjunction with the network token for making a payment.
44
+ attr_accessor :cryptogram
45
+
46
+ attr_accessor :card
47
+
48
+ attr_accessor :metadata
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'type' => :'type',
54
+ :'source' => :'source',
55
+ :'state' => :'state',
56
+ :'enrollment_id' => :'enrollmentId',
57
+ :'token_reference_id' => :'tokenReferenceId',
58
+ :'reason' => :'reason',
59
+ :'number' => :'number',
60
+ :'expiration_month' => :'expirationMonth',
61
+ :'expiration_year' => :'expirationYear',
62
+ :'cryptogram' => :'cryptogram',
63
+ :'card' => :'card',
64
+ :'metadata' => :'metadata'
65
+ }
66
+ end
67
+
68
+ # Attribute mapping from JSON key to ruby-style variable name.
69
+ def self.json_map
70
+ {
71
+ :'type' => :'type',
72
+ :'source' => :'source',
73
+ :'state' => :'state',
74
+ :'enrollment_id' => :'enrollment_id',
75
+ :'token_reference_id' => :'token_reference_id',
76
+ :'reason' => :'reason',
77
+ :'number' => :'number',
78
+ :'expiration_month' => :'expiration_month',
79
+ :'expiration_year' => :'expiration_year',
80
+ :'cryptogram' => :'cryptogram',
81
+ :'card' => :'card',
82
+ :'metadata' => :'metadata'
83
+ }
84
+ end
85
+
86
+ # Attribute type mapping.
87
+ def self.swagger_types
88
+ {
89
+ :'type' => :'String',
90
+ :'source' => :'String',
91
+ :'state' => :'String',
92
+ :'enrollment_id' => :'String',
93
+ :'token_reference_id' => :'String',
94
+ :'reason' => :'String',
95
+ :'number' => :'String',
96
+ :'expiration_month' => :'String',
97
+ :'expiration_year' => :'String',
98
+ :'cryptogram' => :'String',
99
+ :'card' => :'Tmsv2TokenizedCardCard',
100
+ :'metadata' => :'Tmsv2TokenizedCardMetadata'
101
+ }
102
+ end
103
+
104
+ # Initializes the object
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ def initialize(attributes = {})
107
+ return unless attributes.is_a?(Hash)
108
+
109
+ # convert string to symbol for hash key
110
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
111
+
112
+ if attributes.has_key?(:'type')
113
+ self.type = attributes[:'type']
114
+ end
115
+
116
+ if attributes.has_key?(:'source')
117
+ self.source = attributes[:'source']
118
+ end
119
+
120
+ if attributes.has_key?(:'state')
121
+ self.state = attributes[:'state']
122
+ end
123
+
124
+ if attributes.has_key?(:'enrollmentId')
125
+ self.enrollment_id = attributes[:'enrollmentId']
126
+ end
127
+
128
+ if attributes.has_key?(:'tokenReferenceId')
129
+ self.token_reference_id = attributes[:'tokenReferenceId']
130
+ end
131
+
132
+ if attributes.has_key?(:'reason')
133
+ self.reason = attributes[:'reason']
134
+ end
135
+
136
+ if attributes.has_key?(:'number')
137
+ self.number = attributes[:'number']
138
+ end
139
+
140
+ if attributes.has_key?(:'expirationMonth')
141
+ self.expiration_month = attributes[:'expirationMonth']
142
+ end
143
+
144
+ if attributes.has_key?(:'expirationYear')
145
+ self.expiration_year = attributes[:'expirationYear']
146
+ end
147
+
148
+ if attributes.has_key?(:'cryptogram')
149
+ self.cryptogram = attributes[:'cryptogram']
150
+ end
151
+
152
+ if attributes.has_key?(:'card')
153
+ self.card = attributes[:'card']
154
+ end
155
+
156
+ if attributes.has_key?(:'metadata')
157
+ self.metadata = attributes[:'metadata']
158
+ end
159
+ end
160
+
161
+ # Show invalid properties with the reasons. Usually used together with valid?
162
+ # @return Array for valid properties with the reasons
163
+ def list_invalid_properties
164
+ invalid_properties = Array.new
165
+ invalid_properties
166
+ end
167
+
168
+ # Check to see if the all the properties in the model are valid
169
+ # @return true if the model is valid
170
+ def valid?
171
+ true
172
+ end
173
+
174
+ # Custom attribute writer method with validation
175
+ # @param [Object] expiration_month Value to be assigned
176
+ def expiration_month=(expiration_month)
177
+ @expiration_month = expiration_month
178
+ end
179
+
180
+ # Custom attribute writer method with validation
181
+ # @param [Object] expiration_year Value to be assigned
182
+ def expiration_year=(expiration_year)
183
+ @expiration_year = expiration_year
184
+ end
185
+
186
+ # Checks equality by comparing each attribute.
187
+ # @param [Object] Object to be compared
188
+ def ==(o)
189
+ return true if self.equal?(o)
190
+ self.class == o.class &&
191
+ type == o.type &&
192
+ source == o.source &&
193
+ state == o.state &&
194
+ enrollment_id == o.enrollment_id &&
195
+ token_reference_id == o.token_reference_id &&
196
+ reason == o.reason &&
197
+ number == o.number &&
198
+ expiration_month == o.expiration_month &&
199
+ expiration_year == o.expiration_year &&
200
+ cryptogram == o.cryptogram &&
201
+ card == o.card &&
202
+ metadata == o.metadata
203
+ end
204
+
205
+ # @see the `==` method
206
+ # @param [Object] Object to be compared
207
+ def eql?(o)
208
+ self == o
209
+ end
210
+
211
+ # Calculates hash code according to all attributes.
212
+ # @return [Fixnum] Hash code
213
+ def hash
214
+ [type, source, state, enrollment_id, token_reference_id, reason, number, expiration_month, expiration_year, cryptogram, card, metadata].hash
215
+ end
216
+
217
+ # Builds the object from hash
218
+ # @param [Hash] attributes Model attributes in the form of hash
219
+ # @return [Object] Returns the model itself
220
+ def build_from_hash(attributes)
221
+ return nil unless attributes.is_a?(Hash)
222
+ self.class.swagger_types.each_pair do |key, type|
223
+ if type =~ /\AArray<(.*)>/i
224
+ # check to ensure the input is an array given that the the attribute
225
+ # is documented as an array but the input is not
226
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
227
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
228
+ end
229
+ elsif !attributes[self.class.attribute_map[key]].nil?
230
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
231
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
232
+ end
233
+
234
+ self
235
+ end
236
+
237
+ # Deserializes the data based on type
238
+ # @param string type Data type
239
+ # @param string value Value to be deserialized
240
+ # @return [Object] Deserialized data
241
+ def _deserialize(type, value)
242
+ case type.to_sym
243
+ when :DateTime
244
+ DateTime.parse(value)
245
+ when :Date
246
+ Date.parse(value)
247
+ when :String
248
+ value.to_s
249
+ when :Integer
250
+ value.to_i
251
+ when :Float
252
+ value.to_f
253
+ when :BOOLEAN
254
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
255
+ true
256
+ else
257
+ false
258
+ end
259
+ when :Object
260
+ # generic object (usually a Hash), return directly
261
+ value
262
+ when /\AArray<(?<inner_type>.+)>\z/
263
+ inner_type = Regexp.last_match[:inner_type]
264
+ value.map { |v| _deserialize(inner_type, v) }
265
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
266
+ k_type = Regexp.last_match[:k_type]
267
+ v_type = Regexp.last_match[:v_type]
268
+ {}.tap do |hash|
269
+ value.each do |k, v|
270
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
271
+ end
272
+ end
273
+ else # model
274
+ temp_model = CyberSource.const_get(type).new
275
+ temp_model.build_from_hash(value)
276
+ end
277
+ end
278
+
279
+ # Returns the string representation of the object
280
+ # @return [String] String presentation of the object
281
+ def to_s
282
+ to_hash.to_s
283
+ end
284
+
285
+ # to_body is an alias to to_hash (backward compatibility)
286
+ # @return [Hash] Returns the object in the form of hash
287
+ def to_body
288
+ to_hash
289
+ end
290
+
291
+ # Returns the object in the form of hash
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = self.send(attr)
297
+ next if value.nil?
298
+ hash[param] = _to_hash(value)
299
+ end
300
+ hash
301
+ end
302
+
303
+ # Outputs non-array value in the form of hash
304
+ # For object, use to_hash. Otherwise, just return the value
305
+ # @param [Object] value Any valid value
306
+ # @return [Hash] Returns the value in the form of hash
307
+ def _to_hash(value)
308
+ if value.is_a?(Array)
309
+ value.compact.map { |v| _to_hash(v) }
310
+ elsif value.is_a?(Hash)
311
+ {}.tap do |hash|
312
+ value.each { |k, v| hash[k] = _to_hash(v) }
313
+ end
314
+ elsif value.respond_to? :to_hash
315
+ value.to_hash
316
+ else
317
+ value
318
+ end
319
+ end
320
+ end
321
+ end