Class: CyberSourceMergedSpec::AmountDetails5
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- CyberSourceMergedSpec::AmountDetails5
- Defined in:
- lib/cyber_source_merged_spec/models/amount_details5.rb
Overview
AmountDetails5 Model.
Instance Attribute Summary collapse
-
#currency ⇒ String
Currency used for the order.
-
#total_amount ⇒ String
Grand total for the order.
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(total_amount: SKIP, currency: SKIP, additional_properties: nil) ⇒ AmountDetails5
constructor
A new instance of AmountDetails5.
-
#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(total_amount: SKIP, currency: SKIP, additional_properties: nil) ⇒ AmountDetails5
Returns a new instance of AmountDetails5.
105 106 107 108 109 110 111 112 113 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 105 def initialize(total_amount: SKIP, currency: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @total_amount = total_amount unless total_amount == SKIP @currency = currency unless currency == SKIP @additional_properties = additional_properties end |
Instance Attribute Details
#currency ⇒ String
Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/cur rencies.pdf)
Used by
Authorization
Required field.
Authorization Reversal
For an authorization reversal (reversalInformation) or a capture
(processingOptions.capture is set to true), you must use the same
currency that you used in your payment authorization request.
PIN Debit
Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickre f/currencies.pdf). Returned by PIN debit purchase. For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickre f/currencies.pdf). Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests.
GPX
This field is optional for reversing an authorization or credit.
DCC for First Data
Your local currency.
Tax Calculation
Required for international tax and value added tax only. Optional for U.S. and Canadian taxes. Your local currency.
82 83 84 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 82 def currency @currency end |
#total_amount ⇒ String
Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places. Note For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12. Important Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. If your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen.
Card Present
Required to include either this field or
orderInformation.lineItems[].unitPrice for the order.
Invoicing / Pay By Link
Required for creating a new invoice or payment link.
PIN Debit
Amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. Required field for PIN Debit purchase and PIN Debit credit requests. Optional field for PIN Debit reversal requests.
GPX
This field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.
DCC with a Third-Party Provider
Set this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request.
DCC for First Data
Not used.
43 44 45 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 43 def total_amount @total_amount end |
Class Method Details
.from_element(root) ⇒ Object
136 137 138 139 140 141 142 143 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 136 def self.from_element(root) total_amount = XmlUtilities.from_element(root, 'totalAmount', String) currency = XmlUtilities.from_element(root, 'currency', String) new(total_amount: total_amount, currency: currency, additional_properties: additional_properties) end |
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 116 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. total_amount = hash.key?('totalAmount') ? hash['totalAmount'] : SKIP currency = hash.key?('currency') ? hash['currency'] : 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. AmountDetails5.new(total_amount: total_amount, currency: currency, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
85 86 87 88 89 90 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 85 def self.names @_hash = {} if @_hash.nil? @_hash['total_amount'] = 'totalAmount' @_hash['currency'] = 'currency' @_hash end |
.nullables ⇒ Object
An array for nullable fields
101 102 103 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 101 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
93 94 95 96 97 98 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 93 def self.optionals %w[ total_amount currency ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
164 165 166 167 168 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 164 def inspect class_name = self.class.name.split('::').last "<#{class_name} total_amount: #{@total_amount.inspect}, currency: #{@currency.inspect},"\ " additional_properties: #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
157 158 159 160 161 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 157 def to_s class_name = self.class.name.split('::').last "<#{class_name} total_amount: #{@total_amount}, currency: #{@currency},"\ " additional_properties: #{@additional_properties}>" end |
#to_xml_element(doc, root_name) ⇒ Object
145 146 147 148 149 150 151 152 153 154 |
# File 'lib/cyber_source_merged_spec/models/amount_details5.rb', line 145 def to_xml_element(doc, root_name) root = doc.create_element(root_name) XmlUtilities.add_as_subelement(doc, root, 'totalAmount', total_amount) XmlUtilities.add_as_subelement(doc, root, 'currency', currency) XmlUtilities.add_as_subelement(doc, root, 'additional_properties', additional_properties) root end |