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,326 +1,326 @@
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 TssV2TransactionsGet200ResponseProcessingInformation
16
- # Bin Source File Identifier. Possible values: - itmx - rupay
17
- attr_accessor :bin_source
18
-
19
- # Indicates that the transaction includes industry-specific data. Possible Values: - `airline` - `restaurant` - `lodging` - `auto_rental` - `transit` - `healthcare_medical` - `healthcare_transit` - `transit` #### Card Present, Airlines and Auto Rental You must set this field to `airline` in order for airline data to be sent to the processor. For example, if this field is not set to `airline` or is not included in the request, no airline data is sent to the processor. You must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field is not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor. You must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this field is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor. Restaurant data is supported only on CyberSource through VisaNet.
20
- attr_accessor :industry_data_type
21
-
22
- # Type of digital payment solution for the transaction.
23
- attr_accessor :payment_solution
24
-
25
- # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as \"moto\"
26
- attr_accessor :commerce_indicator
27
-
28
- # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as `moto`
29
- attr_accessor :commerce_indicator_label
30
-
31
- # Payouts transaction type. Required for OCT transactions. This field is a pass-through, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. **Note** When the request includes this field, this value overrides the information in your CyberSource account.
32
- attr_accessor :business_application_id
33
-
34
- attr_accessor :authorization_options
35
-
36
- attr_accessor :bank_transfer_options
37
-
38
- attr_accessor :capture_options
39
-
40
- # Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response.
41
- attr_accessor :reconciliation_id
42
-
43
- attr_accessor :japan_payment_options
44
-
45
- # Attribute mapping from ruby-style variable name to JSON key.
46
- def self.attribute_map
47
- {
48
- :'bin_source' => :'binSource',
49
- :'industry_data_type' => :'industryDataType',
50
- :'payment_solution' => :'paymentSolution',
51
- :'commerce_indicator' => :'commerceIndicator',
52
- :'commerce_indicator_label' => :'commerceIndicatorLabel',
53
- :'business_application_id' => :'businessApplicationId',
54
- :'authorization_options' => :'authorizationOptions',
55
- :'bank_transfer_options' => :'bankTransferOptions',
56
- :'capture_options' => :'captureOptions',
57
- :'reconciliation_id' => :'reconciliationId',
58
- :'japan_payment_options' => :'japanPaymentOptions'
59
- }
60
- end
61
-
62
- # Attribute mapping from JSON key to ruby-style variable name.
63
- def self.json_map
64
- {
65
- :'bin_source' => :'bin_source',
66
- :'industry_data_type' => :'industry_data_type',
67
- :'payment_solution' => :'payment_solution',
68
- :'commerce_indicator' => :'commerce_indicator',
69
- :'commerce_indicator_label' => :'commerce_indicator_label',
70
- :'business_application_id' => :'business_application_id',
71
- :'authorization_options' => :'authorization_options',
72
- :'bank_transfer_options' => :'bank_transfer_options',
73
- :'capture_options' => :'capture_options',
74
- :'reconciliation_id' => :'reconciliation_id',
75
- :'japan_payment_options' => :'japan_payment_options'
76
- }
77
- end
78
-
79
- # Attribute type mapping.
80
- def self.swagger_types
81
- {
82
- :'bin_source' => :'String',
83
- :'industry_data_type' => :'String',
84
- :'payment_solution' => :'String',
85
- :'commerce_indicator' => :'String',
86
- :'commerce_indicator_label' => :'String',
87
- :'business_application_id' => :'String',
88
- :'authorization_options' => :'TssV2TransactionsGet200ResponseProcessingInformationAuthorizationOptions',
89
- :'bank_transfer_options' => :'TssV2TransactionsGet200ResponseProcessingInformationBankTransferOptions',
90
- :'capture_options' => :'TssV2TransactionsGet200ResponseProcessingInformationCaptureOptions',
91
- :'reconciliation_id' => :'String',
92
- :'japan_payment_options' => :'TssV2TransactionsGet200ResponseProcessingInformationJapanPaymentOptions'
93
- }
94
- end
95
-
96
- # Initializes the object
97
- # @param [Hash] attributes Model attributes in the form of hash
98
- def initialize(attributes = {})
99
- return unless attributes.is_a?(Hash)
100
-
101
- # convert string to symbol for hash key
102
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
103
-
104
- if attributes.has_key?(:'binSource')
105
- self.bin_source = attributes[:'binSource']
106
- end
107
-
108
- if attributes.has_key?(:'industryDataType')
109
- self.industry_data_type = attributes[:'industryDataType']
110
- end
111
-
112
- if attributes.has_key?(:'paymentSolution')
113
- self.payment_solution = attributes[:'paymentSolution']
114
- end
115
-
116
- if attributes.has_key?(:'commerceIndicator')
117
- self.commerce_indicator = attributes[:'commerceIndicator']
118
- end
119
-
120
- if attributes.has_key?(:'commerceIndicatorLabel')
121
- self.commerce_indicator_label = attributes[:'commerceIndicatorLabel']
122
- end
123
-
124
- if attributes.has_key?(:'businessApplicationId')
125
- self.business_application_id = attributes[:'businessApplicationId']
126
- end
127
-
128
- if attributes.has_key?(:'authorizationOptions')
129
- self.authorization_options = attributes[:'authorizationOptions']
130
- end
131
-
132
- if attributes.has_key?(:'bankTransferOptions')
133
- self.bank_transfer_options = attributes[:'bankTransferOptions']
134
- end
135
-
136
- if attributes.has_key?(:'captureOptions')
137
- self.capture_options = attributes[:'captureOptions']
138
- end
139
-
140
- if attributes.has_key?(:'reconciliationId')
141
- self.reconciliation_id = attributes[:'reconciliationId']
142
- end
143
-
144
- if attributes.has_key?(:'japanPaymentOptions')
145
- self.japan_payment_options = attributes[:'japanPaymentOptions']
146
- end
147
- end
148
-
149
- # Show invalid properties with the reasons. Usually used together with valid?
150
- # @return Array for valid properties with the reasons
151
- def list_invalid_properties
152
- invalid_properties = Array.new
153
- invalid_properties
154
- end
155
-
156
- # Check to see if the all the properties in the model are valid
157
- # @return true if the model is valid
158
- def valid?
159
- true
160
- end
161
-
162
- # Custom attribute writer method with validation
163
- # @param [Object] industry_data_type Value to be assigned
164
- def industry_data_type=(industry_data_type)
165
- @industry_data_type = industry_data_type
166
- end
167
-
168
- # Custom attribute writer method with validation
169
- # @param [Object] payment_solution Value to be assigned
170
- def payment_solution=(payment_solution)
171
- @payment_solution = payment_solution
172
- end
173
-
174
- # Custom attribute writer method with validation
175
- # @param [Object] commerce_indicator Value to be assigned
176
- def commerce_indicator=(commerce_indicator)
177
- @commerce_indicator = commerce_indicator
178
- end
179
-
180
- # Custom attribute writer method with validation
181
- # @param [Object] commerce_indicator_label Value to be assigned
182
- def commerce_indicator_label=(commerce_indicator_label)
183
- @commerce_indicator_label = commerce_indicator_label
184
- end
185
-
186
- # Custom attribute writer method with validation
187
- # @param [Object] reconciliation_id Value to be assigned
188
- def reconciliation_id=(reconciliation_id)
189
- @reconciliation_id = reconciliation_id
190
- end
191
-
192
- # Checks equality by comparing each attribute.
193
- # @param [Object] Object to be compared
194
- def ==(o)
195
- return true if self.equal?(o)
196
- self.class == o.class &&
197
- bin_source == o.bin_source &&
198
- industry_data_type == o.industry_data_type &&
199
- payment_solution == o.payment_solution &&
200
- commerce_indicator == o.commerce_indicator &&
201
- commerce_indicator_label == o.commerce_indicator_label &&
202
- business_application_id == o.business_application_id &&
203
- authorization_options == o.authorization_options &&
204
- bank_transfer_options == o.bank_transfer_options &&
205
- capture_options == o.capture_options &&
206
- reconciliation_id == o.reconciliation_id &&
207
- japan_payment_options == o.japan_payment_options
208
- end
209
-
210
- # @see the `==` method
211
- # @param [Object] Object to be compared
212
- def eql?(o)
213
- self == o
214
- end
215
-
216
- # Calculates hash code according to all attributes.
217
- # @return [Fixnum] Hash code
218
- def hash
219
- [bin_source, industry_data_type, payment_solution, commerce_indicator, commerce_indicator_label, business_application_id, authorization_options, bank_transfer_options, capture_options, reconciliation_id, japan_payment_options].hash
220
- end
221
-
222
- # Builds the object from hash
223
- # @param [Hash] attributes Model attributes in the form of hash
224
- # @return [Object] Returns the model itself
225
- def build_from_hash(attributes)
226
- return nil unless attributes.is_a?(Hash)
227
- self.class.swagger_types.each_pair do |key, type|
228
- if type =~ /\AArray<(.*)>/i
229
- # check to ensure the input is an array given that the the attribute
230
- # is documented as an array but the input is not
231
- if attributes[self.class.attribute_map[key]].is_a?(Array)
232
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
233
- end
234
- elsif !attributes[self.class.attribute_map[key]].nil?
235
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
236
- end # or else data not found in attributes(hash), not an issue as the data can be optional
237
- end
238
-
239
- self
240
- end
241
-
242
- # Deserializes the data based on type
243
- # @param string type Data type
244
- # @param string value Value to be deserialized
245
- # @return [Object] Deserialized data
246
- def _deserialize(type, value)
247
- case type.to_sym
248
- when :DateTime
249
- DateTime.parse(value)
250
- when :Date
251
- Date.parse(value)
252
- when :String
253
- value.to_s
254
- when :Integer
255
- value.to_i
256
- when :Float
257
- value.to_f
258
- when :BOOLEAN
259
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
260
- true
261
- else
262
- false
263
- end
264
- when :Object
265
- # generic object (usually a Hash), return directly
266
- value
267
- when /\AArray<(?<inner_type>.+)>\z/
268
- inner_type = Regexp.last_match[:inner_type]
269
- value.map { |v| _deserialize(inner_type, v) }
270
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
271
- k_type = Regexp.last_match[:k_type]
272
- v_type = Regexp.last_match[:v_type]
273
- {}.tap do |hash|
274
- value.each do |k, v|
275
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
276
- end
277
- end
278
- else # model
279
- temp_model = CyberSource.const_get(type).new
280
- temp_model.build_from_hash(value)
281
- end
282
- end
283
-
284
- # Returns the string representation of the object
285
- # @return [String] String presentation of the object
286
- def to_s
287
- to_hash.to_s
288
- end
289
-
290
- # to_body is an alias to to_hash (backward compatibility)
291
- # @return [Hash] Returns the object in the form of hash
292
- def to_body
293
- to_hash
294
- end
295
-
296
- # Returns the object in the form of hash
297
- # @return [Hash] Returns the object in the form of hash
298
- def to_hash
299
- hash = {}
300
- self.class.attribute_map.each_pair do |attr, param|
301
- value = self.send(attr)
302
- next if value.nil?
303
- hash[param] = _to_hash(value)
304
- end
305
- hash
306
- end
307
-
308
- # Outputs non-array value in the form of hash
309
- # For object, use to_hash. Otherwise, just return the value
310
- # @param [Object] value Any valid value
311
- # @return [Hash] Returns the value in the form of hash
312
- def _to_hash(value)
313
- if value.is_a?(Array)
314
- value.compact.map { |v| _to_hash(v) }
315
- elsif value.is_a?(Hash)
316
- {}.tap do |hash|
317
- value.each { |k, v| hash[k] = _to_hash(v) }
318
- end
319
- elsif value.respond_to? :to_hash
320
- value.to_hash
321
- else
322
- value
323
- end
324
- end
325
- end
326
- 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 TssV2TransactionsGet200ResponseProcessingInformation
16
+ # Bin Source File Identifier. Possible values: - itmx - rupay
17
+ attr_accessor :bin_source
18
+
19
+ # Indicates that the transaction includes industry-specific data. Possible Values: - `airline` - `restaurant` - `lodging` - `auto_rental` - `transit` - `healthcare_medical` - `healthcare_transit` - `transit` #### Card Present, Airlines and Auto Rental You must set this field to `airline` in order for airline data to be sent to the processor. For example, if this field is not set to `airline` or is not included in the request, no airline data is sent to the processor. You must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field is not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor. You must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this field is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor. Restaurant data is supported only on CyberSource through VisaNet.
20
+ attr_accessor :industry_data_type
21
+
22
+ # Type of digital payment solution for the transaction.
23
+ attr_accessor :payment_solution
24
+
25
+ # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as \"moto\"
26
+ attr_accessor :commerce_indicator
27
+
28
+ # Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. The list of valid values in this field depends on your processor. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as `moto`
29
+ attr_accessor :commerce_indicator_label
30
+
31
+ # Required for AFT and OCT transactions. Given below is a list of all the BAI values available. However, the processors may support only few specific BAI values. - AA : Account-to-account - BB : Supplier Payments - BI : Bank-Initiated P2P Money Transfer - BP : Non-Card Bill Pay/Bill Pay - CD : Cash Deposit - CP : Credit card Bill Payment - FD : Funds disbursement - FT : Funds transfer - GD : Government Disbursement - GP : Gambling payout (non-online gambling) - LO : Loyalty credits and rebates - MD : Merchant Settlement - OG : Online Gambling Payout - PD : Payroll and pension disbursement - PP : Person-to-Person or Peer-to-Peer - TU : Top up, prepaid load - WT : Digital wallet
32
+ attr_accessor :business_application_id
33
+
34
+ attr_accessor :authorization_options
35
+
36
+ attr_accessor :bank_transfer_options
37
+
38
+ attr_accessor :capture_options
39
+
40
+ # Reference number for the transaction. Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource. The actual value used in the request to the processor is provided back to you by Cybersource in the response.
41
+ attr_accessor :reconciliation_id
42
+
43
+ attr_accessor :japan_payment_options
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'bin_source' => :'binSource',
49
+ :'industry_data_type' => :'industryDataType',
50
+ :'payment_solution' => :'paymentSolution',
51
+ :'commerce_indicator' => :'commerceIndicator',
52
+ :'commerce_indicator_label' => :'commerceIndicatorLabel',
53
+ :'business_application_id' => :'businessApplicationId',
54
+ :'authorization_options' => :'authorizationOptions',
55
+ :'bank_transfer_options' => :'bankTransferOptions',
56
+ :'capture_options' => :'captureOptions',
57
+ :'reconciliation_id' => :'reconciliationId',
58
+ :'japan_payment_options' => :'japanPaymentOptions'
59
+ }
60
+ end
61
+
62
+ # Attribute mapping from JSON key to ruby-style variable name.
63
+ def self.json_map
64
+ {
65
+ :'bin_source' => :'bin_source',
66
+ :'industry_data_type' => :'industry_data_type',
67
+ :'payment_solution' => :'payment_solution',
68
+ :'commerce_indicator' => :'commerce_indicator',
69
+ :'commerce_indicator_label' => :'commerce_indicator_label',
70
+ :'business_application_id' => :'business_application_id',
71
+ :'authorization_options' => :'authorization_options',
72
+ :'bank_transfer_options' => :'bank_transfer_options',
73
+ :'capture_options' => :'capture_options',
74
+ :'reconciliation_id' => :'reconciliation_id',
75
+ :'japan_payment_options' => :'japan_payment_options'
76
+ }
77
+ end
78
+
79
+ # Attribute type mapping.
80
+ def self.swagger_types
81
+ {
82
+ :'bin_source' => :'String',
83
+ :'industry_data_type' => :'String',
84
+ :'payment_solution' => :'String',
85
+ :'commerce_indicator' => :'String',
86
+ :'commerce_indicator_label' => :'String',
87
+ :'business_application_id' => :'String',
88
+ :'authorization_options' => :'TssV2TransactionsGet200ResponseProcessingInformationAuthorizationOptions',
89
+ :'bank_transfer_options' => :'TssV2TransactionsGet200ResponseProcessingInformationBankTransferOptions',
90
+ :'capture_options' => :'TssV2TransactionsGet200ResponseProcessingInformationCaptureOptions',
91
+ :'reconciliation_id' => :'String',
92
+ :'japan_payment_options' => :'TssV2TransactionsGet200ResponseProcessingInformationJapanPaymentOptions'
93
+ }
94
+ end
95
+
96
+ # Initializes the object
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ def initialize(attributes = {})
99
+ return unless attributes.is_a?(Hash)
100
+
101
+ # convert string to symbol for hash key
102
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
103
+
104
+ if attributes.has_key?(:'binSource')
105
+ self.bin_source = attributes[:'binSource']
106
+ end
107
+
108
+ if attributes.has_key?(:'industryDataType')
109
+ self.industry_data_type = attributes[:'industryDataType']
110
+ end
111
+
112
+ if attributes.has_key?(:'paymentSolution')
113
+ self.payment_solution = attributes[:'paymentSolution']
114
+ end
115
+
116
+ if attributes.has_key?(:'commerceIndicator')
117
+ self.commerce_indicator = attributes[:'commerceIndicator']
118
+ end
119
+
120
+ if attributes.has_key?(:'commerceIndicatorLabel')
121
+ self.commerce_indicator_label = attributes[:'commerceIndicatorLabel']
122
+ end
123
+
124
+ if attributes.has_key?(:'businessApplicationId')
125
+ self.business_application_id = attributes[:'businessApplicationId']
126
+ end
127
+
128
+ if attributes.has_key?(:'authorizationOptions')
129
+ self.authorization_options = attributes[:'authorizationOptions']
130
+ end
131
+
132
+ if attributes.has_key?(:'bankTransferOptions')
133
+ self.bank_transfer_options = attributes[:'bankTransferOptions']
134
+ end
135
+
136
+ if attributes.has_key?(:'captureOptions')
137
+ self.capture_options = attributes[:'captureOptions']
138
+ end
139
+
140
+ if attributes.has_key?(:'reconciliationId')
141
+ self.reconciliation_id = attributes[:'reconciliationId']
142
+ end
143
+
144
+ if attributes.has_key?(:'japanPaymentOptions')
145
+ self.japan_payment_options = attributes[:'japanPaymentOptions']
146
+ end
147
+ end
148
+
149
+ # Show invalid properties with the reasons. Usually used together with valid?
150
+ # @return Array for valid properties with the reasons
151
+ def list_invalid_properties
152
+ invalid_properties = Array.new
153
+ invalid_properties
154
+ end
155
+
156
+ # Check to see if the all the properties in the model are valid
157
+ # @return true if the model is valid
158
+ def valid?
159
+ true
160
+ end
161
+
162
+ # Custom attribute writer method with validation
163
+ # @param [Object] industry_data_type Value to be assigned
164
+ def industry_data_type=(industry_data_type)
165
+ @industry_data_type = industry_data_type
166
+ end
167
+
168
+ # Custom attribute writer method with validation
169
+ # @param [Object] payment_solution Value to be assigned
170
+ def payment_solution=(payment_solution)
171
+ @payment_solution = payment_solution
172
+ end
173
+
174
+ # Custom attribute writer method with validation
175
+ # @param [Object] commerce_indicator Value to be assigned
176
+ def commerce_indicator=(commerce_indicator)
177
+ @commerce_indicator = commerce_indicator
178
+ end
179
+
180
+ # Custom attribute writer method with validation
181
+ # @param [Object] commerce_indicator_label Value to be assigned
182
+ def commerce_indicator_label=(commerce_indicator_label)
183
+ @commerce_indicator_label = commerce_indicator_label
184
+ end
185
+
186
+ # Custom attribute writer method with validation
187
+ # @param [Object] reconciliation_id Value to be assigned
188
+ def reconciliation_id=(reconciliation_id)
189
+ @reconciliation_id = reconciliation_id
190
+ end
191
+
192
+ # Checks equality by comparing each attribute.
193
+ # @param [Object] Object to be compared
194
+ def ==(o)
195
+ return true if self.equal?(o)
196
+ self.class == o.class &&
197
+ bin_source == o.bin_source &&
198
+ industry_data_type == o.industry_data_type &&
199
+ payment_solution == o.payment_solution &&
200
+ commerce_indicator == o.commerce_indicator &&
201
+ commerce_indicator_label == o.commerce_indicator_label &&
202
+ business_application_id == o.business_application_id &&
203
+ authorization_options == o.authorization_options &&
204
+ bank_transfer_options == o.bank_transfer_options &&
205
+ capture_options == o.capture_options &&
206
+ reconciliation_id == o.reconciliation_id &&
207
+ japan_payment_options == o.japan_payment_options
208
+ end
209
+
210
+ # @see the `==` method
211
+ # @param [Object] Object to be compared
212
+ def eql?(o)
213
+ self == o
214
+ end
215
+
216
+ # Calculates hash code according to all attributes.
217
+ # @return [Fixnum] Hash code
218
+ def hash
219
+ [bin_source, industry_data_type, payment_solution, commerce_indicator, commerce_indicator_label, business_application_id, authorization_options, bank_transfer_options, capture_options, reconciliation_id, japan_payment_options].hash
220
+ end
221
+
222
+ # Builds the object from hash
223
+ # @param [Hash] attributes Model attributes in the form of hash
224
+ # @return [Object] Returns the model itself
225
+ def build_from_hash(attributes)
226
+ return nil unless attributes.is_a?(Hash)
227
+ self.class.swagger_types.each_pair do |key, type|
228
+ if type =~ /\AArray<(.*)>/i
229
+ # check to ensure the input is an array given that the the attribute
230
+ # is documented as an array but the input is not
231
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
232
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
233
+ end
234
+ elsif !attributes[self.class.attribute_map[key]].nil?
235
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
236
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
237
+ end
238
+
239
+ self
240
+ end
241
+
242
+ # Deserializes the data based on type
243
+ # @param string type Data type
244
+ # @param string value Value to be deserialized
245
+ # @return [Object] Deserialized data
246
+ def _deserialize(type, value)
247
+ case type.to_sym
248
+ when :DateTime
249
+ DateTime.parse(value)
250
+ when :Date
251
+ Date.parse(value)
252
+ when :String
253
+ value.to_s
254
+ when :Integer
255
+ value.to_i
256
+ when :Float
257
+ value.to_f
258
+ when :BOOLEAN
259
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
260
+ true
261
+ else
262
+ false
263
+ end
264
+ when :Object
265
+ # generic object (usually a Hash), return directly
266
+ value
267
+ when /\AArray<(?<inner_type>.+)>\z/
268
+ inner_type = Regexp.last_match[:inner_type]
269
+ value.map { |v| _deserialize(inner_type, v) }
270
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
271
+ k_type = Regexp.last_match[:k_type]
272
+ v_type = Regexp.last_match[:v_type]
273
+ {}.tap do |hash|
274
+ value.each do |k, v|
275
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
276
+ end
277
+ end
278
+ else # model
279
+ temp_model = CyberSource.const_get(type).new
280
+ temp_model.build_from_hash(value)
281
+ end
282
+ end
283
+
284
+ # Returns the string representation of the object
285
+ # @return [String] String presentation of the object
286
+ def to_s
287
+ to_hash.to_s
288
+ end
289
+
290
+ # to_body is an alias to to_hash (backward compatibility)
291
+ # @return [Hash] Returns the object in the form of hash
292
+ def to_body
293
+ to_hash
294
+ end
295
+
296
+ # Returns the object in the form of hash
297
+ # @return [Hash] Returns the object in the form of hash
298
+ def to_hash
299
+ hash = {}
300
+ self.class.attribute_map.each_pair do |attr, param|
301
+ value = self.send(attr)
302
+ next if value.nil?
303
+ hash[param] = _to_hash(value)
304
+ end
305
+ hash
306
+ end
307
+
308
+ # Outputs non-array value in the form of hash
309
+ # For object, use to_hash. Otherwise, just return the value
310
+ # @param [Object] value Any valid value
311
+ # @return [Hash] Returns the value in the form of hash
312
+ def _to_hash(value)
313
+ if value.is_a?(Array)
314
+ value.compact.map { |v| _to_hash(v) }
315
+ elsif value.is_a?(Hash)
316
+ {}.tap do |hash|
317
+ value.each { |k, v| hash[k] = _to_hash(v) }
318
+ end
319
+ elsif value.respond_to? :to_hash
320
+ value.to_hash
321
+ else
322
+ value
323
+ end
324
+ end
325
+ end
326
+ end