The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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

    0.1

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( %ARG )

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

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.

discountable boolean

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

invoice_item string
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.

proration boolean

Whether this is a proration.

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.

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.

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.