Class: Stripe::InvoiceItemCreateParams

Inherits:
RequestParams show all
Defined in:
lib/stripe/params/invoice_item_create_params.rb

Defined Under Namespace

Classes: Discount, Period, PriceData, Pricing

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, customer: nil, customer_account: nil, description: nil, discountable: nil, discounts: nil, expand: nil, invoice: nil, margins: nil, metadata: nil, period: nil, price_data: nil, pricing: nil, quantity: nil, quantity_decimal: nil, subscription: nil, tax_behavior: nil, tax_code: nil, tax_rates: nil, unit_amount_decimal: nil) ⇒ InvoiceItemCreateParams

Returns a new instance of InvoiceItemCreateParams.



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# File 'lib/stripe/params/invoice_item_create_params.rb', line 143

def initialize(
  amount: nil,
  currency: nil,
  customer: nil,
  customer_account: nil,
  description: nil,
  discountable: nil,
  discounts: nil,
  expand: nil,
  invoice: nil,
  margins: nil,
  metadata: nil,
  period: nil,
  price_data: nil,
  pricing: nil,
  quantity: nil,
  quantity_decimal: nil,
  subscription: nil,
  tax_behavior: nil,
  tax_code: nil,
  tax_rates: nil,
  unit_amount_decimal: nil
)
  @amount = amount
  @currency = currency
  @customer = customer
  @customer_account = 
  @description = description
  @discountable = discountable
  @discounts = discounts
  @expand = expand
  @invoice = invoice
  @margins = margins
  @metadata = 
  @period = period
  @price_data = price_data
  @pricing = pricing
  @quantity = quantity
  @quantity_decimal = quantity_decimal
  @subscription = subscription
  @tax_behavior = tax_behavior
  @tax_code = tax_code
  @tax_rates = tax_rates
  @unit_amount_decimal = unit_amount_decimal
end

Instance Attribute Details

#amountObject

The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative ‘amount` will reduce the `amount_due` on the invoice.



101
102
103
# File 'lib/stripe/params/invoice_item_create_params.rb', line 101

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).



103
104
105
# File 'lib/stripe/params/invoice_item_create_params.rb', line 103

def currency
  @currency
end

#customerObject

The ID of the customer to bill for this invoice item.



105
106
107
# File 'lib/stripe/params/invoice_item_create_params.rb', line 105

def customer
  @customer
end

#customer_accountObject

The ID of the account representing the customer to bill for this invoice item.



107
108
109
# File 'lib/stripe/params/invoice_item_create_params.rb', line 107

def 
  @customer_account
end

#descriptionObject

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



109
110
111
# File 'lib/stripe/params/invoice_item_create_params.rb', line 109

def description
  @description
end

#discountableObject

Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.



111
112
113
# File 'lib/stripe/params/invoice_item_create_params.rb', line 111

def discountable
  @discountable
end

#discountsObject

The coupons and promotion codes to redeem into discounts for the invoice item or invoice line item.



113
114
115
# File 'lib/stripe/params/invoice_item_create_params.rb', line 113

def discounts
  @discounts
end

#expandObject

Specifies which fields in the response should be expanded.



115
116
117
# File 'lib/stripe/params/invoice_item_create_params.rb', line 115

def expand
  @expand
end

#invoiceObject

The ID of an existing invoice to add this invoice item to. For subscription invoices, when left blank, the invoice item will be added to the next upcoming scheduled invoice. For standalone invoices, the invoice item won’t be automatically added unless you pass ‘pending_invoice_item_behavior: ’include’‘ when creating the invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.



117
118
119
# File 'lib/stripe/params/invoice_item_create_params.rb', line 117

def invoice
  @invoice
end

#marginsObject

The ids of the margins to apply to the invoice item. When set, the ‘default_margins` on the invoice do not apply to this invoice item.



119
120
121
# File 'lib/stripe/params/invoice_item_create_params.rb', line 119

def margins
  @margins
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`.



121
122
123
# File 'lib/stripe/params/invoice_item_create_params.rb', line 121

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.



123
124
125
# File 'lib/stripe/params/invoice_item_create_params.rb', line 123

def period
  @period
end

#price_dataObject

Data used to generate a new [Price](docs.stripe.com/api/prices) object inline.



125
126
127
# File 'lib/stripe/params/invoice_item_create_params.rb', line 125

def price_data
  @price_data
end

#pricingObject

The pricing information for the invoice item.



127
128
129
# File 'lib/stripe/params/invoice_item_create_params.rb', line 127

def pricing
  @pricing
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.



129
130
131
# File 'lib/stripe/params/invoice_item_create_params.rb', line 129

def quantity
  @quantity
end

#quantity_decimalObject

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



131
132
133
# File 'lib/stripe/params/invoice_item_create_params.rb', line 131

def quantity_decimal
  @quantity_decimal
end

#subscriptionObject

The ID of a subscription to add this invoice item to. When left blank, the invoice item is added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.



133
134
135
# File 'lib/stripe/params/invoice_item_create_params.rb', line 133

def subscription
  @subscription
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.



135
136
137
# File 'lib/stripe/params/invoice_item_create_params.rb', line 135

def tax_behavior
  @tax_behavior
end

#tax_codeObject



137
138
139
# File 'lib/stripe/params/invoice_item_create_params.rb', line 137

def tax_code
  @tax_code
end

#tax_ratesObject

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.



139
140
141
# File 'lib/stripe/params/invoice_item_create_params.rb', line 139

def tax_rates
  @tax_rates
end

#unit_amount_decimalObject

The decimal unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This ‘unit_amount_decimal` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount_decimal` will reduce the `amount_due` on the invoice. Accepts at most 12 decimal places.



141
142
143
# File 'lib/stripe/params/invoice_item_create_params.rb', line 141

def unit_amount_decimal
  @unit_amount_decimal
end

Class Method Details

.field_encodingsObject



189
190
191
192
193
194
195
# File 'lib/stripe/params/invoice_item_create_params.rb', line 189

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