Parameters for invoice update lines.
Summary
Types
@type lines() :: %{ optional(:amount) => integer() | nil, optional(:description) => String.t() | nil, optional(:discountable) => boolean() | nil, optional(:discounts) => map() | nil, optional(:id) => String.t() | nil, optional(:metadata) => map() | nil, optional(:period) => lines_period() | nil, optional(:price_data) => lines_price_data() | nil, optional(:pricing) => lines_pricing() | nil, optional(:quantity) => integer() | nil, optional(:tax_amounts) => map() | nil, optional(:tax_rates) => map() | nil, optional(String.t()) => term() }
amount- The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.description- An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. Max length: 5000.discountable- Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations.discounts- The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts.id- ID of an existing line item on the invoice. Max length: 5000.metadata- 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 tometadata. For type=subscription line items, the incoming metadata specified on the request is directly used to set this value, in contrast to type=invoiceitem line items, where any existing metadata on the invoice line is merged with the incoming data.period- 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.price_data- Data used to generate a new Price object inline.pricing- The pricing information for the invoice item.quantity- Non-negative integer. The quantity of units for the line item.tax_amounts- A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has tax_rates or if the invoice has default_tax_rates or uses automatic tax. Pass an empty string to remove previously defined tax amounts.tax_rates- The tax rates which apply to the line item. When set, thedefault_tax_rateson the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates.
@type lines_period() :: %{ optional(:end) => integer() | nil, optional(:start) => integer() | nil, optional(String.t()) => term() }
end- The end of the period, which must be greater than or equal to the start. This value is inclusive. Format: Unix timestamp.start- The start of the period. This value is inclusive. Format: Unix timestamp.
@type lines_price_data() :: %{ optional(:currency) => String.t() | nil, optional(:product) => String.t() | nil, optional(:product_data) => lines_price_data_product_data() | nil, optional(:tax_behavior) => String.t() | nil, optional(:unit_amount) => integer() | nil, optional(:unit_amount_decimal) => String.t() | nil, optional(String.t()) => term() }
currency- Three-letter ISO currency code, in lowercase. Must be a supported currency. Format: ISO 4217 currency code.product- The ID of the Product that this Price will belong to. One ofproductorproduct_datais required. Max length: 5000.product_data- Data used to generate a new Product object inline. One ofproductorproduct_datais required.tax_behavior- 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 ofinclusive,exclusive, orunspecified. Once specified as eitherinclusiveorexclusive, it cannot be changed. Possible values:exclusive,inclusive,unspecified.unit_amount- A non-negative integer in cents (or local equivalent) representing how much to charge. One ofunit_amountorunit_amount_decimalis required.unit_amount_decimal- Same asunit_amount, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one ofunit_amountandunit_amount_decimalcan be set. Format: decimal string.
@type lines_price_data_product_data() :: %{ optional(:description) => String.t() | nil, optional(:images) => [String.t()] | nil, optional(:metadata) => %{required(String.t()) => String.t()} | nil, optional(:name) => String.t() | nil, optional(:tax_code) => String.t() | nil, optional(:unit_label) => String.t() | nil, optional(String.t()) => term() }
description- The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. Max length: 40000.images- A list of up to 8 URLs of images for this product, meant to be displayable to the customer.metadata- 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 tometadata.name- The product's name, meant to be displayable to the customer. Max length: 5000.tax_code- A tax code ID. Max length: 5000.unit_label- A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. Max length: 12.
price- The ID of the price object. Max length: 5000.
@type t() :: %Stripe.Params.InvoiceUpdateLinesParams{ expand: [String.t()] | nil, invoice_metadata: map() | nil, lines: [lines()] }
expand- Specifies which fields in the response should be expanded.invoice_metadata- 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 tometadata. For type=subscription line items, the incoming metadata specified on the request is directly used to set this value, in contrast to type=invoiceitem line items, where any existing metadata on the invoice line is merged with the incoming data.lines- The line items to update.