class

Stripe::Invoiceitem

Inherits OpenApi::Json < OpenApi::Validatable < JSON::Serializable::Unmapped < JSON::Serializable < Reference < Object

Invoice Items represent the component lines of an invoice. An invoice item is added to an invoice by creating or updating it with an invoice field, at which point it will be included as an invoice line item within invoice.lines. Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined with a subscription. Sometimes you want to add a charge or credit to a customer, but actually charge or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals. Related guides: Integrate with the Invoicing API, Subscription Invoices.

Constants

ERROR_MESSAGE_FOR_OBJECT = "invalid value for \"object\", must be one of [invoiceitem]."
MAX_LENGTH_FOR_DESCRIPTION = 5000
MAX_LENGTH_FOR_ID = 5000
MAX_LENGTH_FOR_SUBSCRIPTION_ITEM = 5000
VALID_VALUES_FOR_OBJECT = String.static_array("invoiceitem")

Constructors

new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source
new(*, amount : Int64 | Nil = nil, currency : String | Nil = nil, customer : Stripe::InvoiceitemCustomer | Nil = nil, date : Int64 | Nil = nil, description : String | Nil = nil, discountable : Bool | Nil = nil, discounts : Array(Stripe::InvoiceitemDiscountsInner) | Nil = nil, id : String | Nil = nil, invoice : Stripe::InvoiceitemInvoice | Nil = nil, livemode : Bool | Nil = nil, metadata : Hash(String, String) | Nil = nil, object : String | Nil = nil, period : Stripe::InvoiceLineItemPeriod | Nil = nil, plan : Stripe::InvoiceitemPlan | Nil = nil, price : Stripe::InvoiceitemPrice | Nil = nil, proration : Bool | Nil = nil, quantity : Int64 | Nil = nil, subscription : Stripe::InvoiceitemSubscription | Nil = nil, tax_rates : Array(Stripe::TaxRate) | Nil = nil, test_clock : Stripe::InvoiceitemTestClock | Nil = nil, unit_amount : Int64 | Nil = nil, unit_amount_decimal : BigDecimal | Nil = nil, subscription_item : String | Nil = nil)

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

Source

Instance methods

==(other : self)

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code

amount

Amount (in the currency specified) of the invoice item. This should always be equal to unit_amount * quantity.

Source
amount=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] amount Object to be assigned

Source
currency

Three-letter ISO currency code, in lowercase. Must be a supported currency.

Source
currency=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] currency Object to be assigned

Source
customer
Source
customer=(new_value : Stripe::InvoiceitemCustomer | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] customer Object to be assigned

Source
date

Time at which the object was created. Measured in seconds since the Unix epoch.

Source
date=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] date Object to be assigned

Source
description

An arbitrary string attached to the object. Often useful for displaying to users.

Source
description=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] description Object to be assigned

Source
discountable

If true, discounts will apply to this invoice item. Always false for prorations.

Source
discountable=(new_value : Bool | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] discountable Object to be assigned

Source
discounts

The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount.

Source
discounts=(new_value : Array(Stripe::InvoiceitemDiscountsInner) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] discounts Object to be assigned

Source
hash(hasher)

Generates #hash and #== methods from all fields #== @return [Bool] #hash calculates hash code according to all attributes. #hash @return [UInt64] Hash code

id

Unique identifier for the object.

Source
id=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] id Object to be assigned

Source
invoice
Source
invoice=(new_value : Stripe::InvoiceitemInvoice | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] invoice Object to be assigned

Source
list_invalid_properties

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

Source
livemode

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

Source
livemode=(new_value : Bool | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] livemode Object to be assigned

Source
metadata
Source
metadata=(new_value : Hash(String, String) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] metadata Object to be assigned

Source
object

String representing the object's type. Objects of the same type share the same value.

Source
object=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] object Object to be assigned

Source
period
Source
period=(new_value : Stripe::InvoiceLineItemPeriod | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] period Object to be assigned

Source
plan
Source
plan=(new_value : Stripe::InvoiceitemPlan | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] plan Object to be assigned

Source
price
Source
price=(new_value : Stripe::InvoiceitemPrice | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] price Object to be assigned

Source
proration

Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.

Source
proration=(new_value : Bool | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] proration Object to be assigned

Source
quantity

Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.

Source
quantity=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] quantity Object to be assigned

Source
subscription
Source
subscription=(new_value : Stripe::InvoiceitemSubscription | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] subscription Object to be assigned

Source
subscription_item

The subscription item that this invoice item has been created for, if any.

Source
subscription_item=(new_value : String | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] subscription_item Object to be assigned

Source
tax_rates

The tax rates which apply to the invoice item. When set, the default_tax_rates on the invoice do not apply to this invoice item.

Source
tax_rates=(new_value : Array(Stripe::TaxRate) | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] tax_rates Object to be assigned

Source
test_clock
Source
test_clock=(new_value : Stripe::InvoiceitemTestClock | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] test_clock Object to be assigned

Source
unit_amount

Unit amount (in the currency specified) of the invoice item.

Source
unit_amount=(new_value : Int64 | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] unit_amount Object to be assigned

Source
unit_amount_decimal

Same as unit_amount, but contains a decimal value with at most 12 decimal places.

Source
unit_amount_decimal=(new_value : BigDecimal | Nil)

Custom attribute writer method checking allowed values (enum). @param [Object] unit_amount_decimal Object to be assigned

Source
valid?

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

Source