Class: CyberSourceMergedSpec::ProcessingInformation5

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/cyber_source_merged_spec/models/processing_information5.rb

Overview

ProcessingInformation5 Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(payment_solution: SKIP, reconciliation_id: SKIP, link_id: SKIP, report_group: SKIP, visa_checkout_id: SKIP, purchase_level: SKIP, industry_data_type: SKIP, digital_service_indicator: SKIP, issuer: SKIP, authorization_options: SKIP, capture_options: SKIP, loan_options: SKIP, pay_by_points_indicator: SKIP, action_list: SKIP, japan_payment_options: SKIP, additional_properties: nil) ⇒ ProcessingInformation5

Returns a new instance of ProcessingInformation5.



235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 235

def initialize(payment_solution: SKIP, reconciliation_id: SKIP,
               link_id: SKIP, report_group: SKIP, visa_checkout_id: SKIP,
               purchase_level: SKIP, industry_data_type: SKIP,
               digital_service_indicator: SKIP, issuer: SKIP,
               authorization_options: SKIP, capture_options: SKIP,
               loan_options: SKIP, pay_by_points_indicator: SKIP,
               action_list: SKIP, japan_payment_options: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @payment_solution = payment_solution unless payment_solution == SKIP
  @reconciliation_id = reconciliation_id unless reconciliation_id == SKIP
  @link_id = link_id unless link_id == SKIP
  @report_group = report_group unless report_group == SKIP
  @visa_checkout_id = visa_checkout_id unless visa_checkout_id == SKIP
  @purchase_level = purchase_level unless purchase_level == SKIP
  @industry_data_type = industry_data_type unless industry_data_type == SKIP
  unless digital_service_indicator == SKIP
    @digital_service_indicator =
      digital_service_indicator
  end
  @issuer = issuer unless issuer == SKIP
  @authorization_options = authorization_options unless authorization_options == SKIP
  @capture_options = capture_options unless capture_options == SKIP
  @loan_options = loan_options unless loan_options == SKIP
  @pay_by_points_indicator = pay_by_points_indicator unless pay_by_points_indicator == SKIP
  @action_list = action_list unless action_list == SKIP
  @japan_payment_options = japan_payment_options unless japan_payment_options == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#action_listArray[String]

Array of actions (one or more) to be included in the capture to invoke bundled services along with capture. Possible values :

  • AP_CAPTURE: Use this when Alternative Payment Capture service is requested.

Returns:

  • (Array[String])


178
179
180
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 178

def action_list
  @action_list
end

#authorization_optionsAuthorizationOptions3

Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. This field is used when the client is doing authorization with a different gateway and capture with CyberSource. This field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.

Used by

Capture Request Request field for force capture support when auth is done with a different gateway.



137
138
139
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 137

def authorization_options
  @authorization_options
end

#capture_optionsCaptureOptions2

Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. This field is used when the client is doing authorization with a different gateway and capture with CyberSource. This field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.

Used by

Capture Request Request field for force capture support when auth is done with a different gateway.

Returns:



150
151
152
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 150

def capture_options
  @capture_options
end

#digital_service_indicatorString

Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. This field is used when the client is doing authorization with a different gateway and capture with CyberSource. This field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.

Used by

Capture Request Request field for force capture support when auth is done with a different gateway.

Returns:

  • (String)


111
112
113
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 111

def digital_service_indicator
  @digital_service_indicator
end

#industry_data_typeString

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.

Returns:

  • (String)


98
99
100
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 98

def industry_data_type
  @industry_data_type
end

#issuerIssuer

Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. This field is used when the client is doing authorization with a different gateway and capture with CyberSource. This field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.

Used by

Capture Request Request field for force capture support when auth is done with a different gateway.

Returns:



124
125
126
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 124

def issuer
  @issuer
end

#japan_payment_optionsJapanPaymentOptions1

Array of actions (one or more) to be included in the capture to invoke bundled services along with capture. Possible values :

  • AP_CAPTURE: Use this when Alternative Payment Capture service is requested.


186
187
188
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 186

def japan_payment_options
  @japan_payment_options
end

Value that links the current authorization request to the original authorization request or previous declined Merchant Initiated Debt Recovery Transactions . Set this value to the ID that was returned in the reply message from the original authorization request or previous declined Merchant Initiated Debt Recovery Transactions. This value is used for:

  • Partial authorizations
  • Split shipments
  • Merchant Initiated Debt Recovery Transactions for Visa Platform Connect and China Union Pay merchants

Returns:

  • (String)


56
57
58
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 56

def link_id
  @link_id
end

#loan_optionsLoanOptions

Mastercard Digital Enablement Service (MDES) digital service indicators for force capture scenarios. This field is used when the client is doing authorization with a different gateway and capture with CyberSource. This field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.

Used by

Capture Request Request field for force capture support when auth is done with a different gateway.

Returns:



163
164
165
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 163

def loan_options
  @loan_options
end

#pay_by_points_indicatorTrueClass | FalseClass

Flag that indicates if the transaction is pay by points transaction true: Transaction uses loyalty points false: Transaction does not use loyalty points Default: false

Returns:

  • (TrueClass | FalseClass)


170
171
172
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 170

def pay_by_points_indicator
  @pay_by_points_indicator
end

#payment_solutionString

Type of digital payment solution for the transaction. Possible Values:

  • visacheckout: Visa Checkout. This value is required for Visa Checkout transactions. For details, see payment_solution field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifie lds/reference/all/rest/api-fields.pdf)
  • 001: Apple Pay.
  • 004: Cybersource In-App Solution.
  • 005: Masterpass. This value is required for Masterpass transactions on OmniPay Direct.
  • 006: Android Pay.
  • 007: Chase Pay.
  • 008: Samsung Pay.
  • 012: Google Pay.
  • 013: Cybersource P2PE Decryption
  • 014: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.
  • 015: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.
  • 027: Click to Pay.

Returns:

  • (String)


35
36
37
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 35

def payment_solution
  @payment_solution
end

#purchase_levelString

Set this field to 3 to indicate that the request includes Level III data.

Returns:

  • (String)


71
72
73
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 71

def purchase_level
  @purchase_level
end

#reconciliation_idString

Please check with Cybersource customer support to see if your merchant account is configured correctly so you can include this field in your request.

  • For Payouts: max length for FDCCompass is String (22).

Returns:

  • (String)


42
43
44
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 42

def reconciliation_id
  @reconciliation_id
end

#report_groupString

Attribute that lets you define custom grouping for your processor reports. This field is supported only for Worldpay VAP.

Returns:

  • (String)


61
62
63
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 61

def report_group
  @report_group
end

#visa_checkout_idString

Identifier for the Visa Checkout order. Visa Checkout provides a unique order ID for every transaction in the Visa Checkout callID field.

Returns:

  • (String)


67
68
69
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 67

def visa_checkout_id
  @visa_checkout_id
end

Class Method Details

.from_element(root) ⇒ Object



323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 323

def self.from_element(root)
  payment_solution = XmlUtilities.from_element(root, 'paymentSolution',
                                               String)
  reconciliation_id = XmlUtilities.from_element(root, 'reconciliationId',
                                                String)
  link_id = XmlUtilities.from_element(root, 'linkId', String)
  report_group = XmlUtilities.from_element(root, 'reportGroup', String)
  visa_checkout_id = XmlUtilities.from_element(root, 'visaCheckoutId',
                                               String)
  purchase_level = XmlUtilities.from_element(root, 'purchaseLevel', String)
  industry_data_type = XmlUtilities.from_element(root, 'industryDataType',
                                                 String)
  digital_service_indicator = XmlUtilities.from_element(
    root, 'digitalServiceIndicator', String
  )
  issuer = XmlUtilities.from_element(root, 'Issuer', Issuer)
  authorization_options = XmlUtilities.from_element(root,
                                                    'AuthorizationOptions3',
                                                    AuthorizationOptions3)
  capture_options = XmlUtilities.from_element(root, 'CaptureOptions2',
                                              CaptureOptions2)
  loan_options = XmlUtilities.from_element(root, 'LoanOptions', LoanOptions)
  pay_by_points_indicator = XmlUtilities.from_element(
    root, 'payByPointsIndicator', TrueClass
  )
  action_list = XmlUtilities.from_element_to_array(root, 'actionList',
                                                   String)
  japan_payment_options = XmlUtilities.from_element(root,
                                                    'JapanPaymentOptions1',
                                                    JapanPaymentOptions1)

  new(payment_solution: payment_solution,
      reconciliation_id: reconciliation_id,
      link_id: link_id,
      report_group: report_group,
      visa_checkout_id: visa_checkout_id,
      purchase_level: purchase_level,
      industry_data_type: industry_data_type,
      digital_service_indicator: digital_service_indicator,
      issuer: issuer,
      authorization_options: authorization_options,
      capture_options: capture_options,
      loan_options: loan_options,
      pay_by_points_indicator: pay_by_points_indicator,
      action_list: action_list,
      japan_payment_options: japan_payment_options,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 268

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  payment_solution =
    hash.key?('paymentSolution') ? hash['paymentSolution'] : SKIP
  reconciliation_id =
    hash.key?('reconciliationId') ? hash['reconciliationId'] : SKIP
  link_id = hash.key?('linkId') ? hash['linkId'] : SKIP
  report_group = hash.key?('reportGroup') ? hash['reportGroup'] : SKIP
  visa_checkout_id =
    hash.key?('visaCheckoutId') ? hash['visaCheckoutId'] : SKIP
  purchase_level = hash.key?('purchaseLevel') ? hash['purchaseLevel'] : SKIP
  industry_data_type =
    hash.key?('industryDataType') ? hash['industryDataType'] : SKIP
  digital_service_indicator =
    hash.key?('digitalServiceIndicator') ? hash['digitalServiceIndicator'] : SKIP
  issuer = Issuer.from_hash(hash['issuer']) if hash['issuer']
  authorization_options = AuthorizationOptions3.from_hash(hash['authorizationOptions']) if
    hash['authorizationOptions']
  capture_options = CaptureOptions2.from_hash(hash['captureOptions']) if
    hash['captureOptions']
  loan_options = LoanOptions.from_hash(hash['loanOptions']) if hash['loanOptions']
  pay_by_points_indicator =
    hash.key?('payByPointsIndicator') ? hash['payByPointsIndicator'] : SKIP
  action_list = hash.key?('actionList') ? hash['actionList'] : SKIP
  japan_payment_options = JapanPaymentOptions1.from_hash(hash['japanPaymentOptions']) if
    hash['japanPaymentOptions']

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  ProcessingInformation5.new(payment_solution: payment_solution,
                             reconciliation_id: reconciliation_id,
                             link_id: link_id,
                             report_group: report_group,
                             visa_checkout_id: visa_checkout_id,
                             purchase_level: purchase_level,
                             industry_data_type: industry_data_type,
                             digital_service_indicator: digital_service_indicator,
                             issuer: issuer,
                             authorization_options: authorization_options,
                             capture_options: capture_options,
                             loan_options: loan_options,
                             pay_by_points_indicator: pay_by_points_indicator,
                             action_list: action_list,
                             japan_payment_options: japan_payment_options,
                             additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 189

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['payment_solution'] = 'paymentSolution'
  @_hash['reconciliation_id'] = 'reconciliationId'
  @_hash['link_id'] = 'linkId'
  @_hash['report_group'] = 'reportGroup'
  @_hash['visa_checkout_id'] = 'visaCheckoutId'
  @_hash['purchase_level'] = 'purchaseLevel'
  @_hash['industry_data_type'] = 'industryDataType'
  @_hash['digital_service_indicator'] = 'digitalServiceIndicator'
  @_hash['issuer'] = 'issuer'
  @_hash['authorization_options'] = 'authorizationOptions'
  @_hash['capture_options'] = 'captureOptions'
  @_hash['loan_options'] = 'loanOptions'
  @_hash['pay_by_points_indicator'] = 'payByPointsIndicator'
  @_hash['action_list'] = 'actionList'
  @_hash['japan_payment_options'] = 'japanPaymentOptions'
  @_hash
end

.nullablesObject

An array for nullable fields



231
232
233
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 231

def self.nullables
  []
end

.optionalsObject

An array for optional fields



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 210

def self.optionals
  %w[
    payment_solution
    reconciliation_id
    link_id
    report_group
    visa_checkout_id
    purchase_level
    industry_data_type
    digital_service_indicator
    issuer
    authorization_options
    capture_options
    loan_options
    pay_by_points_indicator
    action_list
    japan_payment_options
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



420
421
422
423
424
425
426
427
428
429
430
431
432
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 420

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} payment_solution: #{@payment_solution.inspect}, reconciliation_id:"\
  " #{@reconciliation_id.inspect}, link_id: #{@link_id.inspect}, report_group:"\
  " #{@report_group.inspect}, visa_checkout_id: #{@visa_checkout_id.inspect}, purchase_level:"\
  " #{@purchase_level.inspect}, industry_data_type: #{@industry_data_type.inspect},"\
  " digital_service_indicator: #{@digital_service_indicator.inspect}, issuer:"\
  " #{@issuer.inspect}, authorization_options: #{@authorization_options.inspect},"\
  " capture_options: #{@capture_options.inspect}, loan_options: #{@loan_options.inspect},"\
  " pay_by_points_indicator: #{@pay_by_points_indicator.inspect}, action_list:"\
  " #{@action_list.inspect}, japan_payment_options: #{@japan_payment_options.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



406
407
408
409
410
411
412
413
414
415
416
417
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 406

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} payment_solution: #{@payment_solution}, reconciliation_id:"\
  " #{@reconciliation_id}, link_id: #{@link_id}, report_group: #{@report_group},"\
  " visa_checkout_id: #{@visa_checkout_id}, purchase_level: #{@purchase_level},"\
  " industry_data_type: #{@industry_data_type}, digital_service_indicator:"\
  " #{@digital_service_indicator}, issuer: #{@issuer}, authorization_options:"\
  " #{@authorization_options}, capture_options: #{@capture_options}, loan_options:"\
  " #{@loan_options}, pay_by_points_indicator: #{@pay_by_points_indicator}, action_list:"\
  " #{@action_list}, japan_payment_options: #{@japan_payment_options}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_xml_element(doc, root_name) ⇒ Object



372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
# File 'lib/cyber_source_merged_spec/models/processing_information5.rb', line 372

def to_xml_element(doc, root_name)
  root = doc.create_element(root_name)

  XmlUtilities.add_as_subelement(doc, root, 'paymentSolution',
                                 payment_solution)
  XmlUtilities.add_as_subelement(doc, root, 'reconciliationId',
                                 reconciliation_id)
  XmlUtilities.add_as_subelement(doc, root, 'linkId', link_id)
  XmlUtilities.add_as_subelement(doc, root, 'reportGroup', report_group)
  XmlUtilities.add_as_subelement(doc, root, 'visaCheckoutId',
                                 visa_checkout_id)
  XmlUtilities.add_as_subelement(doc, root, 'purchaseLevel', purchase_level)
  XmlUtilities.add_as_subelement(doc, root, 'industryDataType',
                                 industry_data_type)
  XmlUtilities.add_as_subelement(doc, root, 'digitalServiceIndicator',
                                 digital_service_indicator)
  XmlUtilities.add_as_subelement(doc, root, 'Issuer', issuer)
  XmlUtilities.add_as_subelement(doc, root, 'AuthorizationOptions3',
                                 authorization_options)
  XmlUtilities.add_as_subelement(doc, root, 'CaptureOptions2',
                                 capture_options)
  XmlUtilities.add_as_subelement(doc, root, 'LoanOptions', loan_options)
  XmlUtilities.add_as_subelement(doc, root, 'payByPointsIndicator',
                                 pay_by_points_indicator)
  XmlUtilities.add_array_as_subelement(doc, root, 'actionList', action_list)
  XmlUtilities.add_as_subelement(doc, root, 'JapanPaymentOptions1',
                                 japan_payment_options)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end