class Stripe::Invoiceitem

Overview

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.

Included Modules

Defined in:

stripe/models/invoiceitem.cr

Constant Summary

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

Instance Method Summary

Instance methods inherited from module OpenApi::Json

after_initialize after_initialize, clone clone, eql?(o : self) eql?, to_hash : Hash(String, JSON::Any) to_hash, to_json_any : JSON::Any to_json_any

Class methods inherited from module OpenApi::Json

build_from_hash(hash : Hash) build_from_hash, build_from_json_any(json_any : JSON::Any) build_from_json_any

Instance methods inherited from module OpenApi::Validatable

list_invalid_properties : Array(String) list_invalid_properties, list_invalid_properties_for(key : String) : Array(String) list_invalid_properties_for, valid? : Bool valid?, validate : Nil validate

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]
def self.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


[View source]

Instance Method Detail

def ==(other : self) #

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


def amount : Int64 | Nil #

[View source]
def amount=(new_value : Int64 | Nil) #

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


[View source]
def currency : String | Nil #

[View source]
def currency=(new_value : String | Nil) #

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


[View source]
def customer : Stripe::InvoiceitemCustomer | Nil #

[View source]
def customer=(new_value : Stripe::InvoiceitemCustomer | Nil) #

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


[View source]
def date : Int64 | Nil #

[View source]
def date=(new_value : Int64 | Nil) #

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


[View source]
def description : String | Nil #

[View source]
def description=(new_value : String | Nil) #

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


[View source]
def discountable : Bool | Nil #

[View source]
def discountable=(new_value : Bool | Nil) #

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


[View source]
def discounts : Array(Stripe::InvoiceitemDiscountsInner) | Nil #

[View source]
def discounts=(new_value : Array(Stripe::InvoiceitemDiscountsInner) | Nil) #

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


[View source]
def hash(hasher) #

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


def id : String | Nil #

[View source]
def id=(new_value : String | Nil) #

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


[View source]
def invoice : Stripe::InvoiceitemInvoice | Nil #

[View source]
def invoice=(new_value : Stripe::InvoiceitemInvoice | Nil) #

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


[View source]
def list_invalid_properties : Array(String) #

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


[View source]
def livemode : Bool | Nil #

[View source]
def livemode=(new_value : Bool | Nil) #

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


[View source]
def metadata : Hash(String, String) | Nil #

[View source]
def metadata=(new_value : Hash(String, String) | Nil) #

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


[View source]
def object : String | Nil #

[View source]
def object=(new_value : String | Nil) #

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


[View source]
def period : Stripe::InvoiceLineItemPeriod | Nil #

[View source]
def period=(new_value : Stripe::InvoiceLineItemPeriod | Nil) #

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


[View source]
def plan : Stripe::InvoiceitemPlan | Nil #

[View source]
def plan=(new_value : Stripe::InvoiceitemPlan | Nil) #

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


[View source]
def price : Stripe::InvoiceitemPrice | Nil #

[View source]
def price=(new_value : Stripe::InvoiceitemPrice | Nil) #

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


[View source]
def proration : Bool | Nil #

[View source]
def proration=(new_value : Bool | Nil) #

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


[View source]
def quantity : Int64 | Nil #

[View source]
def quantity=(new_value : Int64 | Nil) #

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


[View source]
def subscription : Stripe::InvoiceitemSubscription | Nil #

[View source]
def subscription=(new_value : Stripe::InvoiceitemSubscription | Nil) #

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


[View source]
def subscription_item : String | Nil #

[View source]
def subscription_item=(new_value : String | Nil) #

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


[View source]
def tax_rates : Array(Stripe::TaxRate) | Nil #

[View source]
def tax_rates=(new_value : Array(Stripe::TaxRate) | Nil) #

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


[View source]
def test_clock : Stripe::InvoiceitemTestClock | Nil #

[View source]
def test_clock=(new_value : Stripe::InvoiceitemTestClock | Nil) #

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


[View source]
def unit_amount : Int64 | Nil #

[View source]
def unit_amount=(new_value : Int64 | Nil) #

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


[View source]
def unit_amount_decimal : BigDecimal | Nil #

[View source]
def unit_amount_decimal=(new_value : BigDecimal | Nil) #

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


[View source]
def valid? : Bool #

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


[View source]