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,363 +1,363 @@
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
- # This object contains recurring payment information.
16
- class Ptsv2paymentsRecurringPaymentInformation
17
- # The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD` **Note** This field is required for recurring transactions.
18
- attr_accessor :end_date
19
-
20
- # Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168 Example values accepted (31 days): - 31 - 031 - 0031 **Note** This field is required for recurring transactions.
21
- attr_accessor :frequency
22
-
23
- # Total number of payments for the duration of the recurring subscription.
24
- attr_accessor :number_of_payments
25
-
26
- # Date of original purchase. Required for recurring transactions. Format: `YYYY-MM-DDTHH:MM:SSZ` **Note**: If this field is empty, the current date is used.
27
- attr_accessor :original_purchase_date
28
-
29
- # This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. This field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc
30
- attr_accessor :sequence_number
31
-
32
- # This contains the type of recurring payment. Valid Values : 1 - Registration/First transaction 2 - Subsequent transaction 3 - Modification 4 - Cancellation
33
- attr_accessor :type
34
-
35
- # This value indicates how often a recurring payment occurs. Valid Values : • 01 (Daily) • 02 (Twice weekly) • 03 (Weekly) • 04 (Ten days) • 05 (Fortnightly) • 06 (Monthly) • 07 (Every two months) • 08 (Trimester) • 09 (Quarterly) • 10 (Twice yearly) • 11 (Annually) • 12 (Unscheduled)
36
- attr_accessor :occurrence
37
-
38
- # This tag will contain a value that indicates whether or not the recurring payment transaction has been validated. Valid values : 0- Not validated 1- Validated
39
- attr_accessor :validation_indicator
40
-
41
- # Indicates recurring amount type agreed by the cardholder Valid Values : 1- Fixed amount recurring payment 2- Recurring payment with maximum amount
42
- attr_accessor :amount_type
43
-
44
- # This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount will be specified in Field 49—Currency Code,Transaction.
45
- attr_accessor :maximum_amount
46
-
47
- # This will contain a unique reference number for the recurring payment transaction.
48
- attr_accessor :reference_number
49
-
50
- # Attribute mapping from ruby-style variable name to JSON key.
51
- def self.attribute_map
52
- {
53
- :'end_date' => :'endDate',
54
- :'frequency' => :'frequency',
55
- :'number_of_payments' => :'numberOfPayments',
56
- :'original_purchase_date' => :'originalPurchaseDate',
57
- :'sequence_number' => :'sequenceNumber',
58
- :'type' => :'type',
59
- :'occurrence' => :'occurrence',
60
- :'validation_indicator' => :'validationIndicator',
61
- :'amount_type' => :'amountType',
62
- :'maximum_amount' => :'maximumAmount',
63
- :'reference_number' => :'referenceNumber'
64
- }
65
- end
66
-
67
- # Attribute mapping from JSON key to ruby-style variable name.
68
- def self.json_map
69
- {
70
- :'end_date' => :'end_date',
71
- :'frequency' => :'frequency',
72
- :'number_of_payments' => :'number_of_payments',
73
- :'original_purchase_date' => :'original_purchase_date',
74
- :'sequence_number' => :'sequence_number',
75
- :'type' => :'type',
76
- :'occurrence' => :'occurrence',
77
- :'validation_indicator' => :'validation_indicator',
78
- :'amount_type' => :'amount_type',
79
- :'maximum_amount' => :'maximum_amount',
80
- :'reference_number' => :'reference_number'
81
- }
82
- end
83
-
84
- # Attribute type mapping.
85
- def self.swagger_types
86
- {
87
- :'end_date' => :'String',
88
- :'frequency' => :'Integer',
89
- :'number_of_payments' => :'Integer',
90
- :'original_purchase_date' => :'String',
91
- :'sequence_number' => :'Integer',
92
- :'type' => :'String',
93
- :'occurrence' => :'String',
94
- :'validation_indicator' => :'String',
95
- :'amount_type' => :'String',
96
- :'maximum_amount' => :'String',
97
- :'reference_number' => :'String'
98
- }
99
- end
100
-
101
- # Initializes the object
102
- # @param [Hash] attributes Model attributes in the form of hash
103
- def initialize(attributes = {})
104
- return unless attributes.is_a?(Hash)
105
-
106
- # convert string to symbol for hash key
107
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
108
-
109
- if attributes.has_key?(:'endDate')
110
- self.end_date = attributes[:'endDate']
111
- end
112
-
113
- if attributes.has_key?(:'frequency')
114
- self.frequency = attributes[:'frequency']
115
- end
116
-
117
- if attributes.has_key?(:'numberOfPayments')
118
- self.number_of_payments = attributes[:'numberOfPayments']
119
- end
120
-
121
- if attributes.has_key?(:'originalPurchaseDate')
122
- self.original_purchase_date = attributes[:'originalPurchaseDate']
123
- end
124
-
125
- if attributes.has_key?(:'sequenceNumber')
126
- self.sequence_number = attributes[:'sequenceNumber']
127
- end
128
-
129
- if attributes.has_key?(:'type')
130
- self.type = attributes[:'type']
131
- end
132
-
133
- if attributes.has_key?(:'occurrence')
134
- self.occurrence = attributes[:'occurrence']
135
- end
136
-
137
- if attributes.has_key?(:'validationIndicator')
138
- self.validation_indicator = attributes[:'validationIndicator']
139
- end
140
-
141
- if attributes.has_key?(:'amountType')
142
- self.amount_type = attributes[:'amountType']
143
- end
144
-
145
- if attributes.has_key?(:'maximumAmount')
146
- self.maximum_amount = attributes[:'maximumAmount']
147
- end
148
-
149
- if attributes.has_key?(:'referenceNumber')
150
- self.reference_number = attributes[:'referenceNumber']
151
- end
152
- end
153
-
154
- # Show invalid properties with the reasons. Usually used together with valid?
155
- # @return Array for valid properties with the reasons
156
- def list_invalid_properties
157
- invalid_properties = Array.new
158
- if @end_date.nil?
159
- invalid_properties.push('invalid value for "end_date", end_date cannot be nil.')
160
- end
161
-
162
- if @frequency.nil?
163
- invalid_properties.push('invalid value for "frequency", frequency cannot be nil.')
164
- end
165
-
166
- invalid_properties
167
- end
168
-
169
- # Check to see if the all the properties in the model are valid
170
- # @return true if the model is valid
171
- def valid?
172
- return false if @end_date.nil?
173
- return false if @frequency.nil?
174
- true
175
- end
176
-
177
- # Custom attribute writer method with validation
178
- # @param [Object] end_date Value to be assigned
179
- def end_date=(end_date)
180
- #if end_date.nil?
181
- #fail ArgumentError, 'end_date cannot be nil'
182
- #end
183
-
184
- @end_date = end_date
185
- end
186
-
187
- # Custom attribute writer method with validation
188
- # @param [Object] original_purchase_date Value to be assigned
189
- def original_purchase_date=(original_purchase_date)
190
- @original_purchase_date = original_purchase_date
191
- end
192
-
193
- # Custom attribute writer method with validation
194
- # @param [Object] type Value to be assigned
195
- def type=(type)
196
- @type = type
197
- end
198
-
199
- # Custom attribute writer method with validation
200
- # @param [Object] occurrence Value to be assigned
201
- def occurrence=(occurrence)
202
- @occurrence = occurrence
203
- end
204
-
205
- # Custom attribute writer method with validation
206
- # @param [Object] validation_indicator Value to be assigned
207
- def validation_indicator=(validation_indicator)
208
- @validation_indicator = validation_indicator
209
- end
210
-
211
- # Custom attribute writer method with validation
212
- # @param [Object] amount_type Value to be assigned
213
- def amount_type=(amount_type)
214
- @amount_type = amount_type
215
- end
216
-
217
- # Custom attribute writer method with validation
218
- # @param [Object] maximum_amount Value to be assigned
219
- def maximum_amount=(maximum_amount)
220
- @maximum_amount = maximum_amount
221
- end
222
-
223
- # Custom attribute writer method with validation
224
- # @param [Object] reference_number Value to be assigned
225
- def reference_number=(reference_number)
226
- @reference_number = reference_number
227
- end
228
-
229
- # Checks equality by comparing each attribute.
230
- # @param [Object] Object to be compared
231
- def ==(o)
232
- return true if self.equal?(o)
233
- self.class == o.class &&
234
- end_date == o.end_date &&
235
- frequency == o.frequency &&
236
- number_of_payments == o.number_of_payments &&
237
- original_purchase_date == o.original_purchase_date &&
238
- sequence_number == o.sequence_number &&
239
- type == o.type &&
240
- occurrence == o.occurrence &&
241
- validation_indicator == o.validation_indicator &&
242
- amount_type == o.amount_type &&
243
- maximum_amount == o.maximum_amount &&
244
- reference_number == o.reference_number
245
- end
246
-
247
- # @see the `==` method
248
- # @param [Object] Object to be compared
249
- def eql?(o)
250
- self == o
251
- end
252
-
253
- # Calculates hash code according to all attributes.
254
- # @return [Fixnum] Hash code
255
- def hash
256
- [end_date, frequency, number_of_payments, original_purchase_date, sequence_number, type, occurrence, validation_indicator, amount_type, maximum_amount, reference_number].hash
257
- end
258
-
259
- # Builds the object from hash
260
- # @param [Hash] attributes Model attributes in the form of hash
261
- # @return [Object] Returns the model itself
262
- def build_from_hash(attributes)
263
- return nil unless attributes.is_a?(Hash)
264
- self.class.swagger_types.each_pair do |key, type|
265
- if type =~ /\AArray<(.*)>/i
266
- # check to ensure the input is an array given that the the attribute
267
- # is documented as an array but the input is not
268
- if attributes[self.class.attribute_map[key]].is_a?(Array)
269
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
270
- end
271
- elsif !attributes[self.class.attribute_map[key]].nil?
272
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
273
- end # or else data not found in attributes(hash), not an issue as the data can be optional
274
- end
275
-
276
- self
277
- end
278
-
279
- # Deserializes the data based on type
280
- # @param string type Data type
281
- # @param string value Value to be deserialized
282
- # @return [Object] Deserialized data
283
- def _deserialize(type, value)
284
- case type.to_sym
285
- when :DateTime
286
- DateTime.parse(value)
287
- when :Date
288
- Date.parse(value)
289
- when :String
290
- value.to_s
291
- when :Integer
292
- value.to_i
293
- when :Float
294
- value.to_f
295
- when :BOOLEAN
296
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
297
- true
298
- else
299
- false
300
- end
301
- when :Object
302
- # generic object (usually a Hash), return directly
303
- value
304
- when /\AArray<(?<inner_type>.+)>\z/
305
- inner_type = Regexp.last_match[:inner_type]
306
- value.map { |v| _deserialize(inner_type, v) }
307
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
308
- k_type = Regexp.last_match[:k_type]
309
- v_type = Regexp.last_match[:v_type]
310
- {}.tap do |hash|
311
- value.each do |k, v|
312
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
313
- end
314
- end
315
- else # model
316
- temp_model = CyberSource.const_get(type).new
317
- temp_model.build_from_hash(value)
318
- end
319
- end
320
-
321
- # Returns the string representation of the object
322
- # @return [String] String presentation of the object
323
- def to_s
324
- to_hash.to_s
325
- end
326
-
327
- # to_body is an alias to to_hash (backward compatibility)
328
- # @return [Hash] Returns the object in the form of hash
329
- def to_body
330
- to_hash
331
- end
332
-
333
- # Returns the object in the form of hash
334
- # @return [Hash] Returns the object in the form of hash
335
- def to_hash
336
- hash = {}
337
- self.class.attribute_map.each_pair do |attr, param|
338
- value = self.send(attr)
339
- next if value.nil?
340
- hash[param] = _to_hash(value)
341
- end
342
- hash
343
- end
344
-
345
- # Outputs non-array value in the form of hash
346
- # For object, use to_hash. Otherwise, just return the value
347
- # @param [Object] value Any valid value
348
- # @return [Hash] Returns the value in the form of hash
349
- def _to_hash(value)
350
- if value.is_a?(Array)
351
- value.compact.map { |v| _to_hash(v) }
352
- elsif value.is_a?(Hash)
353
- {}.tap do |hash|
354
- value.each { |k, v| hash[k] = _to_hash(v) }
355
- end
356
- elsif value.respond_to? :to_hash
357
- value.to_hash
358
- else
359
- value
360
- end
361
- end
362
- end
363
- 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
+ # This object contains recurring payment information.
16
+ class Ptsv2paymentsRecurringPaymentInformation
17
+ # The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD` **Note** This field is required for recurring transactions.
18
+ attr_accessor :end_date
19
+
20
+ # Integer value indicating the minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months. Example: 6 months = 168 Example values accepted (31 days): - 31 - 031 - 0031 **Note** This field is required for recurring transactions.
21
+ attr_accessor :frequency
22
+
23
+ # Total number of payments for the duration of the recurring subscription.
24
+ attr_accessor :number_of_payments
25
+
26
+ # Date of original purchase. Required for recurring transactions. Format: `YYYY-MM-DDTHH:MM:SSZ` **Note**: If this field is empty, the current date is used.
27
+ attr_accessor :original_purchase_date
28
+
29
+ # This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. This field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc
30
+ attr_accessor :sequence_number
31
+
32
+ # This contains the type of recurring payment. Valid Values : 1 - Registration/First transaction 2 - Subsequent transaction 3 - Modification 4 - Cancellation
33
+ attr_accessor :type
34
+
35
+ # This value indicates how often a recurring payment occurs. Valid Values : • 01 (Daily) • 02 (Twice weekly) • 03 (Weekly) • 04 (Ten days) • 05 (Fortnightly) • 06 (Monthly) • 07 (Every two months) • 08 (Trimester) • 09 (Quarterly) • 10 (Twice yearly) • 11 (Annually) • 12 (Unscheduled)
36
+ attr_accessor :occurrence
37
+
38
+ # This tag will contain a value that indicates whether or not the recurring payment transaction has been validated. Valid values : 0- Not validated 1- Validated
39
+ attr_accessor :validation_indicator
40
+
41
+ # Indicates recurring amount type agreed by the cardholder Valid Values : 1- Fixed amount recurring payment 2- Recurring payment with maximum amount
42
+ attr_accessor :amount_type
43
+
44
+ # This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount will be specified in Field 49—Currency Code,Transaction.
45
+ attr_accessor :maximum_amount
46
+
47
+ # This will contain a unique reference number for the recurring payment transaction.
48
+ attr_accessor :reference_number
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'end_date' => :'endDate',
54
+ :'frequency' => :'frequency',
55
+ :'number_of_payments' => :'numberOfPayments',
56
+ :'original_purchase_date' => :'originalPurchaseDate',
57
+ :'sequence_number' => :'sequenceNumber',
58
+ :'type' => :'type',
59
+ :'occurrence' => :'occurrence',
60
+ :'validation_indicator' => :'validationIndicator',
61
+ :'amount_type' => :'amountType',
62
+ :'maximum_amount' => :'maximumAmount',
63
+ :'reference_number' => :'referenceNumber'
64
+ }
65
+ end
66
+
67
+ # Attribute mapping from JSON key to ruby-style variable name.
68
+ def self.json_map
69
+ {
70
+ :'end_date' => :'end_date',
71
+ :'frequency' => :'frequency',
72
+ :'number_of_payments' => :'number_of_payments',
73
+ :'original_purchase_date' => :'original_purchase_date',
74
+ :'sequence_number' => :'sequence_number',
75
+ :'type' => :'type',
76
+ :'occurrence' => :'occurrence',
77
+ :'validation_indicator' => :'validation_indicator',
78
+ :'amount_type' => :'amount_type',
79
+ :'maximum_amount' => :'maximum_amount',
80
+ :'reference_number' => :'reference_number'
81
+ }
82
+ end
83
+
84
+ # Attribute type mapping.
85
+ def self.swagger_types
86
+ {
87
+ :'end_date' => :'String',
88
+ :'frequency' => :'Integer',
89
+ :'number_of_payments' => :'Integer',
90
+ :'original_purchase_date' => :'String',
91
+ :'sequence_number' => :'Integer',
92
+ :'type' => :'String',
93
+ :'occurrence' => :'String',
94
+ :'validation_indicator' => :'String',
95
+ :'amount_type' => :'String',
96
+ :'maximum_amount' => :'String',
97
+ :'reference_number' => :'String'
98
+ }
99
+ end
100
+
101
+ # Initializes the object
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ def initialize(attributes = {})
104
+ return unless attributes.is_a?(Hash)
105
+
106
+ # convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
108
+
109
+ if attributes.has_key?(:'endDate')
110
+ self.end_date = attributes[:'endDate']
111
+ end
112
+
113
+ if attributes.has_key?(:'frequency')
114
+ self.frequency = attributes[:'frequency']
115
+ end
116
+
117
+ if attributes.has_key?(:'numberOfPayments')
118
+ self.number_of_payments = attributes[:'numberOfPayments']
119
+ end
120
+
121
+ if attributes.has_key?(:'originalPurchaseDate')
122
+ self.original_purchase_date = attributes[:'originalPurchaseDate']
123
+ end
124
+
125
+ if attributes.has_key?(:'sequenceNumber')
126
+ self.sequence_number = attributes[:'sequenceNumber']
127
+ end
128
+
129
+ if attributes.has_key?(:'type')
130
+ self.type = attributes[:'type']
131
+ end
132
+
133
+ if attributes.has_key?(:'occurrence')
134
+ self.occurrence = attributes[:'occurrence']
135
+ end
136
+
137
+ if attributes.has_key?(:'validationIndicator')
138
+ self.validation_indicator = attributes[:'validationIndicator']
139
+ end
140
+
141
+ if attributes.has_key?(:'amountType')
142
+ self.amount_type = attributes[:'amountType']
143
+ end
144
+
145
+ if attributes.has_key?(:'maximumAmount')
146
+ self.maximum_amount = attributes[:'maximumAmount']
147
+ end
148
+
149
+ if attributes.has_key?(:'referenceNumber')
150
+ self.reference_number = attributes[:'referenceNumber']
151
+ end
152
+ end
153
+
154
+ # Show invalid properties with the reasons. Usually used together with valid?
155
+ # @return Array for valid properties with the reasons
156
+ def list_invalid_properties
157
+ invalid_properties = Array.new
158
+ if @end_date.nil?
159
+ invalid_properties.push('invalid value for "end_date", end_date cannot be nil.')
160
+ end
161
+
162
+ if @frequency.nil?
163
+ invalid_properties.push('invalid value for "frequency", frequency cannot be nil.')
164
+ end
165
+
166
+ invalid_properties
167
+ end
168
+
169
+ # Check to see if the all the properties in the model are valid
170
+ # @return true if the model is valid
171
+ def valid?
172
+ return false if @end_date.nil?
173
+ return false if @frequency.nil?
174
+ true
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param [Object] end_date Value to be assigned
179
+ def end_date=(end_date)
180
+ #if end_date.nil?
181
+ #fail ArgumentError, 'end_date cannot be nil'
182
+ #end
183
+
184
+ @end_date = end_date
185
+ end
186
+
187
+ # Custom attribute writer method with validation
188
+ # @param [Object] original_purchase_date Value to be assigned
189
+ def original_purchase_date=(original_purchase_date)
190
+ @original_purchase_date = original_purchase_date
191
+ end
192
+
193
+ # Custom attribute writer method with validation
194
+ # @param [Object] type Value to be assigned
195
+ def type=(type)
196
+ @type = type
197
+ end
198
+
199
+ # Custom attribute writer method with validation
200
+ # @param [Object] occurrence Value to be assigned
201
+ def occurrence=(occurrence)
202
+ @occurrence = occurrence
203
+ end
204
+
205
+ # Custom attribute writer method with validation
206
+ # @param [Object] validation_indicator Value to be assigned
207
+ def validation_indicator=(validation_indicator)
208
+ @validation_indicator = validation_indicator
209
+ end
210
+
211
+ # Custom attribute writer method with validation
212
+ # @param [Object] amount_type Value to be assigned
213
+ def amount_type=(amount_type)
214
+ @amount_type = amount_type
215
+ end
216
+
217
+ # Custom attribute writer method with validation
218
+ # @param [Object] maximum_amount Value to be assigned
219
+ def maximum_amount=(maximum_amount)
220
+ @maximum_amount = maximum_amount
221
+ end
222
+
223
+ # Custom attribute writer method with validation
224
+ # @param [Object] reference_number Value to be assigned
225
+ def reference_number=(reference_number)
226
+ @reference_number = reference_number
227
+ end
228
+
229
+ # Checks equality by comparing each attribute.
230
+ # @param [Object] Object to be compared
231
+ def ==(o)
232
+ return true if self.equal?(o)
233
+ self.class == o.class &&
234
+ end_date == o.end_date &&
235
+ frequency == o.frequency &&
236
+ number_of_payments == o.number_of_payments &&
237
+ original_purchase_date == o.original_purchase_date &&
238
+ sequence_number == o.sequence_number &&
239
+ type == o.type &&
240
+ occurrence == o.occurrence &&
241
+ validation_indicator == o.validation_indicator &&
242
+ amount_type == o.amount_type &&
243
+ maximum_amount == o.maximum_amount &&
244
+ reference_number == o.reference_number
245
+ end
246
+
247
+ # @see the `==` method
248
+ # @param [Object] Object to be compared
249
+ def eql?(o)
250
+ self == o
251
+ end
252
+
253
+ # Calculates hash code according to all attributes.
254
+ # @return [Fixnum] Hash code
255
+ def hash
256
+ [end_date, frequency, number_of_payments, original_purchase_date, sequence_number, type, occurrence, validation_indicator, amount_type, maximum_amount, reference_number].hash
257
+ end
258
+
259
+ # Builds the object from hash
260
+ # @param [Hash] attributes Model attributes in the form of hash
261
+ # @return [Object] Returns the model itself
262
+ def build_from_hash(attributes)
263
+ return nil unless attributes.is_a?(Hash)
264
+ self.class.swagger_types.each_pair do |key, type|
265
+ if type =~ /\AArray<(.*)>/i
266
+ # check to ensure the input is an array given that the the attribute
267
+ # is documented as an array but the input is not
268
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
269
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
270
+ end
271
+ elsif !attributes[self.class.attribute_map[key]].nil?
272
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
273
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
274
+ end
275
+
276
+ self
277
+ end
278
+
279
+ # Deserializes the data based on type
280
+ # @param string type Data type
281
+ # @param string value Value to be deserialized
282
+ # @return [Object] Deserialized data
283
+ def _deserialize(type, value)
284
+ case type.to_sym
285
+ when :DateTime
286
+ DateTime.parse(value)
287
+ when :Date
288
+ Date.parse(value)
289
+ when :String
290
+ value.to_s
291
+ when :Integer
292
+ value.to_i
293
+ when :Float
294
+ value.to_f
295
+ when :BOOLEAN
296
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
297
+ true
298
+ else
299
+ false
300
+ end
301
+ when :Object
302
+ # generic object (usually a Hash), return directly
303
+ value
304
+ when /\AArray<(?<inner_type>.+)>\z/
305
+ inner_type = Regexp.last_match[:inner_type]
306
+ value.map { |v| _deserialize(inner_type, v) }
307
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
308
+ k_type = Regexp.last_match[:k_type]
309
+ v_type = Regexp.last_match[:v_type]
310
+ {}.tap do |hash|
311
+ value.each do |k, v|
312
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
313
+ end
314
+ end
315
+ else # model
316
+ temp_model = CyberSource.const_get(type).new
317
+ temp_model.build_from_hash(value)
318
+ end
319
+ end
320
+
321
+ # Returns the string representation of the object
322
+ # @return [String] String presentation of the object
323
+ def to_s
324
+ to_hash.to_s
325
+ end
326
+
327
+ # to_body is an alias to to_hash (backward compatibility)
328
+ # @return [Hash] Returns the object in the form of hash
329
+ def to_body
330
+ to_hash
331
+ end
332
+
333
+ # Returns the object in the form of hash
334
+ # @return [Hash] Returns the object in the form of hash
335
+ def to_hash
336
+ hash = {}
337
+ self.class.attribute_map.each_pair do |attr, param|
338
+ value = self.send(attr)
339
+ next if value.nil?
340
+ hash[param] = _to_hash(value)
341
+ end
342
+ hash
343
+ end
344
+
345
+ # Outputs non-array value in the form of hash
346
+ # For object, use to_hash. Otherwise, just return the value
347
+ # @param [Object] value Any valid value
348
+ # @return [Hash] Returns the value in the form of hash
349
+ def _to_hash(value)
350
+ if value.is_a?(Array)
351
+ value.compact.map { |v| _to_hash(v) }
352
+ elsif value.is_a?(Hash)
353
+ {}.tap do |hash|
354
+ value.each { |k, v| hash[k] = _to_hash(v) }
355
+ end
356
+ elsif value.respond_to? :to_hash
357
+ value.to_hash
358
+ else
359
+ value
360
+ end
361
+ end
362
+ end
363
+ end