Class: Stripe::InvoiceLineItem
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::InvoiceLineItem
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/invoice_line_item.rb
Overview
Invoice Line Items represent the individual lines within an [invoice](docs.stripe.com/api/invoices) and only exist within the context of an invoice.
Each line item is backed by either an [invoice item](docs.stripe.com/api/invoiceitems) or a [subscription item](docs.stripe.com/api/subscription_items).
Defined Under Namespace
Classes: DiscountAmount, MarginAmount, Parent, Period, PretaxCreditAmount, Pricing, Tax, TaxCalculationReference
Constant Summary collapse
- OBJECT_NAME =
"line_item"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
The amount, in cents (or local equivalent).
-
#currency ⇒ Object
readonly
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase.
-
#description ⇒ Object
readonly
An arbitrary string attached to the object.
-
#discount_amounts ⇒ Object
readonly
The amount of discount calculated per discount for this line item.
-
#discountable ⇒ Object
readonly
If true, discounts will apply to this line item.
-
#discounts ⇒ Object
readonly
The discounts applied to the invoice line item.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#invoice ⇒ Object
readonly
The ID of the invoice that contains this line item.
-
#livemode ⇒ Object
readonly
If the object exists in live mode, the value is ‘true`.
-
#margin_amounts ⇒ Object
readonly
The amount of margin calculated per margin for this line item.
-
#margins ⇒ Object
readonly
The margins applied to the line item.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#parent ⇒ Object
readonly
The parent that generated this line item.
-
#period ⇒ Object
readonly
Attribute for field period.
-
#pretax_credit_amounts ⇒ Object
readonly
Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item.
-
#pricing ⇒ Object
readonly
The pricing information of the line item.
-
#quantity ⇒ Object
readonly
Quantity of units for the invoice line item in integer format, with any decimal precision truncated.
-
#quantity_decimal ⇒ Object
readonly
Non-negative decimal with at most 12 decimal places.
-
#subscription ⇒ Object
readonly
Attribute for field subscription.
-
#subtotal ⇒ Object
readonly
The subtotal of the line item, in cents (or local equivalent), before any discounts or taxes.
-
#tax_calculation_reference ⇒ Object
readonly
The tax calculation identifiers of the line item.
-
#taxes ⇒ Object
readonly
The tax information of the line item.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
- .field_encodings ⇒ Object
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
- .object_name ⇒ Object
-
.update(invoice, line_item_id, params = {}, opts = {}) ⇒ Object
Updates an invoice’s line item.
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#amount ⇒ Object (readonly)
The amount, in cents (or local equivalent).
432 433 434 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 432 def amount @amount end |
#currency ⇒ Object (readonly)
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).
434 435 436 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 434 def currency @currency end |
#description ⇒ Object (readonly)
An arbitrary string attached to the object. Often useful for displaying to users.
436 437 438 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 436 def description @description end |
#discount_amounts ⇒ Object (readonly)
The amount of discount calculated per discount for this line item.
438 439 440 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 438 def discount_amounts @discount_amounts end |
#discountable ⇒ Object (readonly)
If true, discounts will apply to this line item. Always false for prorations.
440 441 442 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 440 def discountable @discountable end |
#discounts ⇒ Object (readonly)
The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use ‘expand[]=discounts` to expand each discount.
442 443 444 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 442 def discounts @discounts end |
#id ⇒ Object (readonly)
Unique identifier for the object.
444 445 446 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 444 def id @id end |
#invoice ⇒ Object (readonly)
The ID of the invoice that contains this line item.
446 447 448 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 446 def invoice @invoice end |
#livemode ⇒ Object (readonly)
If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.
448 449 450 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 448 def livemode @livemode end |
#margin_amounts ⇒ Object (readonly)
The amount of margin calculated per margin for this line item.
450 451 452 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 450 def margin_amounts @margin_amounts end |
#margins ⇒ Object (readonly)
The margins applied to the line item. When set, the ‘default_margins` on the invoice do not apply to the line item. Use `expand[]=margins` to expand each margin.
452 453 454 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 452 def margins @margins end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with ‘type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation.
454 455 456 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 454 def @metadata end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
456 457 458 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 456 def object @object end |
#parent ⇒ Object (readonly)
The parent that generated this line item.
458 459 460 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 458 def parent @parent end |
#period ⇒ Object (readonly)
Attribute for field period
460 461 462 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 460 def period @period end |
#pretax_credit_amounts ⇒ Object (readonly)
Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item.
462 463 464 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 462 def pretax_credit_amounts @pretax_credit_amounts end |
#pricing ⇒ Object (readonly)
The pricing information of the line item.
464 465 466 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 464 def pricing @pricing end |
#quantity ⇒ Object (readonly)
Quantity of units for the invoice line item in integer format, with any decimal precision truncated. For the line item’s full-precision decimal quantity, use ‘quantity_decimal`. This field will be deprecated in favor of `quantity_decimal` in a future version. If the line item is a proration or subscription, the quantity of the subscription that the proration was computed for.
466 467 468 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 466 def quantity @quantity end |
#quantity_decimal ⇒ Object (readonly)
Non-negative decimal with at most 12 decimal places. The quantity of units for the line item.
468 469 470 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 468 def quantity_decimal @quantity_decimal end |
#subscription ⇒ Object (readonly)
Attribute for field subscription
470 471 472 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 470 def subscription @subscription end |
#subtotal ⇒ Object (readonly)
The subtotal of the line item, in cents (or local equivalent), before any discounts or taxes.
472 473 474 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 472 def subtotal @subtotal end |
#tax_calculation_reference ⇒ Object (readonly)
The tax calculation identifiers of the line item.
474 475 476 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 474 def tax_calculation_reference @tax_calculation_reference end |
#taxes ⇒ Object (readonly)
The tax information of the line item.
476 477 478 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 476 def taxes @taxes end |
Class Method Details
.field_encodings ⇒ Object
508 509 510 511 512 513 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 508 def self.field_encodings @field_encodings = { pricing: { kind: :object, fields: { unit_amount_decimal: :decimal_string } }, quantity_decimal: :decimal_string, } end |
.field_remappings ⇒ Object
504 505 506 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 504 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
491 492 493 494 495 496 497 498 499 500 501 502 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 491 def self.inner_class_types @inner_class_types = { discount_amounts: DiscountAmount, margin_amounts: MarginAmount, parent: Parent, period: Period, pretax_credit_amounts: PretaxCreditAmount, pricing: Pricing, tax_calculation_reference: TaxCalculationReference, taxes: Tax, } end |
.object_name ⇒ Object
12 13 14 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 12 def self.object_name "line_item" end |
.update(invoice, line_item_id, params = {}, opts = {}) ⇒ Object
Updates an invoice’s line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice’s line item is only possible before the invoice is finalized.
482 483 484 485 486 487 488 489 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 482 def self.update(invoice, line_item_id, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/invoices/%<invoice>s/lines/%<line_item_id>s", { invoice: CGI.escape(invoice), line_item_id: CGI.escape(line_item_id) }), params: params, opts: opts ) end |