Class: CyberSourceMergedSpec::ProcessorInformation15

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

Overview

ProcessorInformation15 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(response_code: SKIP, response_details: SKIP, transaction_id: SKIP, additional_properties: nil) ⇒ ProcessorInformation15

Returns a new instance of ProcessorInformation15.



120
121
122
123
124
125
126
127
128
129
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 120

def initialize(response_code: SKIP, response_details: SKIP,
               transaction_id: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @response_code = response_code unless response_code == SKIP
  @response_details = response_details unless response_details == SKIP
  @transaction_id = transaction_id unless transaction_id == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#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)


43
44
45
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 43

def response_code
  @response_code
end

#response_detailsString

The reason for when the transaction status is Pending or Reversed. Possible values:

  • PAYER_SHIPPING_UNCONFIRMED
  • MULTI_CURRENCY
  • RISK_REVIEW
  • REGULATORY_REVIEW
  • VERIFICATION_REQUIRED
  • ORDER
  • OTHER

Returns:

  • (String)


55
56
57
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 55

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)


95
96
97
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 95

def transaction_id
  @transaction_id
end

Class Method Details

.from_element(root) ⇒ Object



155
156
157
158
159
160
161
162
163
164
165
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 155

def self.from_element(root)
  response_code = XmlUtilities.from_element(root, 'responseCode', String)
  response_details = XmlUtilities.from_element(root, 'responseDetails',
                                               String)
  transaction_id = XmlUtilities.from_element(root, 'transactionId', String)

  new(response_code: response_code,
      response_details: response_details,
      transaction_id: transaction_id,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 132

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  response_code = hash.key?('responseCode') ? hash['responseCode'] : SKIP
  response_details =
    hash.key?('responseDetails') ? hash['responseDetails'] : SKIP
  transaction_id = hash.key?('transactionId') ? hash['transactionId'] : SKIP

  # 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.
  ProcessorInformation15.new(response_code: response_code,
                             response_details: response_details,
                             transaction_id: transaction_id,
                             additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



98
99
100
101
102
103
104
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 98

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['response_code'] = 'responseCode'
  @_hash['response_details'] = 'responseDetails'
  @_hash['transaction_id'] = 'transactionId'
  @_hash
end

.nullablesObject

An array for nullable fields



116
117
118
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 116

def self.nullables
  []
end

.optionalsObject

An array for optional fields



107
108
109
110
111
112
113
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 107

def self.optionals
  %w[
    response_code
    response_details
    transaction_id
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



188
189
190
191
192
193
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 188

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

#to_sObject

Provides a human-readable string representation of the object.



181
182
183
184
185
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 181

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

#to_xml_element(doc, root_name) ⇒ Object



167
168
169
170
171
172
173
174
175
176
177
178
# File 'lib/cyber_source_merged_spec/models/processor_information15.rb', line 167

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

  XmlUtilities.add_as_subelement(doc, root, 'responseCode', response_code)
  XmlUtilities.add_as_subelement(doc, root, 'responseDetails',
                                 response_details)
  XmlUtilities.add_as_subelement(doc, root, 'transactionId', transaction_id)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end