Class: CyberSourceMergedSpec::ProcessorInformation4

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

Overview

ProcessorInformation4 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(transaction_id: SKIP, response_code: SKIP, network_transaction_id: SKIP, response_category_code: SKIP, forwarded_acquirer_code: SKIP, master_card_service_code: SKIP, master_card_service_reply_code: SKIP, response_details: SKIP, provider_response: SKIP, network: SKIP, additional_properties: nil) ⇒ ProcessorInformation4

Returns a new instance of ProcessorInformation4.



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 195

def initialize(transaction_id: SKIP, response_code: SKIP,
               network_transaction_id: SKIP, response_category_code: SKIP,
               forwarded_acquirer_code: SKIP,
               master_card_service_code: SKIP,
               master_card_service_reply_code: SKIP, response_details: SKIP,
               provider_response: SKIP, network: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @transaction_id = transaction_id unless transaction_id == SKIP
  @response_code = response_code unless response_code == SKIP
  @network_transaction_id = network_transaction_id unless network_transaction_id == SKIP
  @response_category_code = response_category_code unless response_category_code == SKIP
  @forwarded_acquirer_code = forwarded_acquirer_code unless forwarded_acquirer_code == SKIP
  @master_card_service_code = master_card_service_code unless master_card_service_code == SKIP
  unless master_card_service_reply_code == SKIP
    @master_card_service_reply_code =
      master_card_service_reply_code
  end
  @response_details = response_details unless response_details == SKIP
  @provider_response = provider_response unless provider_response == SKIP
  @network = network unless network == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#forwarded_acquirer_codeString

Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway. Please contact the CyberSource Japan Support Group for more information.

Returns:

  • (String)


107
108
109
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 107

def forwarded_acquirer_code
  @forwarded_acquirer_code
end

#master_card_service_codeString

Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource. Possible value:

  • 53: Mastercard card-on-file token service

CyberSource through VisaNet

The value for this field corresponds to the following data in the TC 33 capture file:

  • Record: CP01 TCR6
  • Position: 133-134
  • Field: Mastercard Merchant on-behalf service. Note This field is returned only for CyberSource through VisaNet.

Returns:

  • (String)


121
122
123
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 121

def master_card_service_code
  @master_card_service_code
end

#master_card_service_reply_codeString

Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource. Possible values:

  • C: Service completed successfully.
  • F: One of the following:
    • Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or authorization reversal.
    • Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request.
    • Token requestor ID is missing or formatted incorrectly.
  • I: One of the following:
    • Invalid token requestor ID.
    • Suspended or deactivated token.
    • Invalid token (not in mapping table).
  • T: Invalid combination of token requestor ID and token.
  • U: Expired token.
  • W: Primary account number (PAN) listed in electronic warning bulletin. Note This field is returned only for CyberSource through VisaNet.

Returns:

  • (String)


144
145
146
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 144

def master_card_service_reply_code
  @master_card_service_reply_code
end

#networkNetwork

Processor response to the API request.

Returns:



156
157
158
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 156

def network
  @network
end

#network_transaction_idString

Same value as processorInformation.transactionId

Returns:

  • (String)


87
88
89
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 87

def network_transaction_id
  @network_transaction_id
end

#provider_responseString

Processor response to the API request.

Returns:

  • (String)


152
153
154
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 152

def provider_response
  @provider_response
end

#response_category_codeString

Processor-defined response category code. The associated detail error code is in the processorInformation.responseCode or issuerInformation.responseCode field of the service you requested. This field is supported only for:

  • Japanese issuers
  • Domestic transactions in Japan
  • Comercio Latino—processor transaction ID required for troubleshooting

Maximum length for processors

  • Comercio Latino: 36
  • All other processors: 3

Returns:

  • (String)


101
102
103
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 101

def response_category_code
  @response_category_code
end

#response_codeString

For most processors, this is the error message sent directly from the bank. Returned only when the processor returns this value. Important Do not use this field to evaluate the result of the authorization.

PIN debit

Response value that is returned by the processor or bank. Important Do not use this field to evaluate the results of the transaction request. Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal.

AIBMS

If this value is 08, you can accept the transaction if the customer provides you with identification.

Atos

This value is the response code sent from Atos and it might also include the response code from the bank. Format: aa,bb with the two values separated by a comma and where:

  • aa is the two-digit error message from Atos.
  • bb is the optional two-digit error message from the bank.

Comercio Latino

This value is the status code and the error or response code received from the processor separated by a colon. Format: [status code]:E[error code] or [status code]:R[response code] Example 2:R06

JCN Gateway

Processor-defined detail error code. The associated response category code is in the processorInformation.responseCategoryCode field. String (3)

paypalgateway

Processor generated ID for the itemized detail.

Returns:

  • (String)


83
84
85
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 83

def response_code
  @response_code
end

#response_detailsString

This field might contain information about a decline.

Returns:

  • (String)


148
149
150
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 148

def response_details
  @response_details
end

#transaction_idString

Network transaction identifier (TID). You can use this value to identify a specific transaction when you are discussing the transaction with your processor. Not all processors provide this value. Returned by the authorization service.

PIN debit

Transaction identifier generated by the processor. Returned by PIN debit credit.

GPX

Processor transaction ID.

Cielo

For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.

Comercio Latino

For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.

CyberSource through VisaNet and GPN

For details about this value for CyberSource through VisaNet and GPN, see "processorInformation.networkTransactionId" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apif ields/reference/all/rest/api-fields.pdf)

Moneris

This value identifies the transaction on a host system. It contains the following information:

  • Terminal used to process the transaction
  • Shift during which the transaction took place
  • Batch number
  • Transaction number within the batch You must store this value. If you give the customer a receipt, display this value on the receipt. Example For the value 66012345001069003:
  • Terminal ID = 66012345
  • Shift number = 001
  • Batch number = 069
  • Transaction number = 003

Returns:

  • (String)


50
51
52
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 50

def transaction_id
  @transaction_id
end

Class Method Details

.from_element(root) ⇒ Object



265
266
267
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
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 265

def self.from_element(root)
  transaction_id = XmlUtilities.from_element(root, 'transactionId', String)
  response_code = XmlUtilities.from_element(root, 'responseCode', String)
  network_transaction_id = XmlUtilities.from_element(root,
                                                     'networkTransactionId',
                                                     String)
  response_category_code = XmlUtilities.from_element(root,
                                                     'responseCategoryCode',
                                                     String)
  forwarded_acquirer_code = XmlUtilities.from_element(
    root, 'forwardedAcquirerCode', String
  )
  master_card_service_code = XmlUtilities.from_element(
    root, 'masterCardServiceCode', String
  )
  master_card_service_reply_code = XmlUtilities.from_element(
    root, 'masterCardServiceReplyCode', String
  )
  response_details = XmlUtilities.from_element(root, 'responseDetails',
                                               String)
  provider_response = XmlUtilities.from_element(root, 'providerResponse',
                                                String)
  network = XmlUtilities.from_element(root, 'Network', Network)

  new(transaction_id: transaction_id,
      response_code: response_code,
      network_transaction_id: network_transaction_id,
      response_category_code: response_category_code,
      forwarded_acquirer_code: forwarded_acquirer_code,
      master_card_service_code: master_card_service_code,
      master_card_service_reply_code: master_card_service_reply_code,
      response_details: response_details,
      provider_response: provider_response,
      network: network,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



222
223
224
225
226
227
228
229
230
231
232
233
234
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
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 222

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  transaction_id = hash.key?('transactionId') ? hash['transactionId'] : SKIP
  response_code = hash.key?('responseCode') ? hash['responseCode'] : SKIP
  network_transaction_id =
    hash.key?('networkTransactionId') ? hash['networkTransactionId'] : SKIP
  response_category_code =
    hash.key?('responseCategoryCode') ? hash['responseCategoryCode'] : SKIP
  forwarded_acquirer_code =
    hash.key?('forwardedAcquirerCode') ? hash['forwardedAcquirerCode'] : SKIP
  master_card_service_code =
    hash.key?('masterCardServiceCode') ? hash['masterCardServiceCode'] : SKIP
  master_card_service_reply_code =
    hash.key?('masterCardServiceReplyCode') ? hash['masterCardServiceReplyCode'] : SKIP
  response_details =
    hash.key?('responseDetails') ? hash['responseDetails'] : SKIP
  provider_response =
    hash.key?('providerResponse') ? hash['providerResponse'] : SKIP
  network = Network.from_hash(hash['network']) if hash['network']

  # 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.
  ProcessorInformation4.new(transaction_id: transaction_id,
                            response_code: response_code,
                            network_transaction_id: network_transaction_id,
                            response_category_code: response_category_code,
                            forwarded_acquirer_code: forwarded_acquirer_code,
                            master_card_service_code: master_card_service_code,
                            master_card_service_reply_code: master_card_service_reply_code,
                            response_details: response_details,
                            provider_response: provider_response,
                            network: network,
                            additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 159

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['transaction_id'] = 'transactionId'
  @_hash['response_code'] = 'responseCode'
  @_hash['network_transaction_id'] = 'networkTransactionId'
  @_hash['response_category_code'] = 'responseCategoryCode'
  @_hash['forwarded_acquirer_code'] = 'forwardedAcquirerCode'
  @_hash['master_card_service_code'] = 'masterCardServiceCode'
  @_hash['master_card_service_reply_code'] = 'masterCardServiceReplyCode'
  @_hash['response_details'] = 'responseDetails'
  @_hash['provider_response'] = 'providerResponse'
  @_hash['network'] = 'network'
  @_hash
end

.nullablesObject

An array for nullable fields



191
192
193
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 191

def self.nullables
  []
end

.optionalsObject

An array for optional fields



175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 175

def self.optionals
  %w[
    transaction_id
    response_code
    network_transaction_id
    response_category_code
    forwarded_acquirer_code
    master_card_service_code
    master_card_service_reply_code
    response_details
    provider_response
    network
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



341
342
343
344
345
346
347
348
349
350
351
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 341

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} transaction_id: #{@transaction_id.inspect}, response_code:"\
  " #{@response_code.inspect}, network_transaction_id: #{@network_transaction_id.inspect},"\
  " response_category_code: #{@response_category_code.inspect}, forwarded_acquirer_code:"\
  " #{@forwarded_acquirer_code.inspect}, master_card_service_code:"\
  " #{@master_card_service_code.inspect}, master_card_service_reply_code:"\
  " #{@master_card_service_reply_code.inspect}, response_details:"\
  " #{@response_details.inspect}, provider_response: #{@provider_response.inspect}, network:"\
  " #{@network.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



329
330
331
332
333
334
335
336
337
338
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 329

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} transaction_id: #{@transaction_id}, response_code: #{@response_code},"\
  " network_transaction_id: #{@network_transaction_id}, response_category_code:"\
  " #{@response_category_code}, forwarded_acquirer_code: #{@forwarded_acquirer_code},"\
  " master_card_service_code: #{@master_card_service_code}, master_card_service_reply_code:"\
  " #{@master_card_service_reply_code}, response_details: #{@response_details},"\
  " provider_response: #{@provider_response}, network: #{@network}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_xml_element(doc, root_name) ⇒ Object



302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
# File 'lib/cyber_source_merged_spec/models/processor_information4.rb', line 302

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

  XmlUtilities.add_as_subelement(doc, root, 'transactionId', transaction_id)
  XmlUtilities.add_as_subelement(doc, root, 'responseCode', response_code)
  XmlUtilities.add_as_subelement(doc, root, 'networkTransactionId',
                                 network_transaction_id)
  XmlUtilities.add_as_subelement(doc, root, 'responseCategoryCode',
                                 response_category_code)
  XmlUtilities.add_as_subelement(doc, root, 'forwardedAcquirerCode',
                                 forwarded_acquirer_code)
  XmlUtilities.add_as_subelement(doc, root, 'masterCardServiceCode',
                                 master_card_service_code)
  XmlUtilities.add_as_subelement(doc, root, 'masterCardServiceReplyCode',
                                 master_card_service_reply_code)
  XmlUtilities.add_as_subelement(doc, root, 'responseDetails',
                                 response_details)
  XmlUtilities.add_as_subelement(doc, root, 'providerResponse',
                                 provider_response)
  XmlUtilities.add_as_subelement(doc, root, 'Network', network)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end