class CyberSource::V2paymentsOrderInformationLineItems

Attributes

amount_includes_tax[RW]

Flag that indicates whether the tax amount is included in the Line Item Total.

commodity_code[RW]

Commodity code or International description code used to classify the item. Contact your acquirer for a list of codes.

discount_amount[RW]

Discount applied to the item.

discount_applied[RW]

Flag that indicates whether the amount is discounted. If you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets this field to true.

discount_rate[RW]

Rate the item is discounted. Maximum of 2 decimal places. Example 5.25 (=5.25%)

fulfillment_type[RW]

TODO

invoice_number[RW]

Field to support an invoice number for a transaction. You must specify the number of line items that will include an invoice number. By default, the first line item will include an invoice number field. The invoice number field can be included for up to 10 line items.

product_code[RW]

Type of product. This value is used to determine the category that the product is in: electronic, handling, physical, service, or shipping. The default value is default. For a payment, when you set this field to a value other than default or any of the values related to shipping and handling, below fields quantity, productName, and productSKU are required.

product_name[RW]

For PAYMENT and CAPTURE API, this field is required when above productCode is not default or one of the values related to shipping and handling.

product_sku[RW]

Identification code for the product. For PAYMENT and CAPTURE API, this field is required when above productCode is not default or one of the values related to shipping and/or handling.

quantity[RW]

For a payment or capture, this field is required when productCode is not default or one of the values related to shipping and handling.

tax_amount[RW]

Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must be in the same currency. The tax amount field is additive. The following example uses a two-exponent currency such as USD: 1. You include each line item in your request. ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80 ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included. This field is frequently used for Level II and Level III transactions.

tax_applied_after_discount[RW]

Flag to indicate how you handle discount at the line item level. - 0: no line level discount provided - 1: tax was calculated on the post-discount line item total - 2: tax was calculated on the pre-discount line item total `Note` Visa will inset 0 (zero) if an invalid value is included in this field. This field relates to the value in the lineItems[].discountAmount field.

tax_details[RW]
tax_rate[RW]

Tax rate applied to the item. See "Numbered Elements," page 14. Visa: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional decimal places will be truncated). Mastercard: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).

tax_status_indicator[RW]

Flag to indicate whether tax is exempted or not included. - 0: tax not included - 1: tax included - 2: transaction is not subject to tax

tax_type_code[RW]

Type of tax being applied to the item. Possible values: Below values are used by **RBS WorldPay Atlanta**, **FDC Nashville Global**, Litle - 0000: unknown tax type - 0001: federal/national sales tax - 0002: state sales tax - 0003: city sales tax - 0004: local sales tax - 0005: municipal sales tax - 0006: other tax - 0010: value-added tax - 0011: goods and services tax - 0012: provincial sales tax - 0013: harmonized sales tax - 0014: Quebec sales tax (QST) - 0020: room tax - 0021: occupancy tax - 0022: energy tax - Blank: Tax not supported on line item.

total_amount[RW]

Total amount for the item. Normally calculated as the unit price x quantity.

type_of_supply[RW]

Flag to indicate whether the purchase is categorized as goods or services. Possible values: - 00: goods - 01: services

unit_of_measure[RW]

Unit of measure, or unit of measure code, for the item.

unit_price[RW]

Per-item price of the product. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places. For processor-specific information, see the amount field in [Credit Card Services Using the SCMP API.](apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)

Public Class Methods

attribute_map() click to toggle source

Attribute mapping from ruby-style variable name to JSON key.

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 80
def self.attribute_map
  {
    :'product_code' => :'productCode',
    :'product_name' => :'productName',
    :'product_sku' => :'productSku',
    :'quantity' => :'quantity',
    :'unit_price' => :'unitPrice',
    :'unit_of_measure' => :'unitOfMeasure',
    :'total_amount' => :'totalAmount',
    :'tax_amount' => :'taxAmount',
    :'tax_rate' => :'taxRate',
    :'tax_applied_after_discount' => :'taxAppliedAfterDiscount',
    :'tax_status_indicator' => :'taxStatusIndicator',
    :'tax_type_code' => :'taxTypeCode',
    :'amount_includes_tax' => :'amountIncludesTax',
    :'type_of_supply' => :'typeOfSupply',
    :'commodity_code' => :'commodityCode',
    :'discount_amount' => :'discountAmount',
    :'discount_applied' => :'discountApplied',
    :'discount_rate' => :'discountRate',
    :'invoice_number' => :'invoiceNumber',
    :'tax_details' => :'taxDetails',
    :'fulfillment_type' => :'fulfillmentType'
  }
end
new(attributes = {}) click to toggle source

Initializes the object @param [Hash] attributes Model attributes in the form of hash

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 135
def initialize(attributes = {})
  return unless attributes.is_a?(Hash)

  # convert string to symbol for hash key
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }

  if attributes.has_key?(:'productCode')
    self.product_code = attributes[:'productCode']
  end

  if attributes.has_key?(:'productName')
    self.product_name = attributes[:'productName']
  end

  if attributes.has_key?(:'productSku')
    self.product_sku = attributes[:'productSku']
  end

  if attributes.has_key?(:'quantity')
    self.quantity = attributes[:'quantity']
  end

  if attributes.has_key?(:'unitPrice')
    self.unit_price = attributes[:'unitPrice']
  end

  if attributes.has_key?(:'unitOfMeasure')
    self.unit_of_measure = attributes[:'unitOfMeasure']
  end

  if attributes.has_key?(:'totalAmount')
    self.total_amount = attributes[:'totalAmount']
  end

  if attributes.has_key?(:'taxAmount')
    self.tax_amount = attributes[:'taxAmount']
  end

  if attributes.has_key?(:'taxRate')
    self.tax_rate = attributes[:'taxRate']
  end

  if attributes.has_key?(:'taxAppliedAfterDiscount')
    self.tax_applied_after_discount = attributes[:'taxAppliedAfterDiscount']
  end

  if attributes.has_key?(:'taxStatusIndicator')
    self.tax_status_indicator = attributes[:'taxStatusIndicator']
  end

  if attributes.has_key?(:'taxTypeCode')
    self.tax_type_code = attributes[:'taxTypeCode']
  end

  if attributes.has_key?(:'amountIncludesTax')
    self.amount_includes_tax = attributes[:'amountIncludesTax']
  end

  if attributes.has_key?(:'typeOfSupply')
    self.type_of_supply = attributes[:'typeOfSupply']
  end

  if attributes.has_key?(:'commodityCode')
    self.commodity_code = attributes[:'commodityCode']
  end

  if attributes.has_key?(:'discountAmount')
    self.discount_amount = attributes[:'discountAmount']
  end

  if attributes.has_key?(:'discountApplied')
    self.discount_applied = attributes[:'discountApplied']
  end

  if attributes.has_key?(:'discountRate')
    self.discount_rate = attributes[:'discountRate']
  end

  if attributes.has_key?(:'invoiceNumber')
    self.invoice_number = attributes[:'invoiceNumber']
  end

  if attributes.has_key?(:'taxDetails')
    if (value = attributes[:'taxDetails']).is_a?(Array)
      self.tax_details = value
    end
  end

  if attributes.has_key?(:'fulfillmentType')
    self.fulfillment_type = attributes[:'fulfillmentType']
  end
end
swagger_types() click to toggle source

Attribute type mapping.

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 107
def self.swagger_types
  {
    :'product_code' => :'String',
    :'product_name' => :'String',
    :'product_sku' => :'String',
    :'quantity' => :'Float',
    :'unit_price' => :'String',
    :'unit_of_measure' => :'String',
    :'total_amount' => :'String',
    :'tax_amount' => :'String',
    :'tax_rate' => :'String',
    :'tax_applied_after_discount' => :'String',
    :'tax_status_indicator' => :'String',
    :'tax_type_code' => :'String',
    :'amount_includes_tax' => :'BOOLEAN',
    :'type_of_supply' => :'String',
    :'commodity_code' => :'String',
    :'discount_amount' => :'String',
    :'discount_applied' => :'BOOLEAN',
    :'discount_rate' => :'String',
    :'invoice_number' => :'String',
    :'tax_details' => :'Array<V2paymentsOrderInformationAmountDetailsTaxDetails>',
    :'fulfillment_type' => :'String'
  }
end

Public Instance Methods

==(o) click to toggle source

Checks equality by comparing each attribute. @param [Object] Object to be compared

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 507
def ==(o)
  return true if self.equal?(o)
  self.class == o.class &&
      product_code == o.product_code &&
      product_name == o.product_name &&
      product_sku == o.product_sku &&
      quantity == o.quantity &&
      unit_price == o.unit_price &&
      unit_of_measure == o.unit_of_measure &&
      total_amount == o.total_amount &&
      tax_amount == o.tax_amount &&
      tax_rate == o.tax_rate &&
      tax_applied_after_discount == o.tax_applied_after_discount &&
      tax_status_indicator == o.tax_status_indicator &&
      tax_type_code == o.tax_type_code &&
      amount_includes_tax == o.amount_includes_tax &&
      type_of_supply == o.type_of_supply &&
      commodity_code == o.commodity_code &&
      discount_amount == o.discount_amount &&
      discount_applied == o.discount_applied &&
      discount_rate == o.discount_rate &&
      invoice_number == o.invoice_number &&
      tax_details == o.tax_details &&
      fulfillment_type == o.fulfillment_type
end
_deserialize(type, value) click to toggle source

Deserializes the data based on type @param string type Data type @param string value Value to be deserialized @return [Object] Deserialized data

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 569
def _deserialize(type, value)
  case type.to_sym
  when :DateTime
    DateTime.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :BOOLEAN
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    temp_model = CyberSource.const_get(type).new
    temp_model.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 635
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map { |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 548
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.swagger_types.each_pair do |key, type|
    if type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the the attribute
      # is documented as an array but the input is not
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
    end # or else data not found in attributes(hash), not an issue as the data can be optional
  end

  self
end
commodity_code=(commodity_code) click to toggle source

Custom attribute writer method with validation @param [Object] commodity_code Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 467
def commodity_code=(commodity_code)
  if !commodity_code.nil? && commodity_code.to_s.length > 15
    fail ArgumentError, 'invalid value for "commodity_code", the character length must be smaller than or equal to 15.'
  end

  @commodity_code = commodity_code
end
discount_amount=(discount_amount) click to toggle source

Custom attribute writer method with validation @param [Object] discount_amount Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 477
def discount_amount=(discount_amount)
  if !discount_amount.nil? && discount_amount.to_s.length > 13
    fail ArgumentError, 'invalid value for "discount_amount", the character length must be smaller than or equal to 13.'
  end

  @discount_amount = discount_amount
end
discount_rate=(discount_rate) click to toggle source

Custom attribute writer method with validation @param [Object] discount_rate Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 487
def discount_rate=(discount_rate)
  if !discount_rate.nil? && discount_rate.to_s.length > 6
    fail ArgumentError, 'invalid value for "discount_rate", the character length must be smaller than or equal to 6.'
  end

  @discount_rate = discount_rate
end
eql?(o) click to toggle source

@see the `==` method @param [Object] Object to be compared

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 535
def eql?(o)
  self == o
end
hash() click to toggle source

Calculates hash code according to all attributes. @return [Fixnum] Hash code

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 541
def hash
  [product_code, product_name, product_sku, quantity, unit_price, unit_of_measure, total_amount, tax_amount, tax_rate, tax_applied_after_discount, tax_status_indicator, tax_type_code, amount_includes_tax, type_of_supply, commodity_code, discount_amount, discount_applied, discount_rate, invoice_number, tax_details, fulfillment_type].hash
end
invoice_number=(invoice_number) click to toggle source

Custom attribute writer method with validation @param [Object] invoice_number Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 497
def invoice_number=(invoice_number)
  if !invoice_number.nil? && invoice_number.to_s.length > 23
    fail ArgumentError, 'invalid value for "invoice_number", the character length must be smaller than or equal to 23.'
  end

  @invoice_number = invoice_number
end
list_invalid_properties() click to toggle source

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 230
def list_invalid_properties
  invalid_properties = Array.new
  if !@product_code.nil? && @product_code.to_s.length > 255
    invalid_properties.push('invalid value for "product_code", the character length must be smaller than or equal to 255.')
  end

  if !@product_name.nil? && @product_name.to_s.length > 255
    invalid_properties.push('invalid value for "product_name", the character length must be smaller than or equal to 255.')
  end

  if !@product_sku.nil? && @product_sku.to_s.length > 255
    invalid_properties.push('invalid value for "product_sku", the character length must be smaller than or equal to 255.')
  end

  if !@quantity.nil? && @quantity > 9999999999
    invalid_properties.push('invalid value for "quantity", must be smaller than or equal to 9999999999.')
  end

  if !@quantity.nil? && @quantity < 1
    invalid_properties.push('invalid value for "quantity", must be greater than or equal to 1.')
  end

  if !@unit_price.nil? && @unit_price.to_s.length > 15
    invalid_properties.push('invalid value for "unit_price", the character length must be smaller than or equal to 15.')
  end

  if !@unit_of_measure.nil? && @unit_of_measure.to_s.length > 12
    invalid_properties.push('invalid value for "unit_of_measure", the character length must be smaller than or equal to 12.')
  end

  if !@total_amount.nil? && @total_amount.to_s.length > 13
    invalid_properties.push('invalid value for "total_amount", the character length must be smaller than or equal to 13.')
  end

  if !@tax_amount.nil? && @tax_amount.to_s.length > 15
    invalid_properties.push('invalid value for "tax_amount", the character length must be smaller than or equal to 15.')
  end

  if !@tax_rate.nil? && @tax_rate.to_s.length > 7
    invalid_properties.push('invalid value for "tax_rate", the character length must be smaller than or equal to 7.')
  end

  if !@tax_applied_after_discount.nil? && @tax_applied_after_discount.to_s.length > 1
    invalid_properties.push('invalid value for "tax_applied_after_discount", the character length must be smaller than or equal to 1.')
  end

  if !@tax_status_indicator.nil? && @tax_status_indicator.to_s.length > 1
    invalid_properties.push('invalid value for "tax_status_indicator", the character length must be smaller than or equal to 1.')
  end

  if !@tax_type_code.nil? && @tax_type_code.to_s.length > 4
    invalid_properties.push('invalid value for "tax_type_code", the character length must be smaller than or equal to 4.')
  end

  if !@type_of_supply.nil? && @type_of_supply.to_s.length > 2
    invalid_properties.push('invalid value for "type_of_supply", the character length must be smaller than or equal to 2.')
  end

  if !@commodity_code.nil? && @commodity_code.to_s.length > 15
    invalid_properties.push('invalid value for "commodity_code", the character length must be smaller than or equal to 15.')
  end

  if !@discount_amount.nil? && @discount_amount.to_s.length > 13
    invalid_properties.push('invalid value for "discount_amount", the character length must be smaller than or equal to 13.')
  end

  if !@discount_rate.nil? && @discount_rate.to_s.length > 6
    invalid_properties.push('invalid value for "discount_rate", the character length must be smaller than or equal to 6.')
  end

  if !@invoice_number.nil? && @invoice_number.to_s.length > 23
    invalid_properties.push('invalid value for "invoice_number", the character length must be smaller than or equal to 23.')
  end

  invalid_properties
end
product_code=(product_code) click to toggle source

Custom attribute writer method with validation @param [Object] product_code Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 333
def product_code=(product_code)
  if !product_code.nil? && product_code.to_s.length > 255
    fail ArgumentError, 'invalid value for "product_code", the character length must be smaller than or equal to 255.'
  end

  @product_code = product_code
end
product_name=(product_name) click to toggle source

Custom attribute writer method with validation @param [Object] product_name Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 343
def product_name=(product_name)
  if !product_name.nil? && product_name.to_s.length > 255
    fail ArgumentError, 'invalid value for "product_name", the character length must be smaller than or equal to 255.'
  end

  @product_name = product_name
end
product_sku=(product_sku) click to toggle source

Custom attribute writer method with validation @param [Object] product_sku Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 353
def product_sku=(product_sku)
  if !product_sku.nil? && product_sku.to_s.length > 255
    fail ArgumentError, 'invalid value for "product_sku", the character length must be smaller than or equal to 255.'
  end

  @product_sku = product_sku
end
quantity=(quantity) click to toggle source

Custom attribute writer method with validation @param [Object] quantity Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 363
def quantity=(quantity)
  if !quantity.nil? && quantity > 9999999999
    fail ArgumentError, 'invalid value for "quantity", must be smaller than or equal to 9999999999.'
  end

  if !quantity.nil? && quantity < 1
    fail ArgumentError, 'invalid value for "quantity", must be greater than or equal to 1.'
  end

  @quantity = quantity
end
tax_amount=(tax_amount) click to toggle source

Custom attribute writer method with validation @param [Object] tax_amount Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 407
def tax_amount=(tax_amount)
  if !tax_amount.nil? && tax_amount.to_s.length > 15
    fail ArgumentError, 'invalid value for "tax_amount", the character length must be smaller than or equal to 15.'
  end

  @tax_amount = tax_amount
end
tax_applied_after_discount=(tax_applied_after_discount) click to toggle source

Custom attribute writer method with validation @param [Object] tax_applied_after_discount Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 427
def tax_applied_after_discount=(tax_applied_after_discount)
  if !tax_applied_after_discount.nil? && tax_applied_after_discount.to_s.length > 1
    fail ArgumentError, 'invalid value for "tax_applied_after_discount", the character length must be smaller than or equal to 1.'
  end

  @tax_applied_after_discount = tax_applied_after_discount
end
tax_rate=(tax_rate) click to toggle source

Custom attribute writer method with validation @param [Object] tax_rate Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 417
def tax_rate=(tax_rate)
  if !tax_rate.nil? && tax_rate.to_s.length > 7
    fail ArgumentError, 'invalid value for "tax_rate", the character length must be smaller than or equal to 7.'
  end

  @tax_rate = tax_rate
end
tax_status_indicator=(tax_status_indicator) click to toggle source

Custom attribute writer method with validation @param [Object] tax_status_indicator Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 437
def tax_status_indicator=(tax_status_indicator)
  if !tax_status_indicator.nil? && tax_status_indicator.to_s.length > 1
    fail ArgumentError, 'invalid value for "tax_status_indicator", the character length must be smaller than or equal to 1.'
  end

  @tax_status_indicator = tax_status_indicator
end
tax_type_code=(tax_type_code) click to toggle source

Custom attribute writer method with validation @param [Object] tax_type_code Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 447
def tax_type_code=(tax_type_code)
  if !tax_type_code.nil? && tax_type_code.to_s.length > 4
    fail ArgumentError, 'invalid value for "tax_type_code", the character length must be smaller than or equal to 4.'
  end

  @tax_type_code = tax_type_code
end
to_body() click to toggle source

to_body is an alias to to_hash (backward compatibility) @return [Hash] Returns the object in the form of hash

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 615
def to_body
  to_hash
end
to_hash() click to toggle source

Returns the object in the form of hash @return [Hash] Returns the object in the form of hash

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 621
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = self.send(attr)
    next if value.nil?
    hash[param] = _to_hash(value)
  end
  hash
end
to_s() click to toggle source

Returns the string representation of the object @return [String] String presentation of the object

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 609
def to_s
  to_hash.to_s
end
total_amount=(total_amount) click to toggle source

Custom attribute writer method with validation @param [Object] total_amount Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 397
def total_amount=(total_amount)
  if !total_amount.nil? && total_amount.to_s.length > 13
    fail ArgumentError, 'invalid value for "total_amount", the character length must be smaller than or equal to 13.'
  end

  @total_amount = total_amount
end
type_of_supply=(type_of_supply) click to toggle source

Custom attribute writer method with validation @param [Object] type_of_supply Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 457
def type_of_supply=(type_of_supply)
  if !type_of_supply.nil? && type_of_supply.to_s.length > 2
    fail ArgumentError, 'invalid value for "type_of_supply", the character length must be smaller than or equal to 2.'
  end

  @type_of_supply = type_of_supply
end
unit_of_measure=(unit_of_measure) click to toggle source

Custom attribute writer method with validation @param [Object] unit_of_measure Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 387
def unit_of_measure=(unit_of_measure)
  if !unit_of_measure.nil? && unit_of_measure.to_s.length > 12
    fail ArgumentError, 'invalid value for "unit_of_measure", the character length must be smaller than or equal to 12.'
  end

  @unit_of_measure = unit_of_measure
end
unit_price=(unit_price) click to toggle source

Custom attribute writer method with validation @param [Object] unit_price Value to be assigned

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 377
def unit_price=(unit_price)
  if !unit_price.nil? && unit_price.to_s.length > 15
    fail ArgumentError, 'invalid value for "unit_price", the character length must be smaller than or equal to 15.'
  end

  @unit_price = unit_price
end
valid?() click to toggle source

Check to see if the all the properties in the model are valid @return true if the model is valid

# File lib/cyberSource_client/models/v2payments_order_information_line_items.rb, line 309
def valid?
  return false if !@product_code.nil? && @product_code.to_s.length > 255
  return false if !@product_name.nil? && @product_name.to_s.length > 255
  return false if !@product_sku.nil? && @product_sku.to_s.length > 255
  return false if !@quantity.nil? && @quantity > 9999999999
  return false if !@quantity.nil? && @quantity < 1
  return false if !@unit_price.nil? && @unit_price.to_s.length > 15
  return false if !@unit_of_measure.nil? && @unit_of_measure.to_s.length > 12
  return false if !@total_amount.nil? && @total_amount.to_s.length > 13
  return false if !@tax_amount.nil? && @tax_amount.to_s.length > 15
  return false if !@tax_rate.nil? && @tax_rate.to_s.length > 7
  return false if !@tax_applied_after_discount.nil? && @tax_applied_after_discount.to_s.length > 1
  return false if !@tax_status_indicator.nil? && @tax_status_indicator.to_s.length > 1
  return false if !@tax_type_code.nil? && @tax_type_code.to_s.length > 4
  return false if !@type_of_supply.nil? && @type_of_supply.to_s.length > 2
  return false if !@commodity_code.nil? && @commodity_code.to_s.length > 15
  return false if !@discount_amount.nil? && @discount_amount.to_s.length > 13
  return false if !@discount_rate.nil? && @discount_rate.to_s.length > 6
  return false if !@invoice_number.nil? && @invoice_number.to_s.length > 23
  true
end