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](stripe.com/docs/api/invoices) and only exist within the context of an invoice.
Each line item is backed by either an [invoice item](stripe.com/docs/api/invoiceitems) or a [subscription item](stripe.com/docs/api/subscription_items).
Defined Under Namespace
Classes: DiscountAmount, Parent, Period, PretaxCreditAmount, Pricing, Tax
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
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/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
The quantity of the subscription, if the line item is a subscription or a proration.
-
#subscription ⇒ Object
readonly
Attribute for field subscription.
-
#taxes ⇒ Object
readonly
The tax information of the line item.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
- .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).
242 243 244 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 242 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).
244 245 246 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 244 def currency @currency end |
#description ⇒ Object (readonly)
An arbitrary string attached to the object. Often useful for displaying to users.
246 247 248 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 246 def description @description end |
#discount_amounts ⇒ Object (readonly)
The amount of discount calculated per discount for this line item.
248 249 250 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 248 def discount_amounts @discount_amounts end |
#discountable ⇒ Object (readonly)
If true, discounts will apply to this line item. Always false for prorations.
250 251 252 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 250 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.
252 253 254 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 252 def discounts @discounts end |
#id ⇒ Object (readonly)
Unique identifier for the object.
254 255 256 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 254 def id @id end |
#invoice ⇒ Object (readonly)
The ID of the invoice that contains this line item.
256 257 258 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 256 def invoice @invoice end |
#livemode ⇒ Object (readonly)
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
258 259 260 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 258 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](stripe.com/docs/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.
260 261 262 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 260 def @metadata end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
262 263 264 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 262 def object @object end |
#parent ⇒ Object (readonly)
The parent that generated this line item.
264 265 266 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 264 def parent @parent end |
#period ⇒ Object (readonly)
Attribute for field period
266 267 268 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 266 def period @period end |
#pretax_credit_amounts ⇒ Object (readonly)
Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item.
268 269 270 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 268 def pretax_credit_amounts @pretax_credit_amounts end |
#pricing ⇒ Object (readonly)
The pricing information of the line item.
270 271 272 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 270 def pricing @pricing end |
#quantity ⇒ Object (readonly)
The quantity of the subscription, if the line item is a subscription or a proration.
272 273 274 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 272 def quantity @quantity end |
#subscription ⇒ Object (readonly)
Attribute for field subscription
274 275 276 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 274 def subscription @subscription end |
#taxes ⇒ Object (readonly)
The tax information of the line item.
276 277 278 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 276 def taxes @taxes end |
Class Method Details
.field_remappings ⇒ Object
302 303 304 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 302 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
291 292 293 294 295 296 297 298 299 300 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 291 def self.inner_class_types @inner_class_types = { discount_amounts: DiscountAmount, parent: Parent, period: Period, pretax_credit_amounts: PretaxCreditAmount, pricing: Pricing, 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.
282 283 284 285 286 287 288 289 |
# File 'lib/stripe/resources/invoice_line_item.rb', line 282 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 |