NAME

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

SYNOPSIS

my $invoice_item = $stripe->invoice_item({
    amount => 2000,
    currency => 'jpy',
    customer => $customer_object,
    date => '2020-03-17',
    description => 'Support services',
    invoice => $invoice_object,
    metadata => { transaction_id => 1212, customer_id => 987 },
    plan => $plan_object,
    proration => 1,
    quantity => 7,
    subscription => $subscription_object,
});

VERSION

v0.100.1

DESCRIPTION

Sometimes you want to add a charge or credit to a customer, but actually charge or credit the customer's card only at the end of a regular billing cycle. This is useful for combining several charges (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.

CONSTRUCTOR

new( %ARG )

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

METHODS

id string

Unique identifier for the object.

object string, value is "invoiceitem"

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

amount integer

Amount (in the currency specified) of the invoice item. This should always be equal to unit_amount * quantity.

currency currency

Three-letter ISO currency code, in lowercase. Must be a supported currency (https://stripe.com/docs/currencies).

customer string (expandable)

The ID of the customer who will be billed when this invoice item is billed. When expanded, this is a Net::API::Stripe::Customer object.

date timestamp

Time at which the object was created. Measured in seconds since the Unix epoch.

description string

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

discountable boolean

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

discounts

array containing strings. expandable

The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use expand[]=discounts to expand each discount.

invoice string (expandable)

The ID of the invoice this invoice item belongs to. When expanded, this is a Net::API::Stripe::Billing::Invoice object.

livemode boolean

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

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.

period hash

The period associated with with this invoice item.

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

plan hash, plan object

If the invoice item is a proration, the plan of the subscription that the proration was computed for.

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

price hash, price object

The price of the invoice item.

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

proration boolean

Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.

quantity integer

Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.

subscription string (expandable)

The subscription that this invoice item has been created for, if any. When expanded, this is a Net::API::Stripe::Billing::Subscription object.

subscription_item string

The subscription item that this invoice item has been created for, if any.

tax_rates array of hashes

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.

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

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 integer

Unit Amount (in the currency specified) of the invoice item.

unit_amount_decimal decimal string

Same as unit_amount, but contains a decimal value with at most 12 decimal places.

API SAMPLE

{
  "id": "ii_fake123456789",
  "object": "invoiceitem",
  "amount": 8000,
  "currency": "jpy",
  "customer": "cus_fake123456789",
  "date": 1551493020,
  "description": "Unused time on Provider, Inc entrepreneur monthly membership after 02 Mar 2019",
  "discountable": false,
  "invoice": "in_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_rates": [],
  "unit_amount": 8000,
  "unit_amount_decimal": "8000"
}

HISTORY

v0.1

Initial version

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/invoiceitems, https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items

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.