Class: Stripe::InvoiceItemCreateParams

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

Defined Under Namespace

Classes: Discount, ManagedPayments, 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, managed_payments: 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.



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
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/stripe/params/invoice_item_create_params.rb', line 154

def initialize(
  amount: nil,
  currency: nil,
  customer: nil,
  customer_account: nil,
  description: nil,
  discountable: nil,
  discounts: nil,
  expand: nil,
  invoice: nil,
  managed_payments: 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
  @managed_payments = managed_payments
  @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.



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

def amount
  @amount
end

#currencyObject

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



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

def currency
  @currency
end

#customerObject

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



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

def customer
  @customer
end

#customer_accountObject

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



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

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.



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

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.



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

def discountable
  @discountable
end

#discountsObject

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



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

def discounts
  @discounts
end

#expandObject

Specifies which fields in the response should be expanded.



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

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.



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

def invoice
  @invoice
end

#managed_paymentsObject

Settings for Managed Payments for this invoice item.



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

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



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

def margins
  @margins
end

#metadataObject

Set of key-value pairs 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.



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

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 enabled, the period will be used to recognize and defer revenue. See the Revenue Recognition documentation for details.



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

def period
  @period
end

#price_dataObject

Data used to generate a new Price object inline.



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

def price_data
  @price_data
end

#pricingObject

The pricing information for the invoice item.



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

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.



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

def quantity
  @quantity
end

#quantity_decimalObject

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



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

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.



144
145
146
# File 'lib/stripe/params/invoice_item_create_params.rb', line 144

def subscription
  @subscription
end

#tax_behaviorObject

Only required if a default tax behavior 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.



146
147
148
# File 'lib/stripe/params/invoice_item_create_params.rb', line 146

def tax_behavior
  @tax_behavior
end

#tax_codeObject

A tax code ID.



148
149
150
# File 'lib/stripe/params/invoice_item_create_params.rb', line 148

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.



150
151
152
# File 'lib/stripe/params/invoice_item_create_params.rb', line 150

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.



152
153
154
# File 'lib/stripe/params/invoice_item_create_params.rb', line 152

def unit_amount_decimal
  @unit_amount_decimal
end

Class Method Details

.field_encodingsObject



202
203
204
205
206
207
208
# File 'lib/stripe/params/invoice_item_create_params.rb', line 202

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