Class: CyberSourceMergedSpec::Surcharge1
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- CyberSourceMergedSpec::Surcharge1
- Defined in:
- lib/cyber_source_merged_spec/models/surcharge1.rb
Overview
Surcharge1 Model.
Instance Attribute Summary collapse
-
#amount ⇒ String
The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking.
Class Method Summary collapse
- .from_element(root) ⇒ Object
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(amount: SKIP, additional_properties: nil) ⇒ Surcharge1
constructor
A new instance of Surcharge1.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
- #to_xml_element(doc, root_name) ⇒ Object
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(amount: SKIP, additional_properties: nil) ⇒ Surcharge1
Returns a new instance of Surcharge1.
48 49 50 51 52 53 54 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 48 def initialize(amount: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @amount = amount unless amount == SKIP @additional_properties = additional_properties end |
Instance Attribute Details
#amount ⇒ String
The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer. If the amount is positive, then it is a debit for the customer. If the amount is negative, then it is a credit for the customer. NOTE: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.
PIN debit
Surcharge amount that you are charging the customer for this transaction.
If you include a surcharge amount
in the request, you must also include the surcharge amount in the value
for orderInformation.amountDetails.totalAmount.
Optional field for transactions that use PIN debit credit or PIN debit
purchase.
27 28 29 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 27 def amount @amount end |
Class Method Details
.from_element(root) ⇒ Object
75 76 77 78 79 80 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 75 def self.from_element(root) amount = XmlUtilities.from_element(root, 'amount', String) new(amount: amount, additional_properties: additional_properties) end |
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 57 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. amount = hash.key?('amount') ? hash['amount'] : 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. Surcharge1.new(amount: amount, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
30 31 32 33 34 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 30 def self.names @_hash = {} if @_hash.nil? @_hash['amount'] = 'amount' @_hash end |
.nullables ⇒ Object
An array for nullable fields
44 45 46 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 44 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
37 38 39 40 41 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 37 def self.optionals %w[ amount ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
99 100 101 102 103 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 99 def inspect class_name = self.class.name.split('::').last "<#{class_name} amount: #{@amount.inspect}, additional_properties:"\ " #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
93 94 95 96 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 93 def to_s class_name = self.class.name.split('::').last "<#{class_name} amount: #{@amount}, additional_properties: #{@additional_properties}>" end |
#to_xml_element(doc, root_name) ⇒ Object
82 83 84 85 86 87 88 89 90 |
# File 'lib/cyber_source_merged_spec/models/surcharge1.rb', line 82 def to_xml_element(doc, root_name) root = doc.create_element(root_name) XmlUtilities.add_as_subelement(doc, root, 'amount', amount) XmlUtilities.add_as_subelement(doc, root, 'additional_properties', additional_properties) root end |