Class: Stripe::InvoiceCreatePreviewParams::InvoiceItem

Inherits:
RequestParams
  • Object
show all
Defined in:
lib/stripe/params/invoice_create_preview_params.rb

Defined Under Namespace

Classes: Discount, Period, PriceData

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

attr_accessor, coerce_params, coerce_value, new, #to_h

Constructor Details

#initialize(amount: nil, currency: nil, description: nil, discountable: nil, discounts: nil, invoiceitem: nil, metadata: nil, period: nil, price: nil, price_data: nil, quantity: nil, quantity_decimal: nil, tax_behavior: nil, tax_code: nil, tax_rates: nil, unit_amount: nil, unit_amount_decimal: nil) ⇒ InvoiceItem

Returns a new instance of InvoiceItem.



362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 362

def initialize(
  amount: nil,
  currency: nil,
  description: nil,
  discountable: nil,
  discounts: nil,
  invoiceitem: nil,
  metadata: nil,
  period: nil,
  price: nil,
  price_data: nil,
  quantity: nil,
  quantity_decimal: nil,
  tax_behavior: nil,
  tax_code: nil,
  tax_rates: nil,
  unit_amount: nil,
  unit_amount_decimal: nil
)
  @amount = amount
  @currency = currency
  @description = description
  @discountable = discountable
  @discounts = discounts
  @invoiceitem = invoiceitem
  @metadata = 
  @period = period
  @price = price
  @price_data = price_data
  @quantity = quantity
  @quantity_decimal = quantity_decimal
  @tax_behavior = tax_behavior
  @tax_code = tax_code
  @tax_rates = tax_rates
  @unit_amount = unit_amount
  @unit_amount_decimal = unit_amount_decimal
end

Instance Attribute Details

#amountObject

The integer amount in cents (or local equivalent) of previewed invoice item.



328
329
330
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 328

def amount
  @amount
end

#currencyObject

Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies). Only applicable to new invoice items.



330
331
332
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 330

def currency
  @currency
end

#descriptionObject

An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.



332
333
334
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 332

def description
  @description
end

#discountableObject

Explicitly controls whether discounts apply to this invoice item. Defaults to true, except for negative invoice items.



334
335
336
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 334

def discountable
  @discountable
end

#discountsObject

The coupons to redeem into discounts for the invoice item in the preview.



336
337
338
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 336

def discounts
  @discounts
end

#invoiceitemObject

The ID of the invoice item to update in preview. If not specified, a new invoice item will be added to the preview of the upcoming invoice.



338
339
340
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 338

def invoiceitem
  @invoiceitem
end

#metadataObject

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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to ‘metadata`.



340
341
342
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 340

def 
  @metadata
end

#periodObject

The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](docs.stripe.com/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](docs.stripe.com/revenue-recognition/methodology/subscriptions-and-invoicing) for details.



342
343
344
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 342

def period
  @period
end

#priceObject

The ID of the price object. One of ‘price` or `price_data` is required.



344
345
346
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 344

def price
  @price
end

#price_dataObject

Data used to generate a new [Price](docs.stripe.com/api/prices) object inline. One of ‘price` or `price_data` is required.



346
347
348
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 346

def price_data
  @price_data
end

#quantityObject

Non-negative integer. The quantity of units for the invoice item. Use ‘quantity_decimal` instead to provide decimal precision. This field will be deprecated in favor of `quantity_decimal` in a future version.



348
349
350
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 348

def quantity
  @quantity
end

#quantity_decimalObject

Non-negative decimal with at most 12 decimal places. The quantity of units for the invoice item.



350
351
352
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 350

def quantity_decimal
  @quantity_decimal
end

#tax_behaviorObject

Only required if a [default tax behavior](docs.stripe.com/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of ‘inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.



352
353
354
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 352

def tax_behavior
  @tax_behavior
end

#tax_codeObject



354
355
356
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 354

def tax_code
  @tax_code
end

#tax_ratesObject

The tax rates that apply to the item. When set, any ‘default_tax_rates` do not apply to this item.



356
357
358
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 356

def tax_rates
  @tax_rates
end

#unit_amountObject

The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer’s account, pass a negative unit_amount.



358
359
360
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 358

def unit_amount
  @unit_amount
end

#unit_amount_decimalObject

Same as ‘unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.



360
361
362
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 360

def unit_amount_decimal
  @unit_amount_decimal
end

Class Method Details

.field_encodingsObject



400
401
402
403
404
405
406
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 400

def self.field_encodings
  @field_encodings = {
    price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
    quantity_decimal: :decimal_string,
    unit_amount_decimal: :decimal_string,
  }
end