Class: CyberSourceMergedSpec::AmountDetails36
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- CyberSourceMergedSpec::AmountDetails36
- Defined in:
- lib/cyber_source_merged_spec/models/amount_details36.rb
Overview
Contains currency and totalAmount for this order.
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(currency:, total_amount: SKIP, additional_properties: nil) ⇒ AmountDetails36
constructor
A new instance of AmountDetails36.
-
#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(currency:, total_amount: SKIP, additional_properties: nil) ⇒ AmountDetails36
Returns a new instance of AmountDetails36.
119 120 121 122 123 124 125 126 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 119 def initialize(currency:, total_amount: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @currency = currency @total_amount = total_amount unless total_amount == 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.
49 50 51 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 49 def currency @currency end |
#total_amount ⇒ String
Grand total for the order. 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
Required for creating a new invoice.
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. For details, see
grand_total_amount field description in [Dynamic Currency Conversion For
First Data Using the SCMP
API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_Firs
tData_SCMP/DCC_FirstData_SCMP_API.pdf).
FDMS South
If you accept IDR or CLP currencies, see the entry for FDMS South in "Authorization Information for Specific Processors" of the [REST API Fields Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/refere nce/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amou nt.html)
DCC for First Data
Not used. For details, see [REST API Field Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/refere nce/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amou nt.html)
97 98 99 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 97 def total_amount @total_amount end |
Class Method Details
.from_element(root) ⇒ Object
149 150 151 152 153 154 155 156 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 149 def self.from_element(root) currency = XmlUtilities.from_element(root, 'currency', String) total_amount = XmlUtilities.from_element(root, 'totalAmount', String) new(currency: currency, total_amount: total_amount, additional_properties: additional_properties) end |
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 129 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. currency = hash.key?('currency') ? hash['currency'] : nil total_amount = hash.key?('totalAmount') ? hash['totalAmount'] : 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. AmountDetails36.new(currency: currency, total_amount: total_amount, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
100 101 102 103 104 105 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 100 def self.names @_hash = {} if @_hash.nil? @_hash['currency'] = 'currency' @_hash['total_amount'] = 'totalAmount' @_hash end |
.nullables ⇒ Object
An array for nullable fields
115 116 117 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 115 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
108 109 110 111 112 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 108 def self.optionals %w[ total_amount ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
177 178 179 180 181 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 177 def inspect class_name = self.class.name.split('::').last "<#{class_name} currency: #{@currency.inspect}, total_amount: #{@total_amount.inspect},"\ " additional_properties: #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
170 171 172 173 174 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 170 def to_s class_name = self.class.name.split('::').last "<#{class_name} currency: #{@currency}, total_amount: #{@total_amount},"\ " additional_properties: #{@additional_properties}>" end |
#to_xml_element(doc, root_name) ⇒ Object
158 159 160 161 162 163 164 165 166 167 |
# File 'lib/cyber_source_merged_spec/models/amount_details36.rb', line 158 def to_xml_element(doc, root_name) root = doc.create_element(root_name) XmlUtilities.add_as_subelement(doc, root, 'currency', currency) XmlUtilities.add_as_subelement(doc, root, 'totalAmount', total_amount) XmlUtilities.add_as_subelement(doc, root, 'additional_properties', additional_properties) root end |