The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::API::Stripe::Billing::Invoice::LineItem - A Stripe Invoice Line Item Object

SYNOPSIS

    my $line_item = $stripe->invoice_line_item({
        amount => 2000,
        currency => 'jpy',
        description 'Professional service work',
        discountable => 0,
        metadata => { transaction_id => 1212, customer_id => 987 },
        plan => $plan_object,
        proration => 0,
        quantity => 7,
        subscription => 'sub_fake123456789',
        type => 'subscription',
    });

VERSION

    v0.100.0

DESCRIPTION

This is a Stripe Net::API::Stripe::Billing::Invoice::LineItem object as documented here: https://stripe.com/docs/api/invoices/line_item

CONSTRUCTOR

new

Creates a new Net::API::Stripe::Billing::Invoice::LineItem object.

METHODS

id string

Unique identifier for the object.

object string, value is "line_item"

String representing the object’s type. Objects of the same type share the same value.

amount integer

The amount, in its smallest representation, such as cents. For example, $9 would be 900, and ¥1000 (Japanese Yen) would be 1000.

amount_excluding_tax

The integer amount representing the amount for this line item, excluding all tax and discounts.

currency currency

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

description string

An arbitrary string attached to the object. Often useful for displaying to users.

discount_amounts array of hashes

The amount of discount calculated per discount for this line item.

Properties are:

amount integer

The amount of the discount.

discount string expandable

The discount that was applied to get this discount amount.

When expanded, this is a Net::API::Stripe::Billing::Discount object.

discountable boolean

If true, discounts will apply to this line item. Always false for prorations.

discounts expandable

The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount.

When expanded this is an Net::API::Stripe::Billing::Discount object.

invoice_item string

The ID of the invoice item associated with this line item if any.

livemode boolean

Whether this is a test line item.

metadata hash

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. Note that for line items with type=subscription this will reflect the metadata of the subscription that caused the line item to be created.

period hash

The timespan covered by this invoice item.

This is a Net::API::Stripe::Billing::Invoice::Period object.

plan hash, plan object

The plan of the subscription, if the line item is a subscription or a proration.

This is a Net::API::Stripe::Billing::Plan object.

price object

The price of the line item.

This is a Net::API::Stripe::Price object.

proration boolean

Whether this is a proration.

proration_details

Additional details for proration line items

    credited_items hash

    For a credit proration line_item, the original debit line_items to which the credit proration applies.

    • invoice string

      Invoice containing the credited invoice line items

    • invoice_line_items array containing strings

      Credited invoice line items

quantity integer

The quantity of the subscription, if the line item is a subscription or a proration.

subscription string

The subscription that the invoice item pertains to, if any.

subscription_item string

The subscription item that generated this invoice item. Left empty if the line item is not an explicit result of a subscription.

tax_amounts array of hashes

The amount of tax calculated per tax rate for this line item

This is an array of Net::API::Stripe::Billing::Invoice::TaxAmount objects.

tax_rates array of hashes

The tax rates which apply to the line item.

This is an array of Net::API::Stripe::Tax::Rate objects.

type string

A string identifying the type of the source of this line item, either an invoiceitem or a subscription.

unified_proration boolean

For prorations this indicates whether Stripe automatically grouped multiple related debit and credit line items into a single combined line item.

unit_amount_excluding_tax

The amount in the currency smallest representation, such as cents representing the unit amount for this line item, excluding all tax and discounts. Example 900 for $9 or 1000 for ¥1000 (Japanese Yen).

API SAMPLE

    {
      "id": "ii_fake123456789",
      "object": "line_item",
      "amount": -2000,
      "currency": "jpy",
      "description": "Unused time on Provider, Inc entrepreneur monthly membership after 02 Mar 2019",
      "discountable": false,
      "invoice_item": "ii_fake123456789",
      "livemode": false,
      "metadata": {},
      "period": {
        "end": 1554171359,
        "start": 1551493020
      },
      "plan": {
        "id": "entrepreneur-monthly-jpy",
        "object": "plan",
        "active": true,
        "aggregate_usage": null,
        "amount": 2000,
        "amount_decimal": "2000",
        "billing_scheme": "per_unit",
        "created": 1541833424,
        "currency": "jpy",
        "interval": "month",
        "interval_count": 1,
        "livemode": false,
        "metadata": {},
        "nickname": null,
        "product": "prod_fake123456789",
        "tiers": null,
        "tiers_mode": null,
        "transform_usage": null,
        "trial_period_days": null,
        "usage_type": "licensed"
      },
      "proration": true,
      "quantity": 1,
      "subscription": "sub_fake123456789",
      "subscription_item": "si_fake123456789",
      "tax_amounts": [],
      "tax_rates": [],
      "type": "invoiceitem"
    }

HISTORY

v0.1

Initial version

STRIPE HISTORY

2019-12-03

The id field of all invoice line items have changed and are now prefixed with il_. The new id has consistent prefixes across all line items, is globally unique, and can be used for pagination.

You can no longer use the prefix of the id to determine the source of the line item. Instead use the type field for this purpose.
For lines with type=invoiceitem, use the invoice_item field to reference or update the originating Invoice Item object.
The Invoice Line Item object on earlier API versions also have a unique_id field to be used for migrating internal references before upgrading to this version.
When setting a tax rate to individual line items, use the new id. Users on earlier API versions can pass in either a line item id or unique_id.

2022-07-12

The following methods have been aded by Stripe:

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/invoices/line_item

COPYRIGHT & LICENSE

Copyright (c) 2019-2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.