UNPKG

stripe

Version:
188 lines (157 loc) 6.14 kB
// File generated from our OpenAPI spec declare module 'stripe' { namespace Stripe { namespace Tax { /** * The CalculationLineItem object. */ interface CalculationLineItem { /** * Unique identifier for the object. */ id: string; /** * String representing the object's type. Objects of the same type share the same value. */ object: 'tax.calculation_line_item'; /** * The line item amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ amount: number; /** * The amount of tax calculated for this line item, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ amount_tax: number; /** * Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ livemode: boolean; /** * Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: Stripe.Metadata | null; /** * The ID of an existing [Product](https://stripe.com/docs/api/products/object). */ product: string | null; /** * The number of units of the item being purchased. For reversals, this is the quantity reversed. */ quantity: number; /** * A custom identifier for this line item. */ reference: string; /** * Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. */ tax_behavior: CalculationLineItem.TaxBehavior; /** * Detailed account of taxes relevant to this line item. */ tax_breakdown?: Array<CalculationLineItem.TaxBreakdown> | null; /** * The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. */ tax_code: string; } namespace CalculationLineItem { type TaxBehavior = 'exclusive' | 'inclusive'; interface TaxBreakdown { /** * The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ amount: number; jurisdiction: TaxBreakdown.Jurisdiction; /** * Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). */ sourcing: TaxBreakdown.Sourcing; /** * Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. */ tax_rate_details: TaxBreakdown.TaxRateDetails | null; /** * The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. */ taxability_reason: TaxBreakdown.TaxabilityReason; /** * The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ taxable_amount: number; } namespace TaxBreakdown { interface Jurisdiction { /** * Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ country: string; /** * A human-readable name for the jurisdiction imposing the tax. */ display_name: string; /** * Indicates the level of the jurisdiction imposing the tax. */ level: Jurisdiction.Level; /** * [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. */ state: string | null; } namespace Jurisdiction { type Level = 'city' | 'country' | 'county' | 'district' | 'state'; } type Sourcing = 'destination' | 'origin'; type TaxabilityReason = | 'customer_exempt' | 'not_collecting' | 'not_subject_to_tax' | 'not_supported' | 'portion_product_exempt' | 'portion_reduced_rated' | 'portion_standard_rated' | 'product_exempt' | 'product_exempt_holiday' | 'proportionally_rated' | 'reduced_rated' | 'reverse_charge' | 'standard_rated' | 'taxable_basis_reduced' | 'zero_rated'; interface TaxRateDetails { /** * A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". */ display_name: string; /** * The tax rate percentage as a string. For example, 8.5% is represented as "8.5". */ percentage_decimal: string; /** * The tax type, such as `vat` or `sales_tax`. */ tax_type: TaxRateDetails.TaxType; } namespace TaxRateDetails { type TaxType = | 'amusement_tax' | 'communications_tax' | 'gst' | 'hst' | 'igst' | 'jct' | 'lease_tax' | 'pst' | 'qst' | 'retail_delivery_fee' | 'rst' | 'sales_tax' | 'service_tax' | 'vat'; } } } } } }