The Subscription object 

Billing
Subscriptions
The Subscription object

Attributes

  • idstring

    Unique identifier for the object.

  • automatic_taxobject

    Automatic tax settings for this subscription.

    • automatic_tax.enabledboolean

      Whether Stripe automatically computes tax on this subscription.

    • automatic_tax.liabilitynullable objectConnect only

      The account that’s liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.

      • automatic_tax.liability.accountnullable stringExpandable

        The connected account being referenced when type is account.

      • automatic_tax.liability.typeenum

        Type of the account referenced.

        Possible enum values
        account

        Indicates that the account being referenced is a connected account which is different from the account making the API request but related to it.

        self

        Indicates that the account being referenced is the account making the API request.

  • cancel_at_period_endboolean

    Whether this subscription will (if status=active) or did (if status=canceled) cancel at the end of the current billing period.

  • currencyenum

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

  • current_period_endtimestamp

    End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.

  • current_period_starttimestamp

    Start of the current period that the subscription has been invoiced for.

  • customerstringExpandable

    ID of the customer who owns the subscription.

  • default_payment_methodnullable stringExpandable

    ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over default_source. If neither are set, invoices will use the customer’s invoice_settings.default_payment_method or default_source.

  • descriptionnullable string

    The subscription’s description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.

  • itemsobject

    List of subscription items, each with an attached price.

    • items.objectstring

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

    • items.dataarray of objects

      Details about each object.

      • items.data.idstring

        Unique identifier for the object.

      • items.data.objectstring

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

      • items.data.billing_thresholdsnullable object

        Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period

        • items.data.billing_thresholds.usage_gtenullable integer

          Usage threshold that triggers the subscription to create an invoice

      • items.data.createdinteger

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

      • items.data.discountsarray of stringsExpandable

        The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use expand[]=discounts to expand each discount.

      • items.data.metadataobject

        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.

      • items.data.priceobject

        The price the customer is subscribed to.

        • items.data.price.idstring

          Unique identifier for the object.

        • items.data.price.objectstring

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

        • items.data.price.activeboolean

          Whether the price can be used for new purchases.

        • items.data.price.billing_schemeenum

          Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

          Possible enum values
          per_unit
          tiered
        • items.data.price.createdtimestamp

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

        • items.data.price.currencyenum

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

        • items.data.price.currency_optionsnullable objectExpandable

          Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.

          • items.data.price.currency_options.<currency>.custom_unit_amountnullable object

            When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

            • items.data.price.currency_options.<currency>.custom_unit_amount.maximumnullable integer

              The maximum unit amount the customer can specify for this item.

            • items.data.price.currency_options.<currency>.custom_unit_amount.minimumnullable integer

              The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

            • items.data.price.currency_options.<currency>.custom_unit_amount.presetnullable integer

              The starting unit amount which can be updated by the customer.

          • items.data.price.currency_options.<currency>.tax_behaviornullable enum

            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 of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

            Possible enum values
            exclusive
            inclusive
            unspecified
          • items.data.price.currency_options.<currency>.tiersnullable array of objectsExpandable

            Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

            • items.data.price.currency_options.<currency>.tiers.flat_amountnullable integer

              Price for the entire tier.

            • items.data.price.currency_options.<currency>.tiers.flat_amount_decimalnullable decimal string

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

            • items.data.price.currency_options.<currency>.tiers.unit_amountnullable integer

              Per unit price for units relevant to the tier.

            • items.data.price.currency_options.<currency>.tiers.unit_amount_decimalnullable decimal string

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

            • items.data.price.currency_options.<currency>.tiers.up_tonullable integer

              Up to and including to this quantity will be contained in the tier.

          • items.data.price.currency_options.<currency>.unit_amountnullable integer

            The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

          • items.data.price.currency_options.<currency>.unit_amount_decimalnullable decimal string

            The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

        • items.data.price.custom_unit_amountnullable object

          When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

          • items.data.price.custom_unit_amount.maximumnullable integer

            The maximum unit amount the customer can specify for this item.

          • items.data.price.custom_unit_amount.minimumnullable integer

            The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

          • items.data.price.custom_unit_amount.presetnullable integer

            The starting unit amount which can be updated by the customer.

        • items.data.price.livemodeboolean

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

        • items.data.price.lookup_keynullable string

          A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

        • items.data.price.metadataobject

          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.

        • items.data.price.nicknamenullable string

          A brief description of the price, hidden from customers.

        • items.data.price.productstringExpandable

          The ID of the product this price is associated with.

        • items.data.price.recurringnullable object

          The recurring components of a price such as interval and usage_type.

          • items.data.price.recurring.aggregate_usagenullable enum

            Specifies a usage aggregation strategy for prices of usage_type=metered. Defaults to sum.

            Possible enum values
            last_during_period

            Use the last usage record reported within a period.

            last_ever

            Use the last usage record ever reported (across period bounds).

            max

            Use the usage record with the maximum reported usage during a period.

            sum

            Sum up all usage during a period. This is the default behavior.

          • items.data.price.recurring.intervalenum

            The frequency at which a subscription is billed. One of day, week, month or year.

          • items.data.price.recurring.interval_countinteger

            The number of intervals (specified in the interval attribute) between subscription billings. For example, interval=month and interval_count=3 bills every 3 months.

          • items.data.price.recurring.meternullable string

            The meter tracking the usage of a metered price

          • items.data.price.recurring.usage_typeenum

            Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

        • items.data.price.tax_behaviornullable enum

          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 of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

          Possible enum values
          exclusive
          inclusive
          unspecified
        • items.data.price.tiersnullable array of objectsExpandable

          Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

          • items.data.price.tiers.flat_amountnullable integer

            Price for the entire tier.

          • items.data.price.tiers.flat_amount_decimalnullable decimal string

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

          • items.data.price.tiers.unit_amountnullable integer

            Per unit price for units relevant to the tier.

          • items.data.price.tiers.unit_amount_decimalnullable decimal string

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

          • items.data.price.tiers.up_tonullable integer

            Up to and including to this quantity will be contained in the tier.

        • items.data.price.tiers_modenullable enum

          Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price. In graduated tiering, pricing can change as the quantity grows.

          Possible enum values
          graduated
          volume
        • items.data.price.transform_quantitynullable object

          Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with tiers.

          • items.data.price.transform_quantity.divide_byinteger

            Divide usage by this number.

          • items.data.price.transform_quantity.roundenum

            After division, either round the result up or down.

        • items.data.price.typeenum

          One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

          Possible enum values
          one_time
          recurring
        • items.data.price.unit_amountnullable integer

          The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

        • items.data.price.unit_amount_decimalnullable decimal string

          The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

      • items.data.quantitynullable integer

        The quantity of the plan to which the customer should be subscribed.

      • items.data.subscriptionstring

        The subscription this subscription_item belongs to.

      • items.data.tax_ratesnullable array of objects

        The tax rates which apply to this subscription_item. When set, the default_tax_rates on the subscription do not apply to this subscription_item.

        • items.data.tax_rates.idstring

          Unique identifier for the object.

        • items.data.tax_rates.objectstring

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

        • items.data.tax_rates.activeboolean

          Defaults to true. When set to false, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

        • items.data.tax_rates.countrynullable string

          Two-letter country code (ISO 3166-1 alpha-2).

        • items.data.tax_rates.createdtimestamp

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

        • items.data.tax_rates.descriptionnullable string

          An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

        • items.data.tax_rates.display_namestring

          The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.

        • items.data.tax_rates.effective_percentagenullable float

          Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.

        • items.data.tax_rates.flat_amountnullable object

          The amount of the tax rate when the rate_type is flat_amount. Tax rates with rate_type percentage can vary based on the transaction, resulting in this field being null. This field exposes the amount and currency of the flat tax rate.

          • items.data.tax_rates.flat_amount.amountinteger

            Amount of the tax when the rate_type is flat_amount. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

          • items.data.tax_rates.flat_amount.currencystring

            Three-letter ISO currency code, in lowercase.

        • items.data.tax_rates.inclusiveboolean

          This specifies if the tax rate is inclusive or exclusive.

        • items.data.tax_rates.jurisdictionnullable string

          The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.

        • items.data.tax_rates.jurisdiction_levelnullable enum

          The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates.

          Possible enum values
          city
          country
          county
          district
          multiple
          state
        • items.data.tax_rates.livemodeboolean

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

        • items.data.tax_rates.metadatanullable object

          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.

        • items.data.tax_rates.percentagefloat

          Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.

        • items.data.tax_rates.rate_typenullable enum

          Indicates the type of tax rate applied to the taxable amount. This value can be null when no tax applies to the location.

          Possible enum values
          flat_amount

          A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.

          percentage

          A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.

        • items.data.tax_rates.statenullable string

          ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.

        • items.data.tax_rates.tax_typenullable enum

          The high-level tax type, such as vat or sales_tax.

          Possible enum values
          amusement_tax

          Amusement Tax

          communications_tax

          Communications Tax

          gst

          Goods and Services Tax

          hst

          Harmonized Sales Tax

          igst

          Integrated Goods and Services Tax

          jct

          Japanese Consumption Tax

          lease_tax

          Chicago Lease Tax

          pst

          Provincial Sales Tax

          qst

          Quebec Sales Tax

          retail_delivery_fee

          Retail Delivery Fee

          Show 4 more
    • items.has_moreboolean

      True if this list has another page of items after this one that can be fetched.

    • items.urlstring

      The URL where this list can be accessed.

  • latest_invoicenullable stringExpandable

    The most recent invoice this subscription has generated.

  • metadataobject

    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.

  • pending_setup_intentnullable stringExpandable

    You can use this SetupIntent to collect user authentication when creating a subscription without immediate payment or updating a subscription’s payment method, allowing you to optimize for off-session payments. Learn more in the SCA Migration Guide.

  • pending_updatenullable object

    If specified, pending updates that will be applied to the subscription once the latest_invoice has been paid.

    • pending_update.billing_cycle_anchornullable timestamp

      If the update is applied, determines the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.

    • pending_update.expires_attimestamp

      The point after which the changes reflected by this update will be discarded and no longer applied.

    • pending_update.subscription_itemsnullable array of objects

      List of subscription items, each with an attached plan, that will be set if the update is applied.

      • pending_update.subscription_items.idstring

        Unique identifier for the object.

      • pending_update.subscription_items.objectstring

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

      • pending_update.subscription_items.billing_thresholdsnullable object

        Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period

        • pending_update.subscription_items.billing_thresholds.usage_gtenullable integer

          Usage threshold that triggers the subscription to create an invoice

      • pending_update.subscription_items.createdinteger

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

      • pending_update.subscription_items.discountsarray of stringsExpandable

        The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use expand[]=discounts to expand each discount.

      • pending_update.subscription_items.metadataobject

        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.

      • pending_update.subscription_items.priceobject

        The price the customer is subscribed to.

        • pending_update.subscription_items.price.idstring

          Unique identifier for the object.

        • pending_update.subscription_items.price.objectstring

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

        • pending_update.subscription_items.price.activeboolean

          Whether the price can be used for new purchases.

        • pending_update.subscription_items.price.billing_schemeenum

          Describes how to compute the price per period. Either per_unit or tiered. per_unit indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity (for prices with usage_type=licensed), or per unit of total usage (for prices with usage_type=metered). tiered indicates that the unit pricing will be computed using a tiering strategy as defined using the tiers and tiers_mode attributes.

          Possible enum values
          per_unit
          tiered
        • pending_update.subscription_items.price.createdtimestamp

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

        • pending_update.subscription_items.price.currencyenum

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

        • pending_update.subscription_items.price.currency_optionsnullable objectExpandable

          Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.

          • pending_update.subscription_items.price.currency_options.<currency>.custom_unit_amountnullable object

            When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

            • pending_update.subscription_items.price.currency_options.<currency>.custom_unit_amount.maximumnullable integer

              The maximum unit amount the customer can specify for this item.

            • pending_update.subscription_items.price.currency_options.<currency>.custom_unit_amount.minimumnullable integer

              The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

            • pending_update.subscription_items.price.currency_options.<currency>.custom_unit_amount.presetnullable integer

              The starting unit amount which can be updated by the customer.

          • pending_update.subscription_items.price.currency_options.<currency>.tax_behaviornullable enum

            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 of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

            Possible enum values
            exclusive
            inclusive
            unspecified
          • pending_update.subscription_items.price.currency_options.<currency>.tiersnullable array of objectsExpandable

            Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

            • pending_update.subscription_items.price.currency_options.<currency>.tiers.flat_amountnullable integer

              Price for the entire tier.

            • pending_update.subscription_items.price.currency_options.<currency>.tiers.flat_amount_decimalnullable decimal string

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

            • pending_update.subscription_items.price.currency_options.<currency>.tiers.unit_amountnullable integer

              Per unit price for units relevant to the tier.

            • pending_update.subscription_items.price.currency_options.<currency>.tiers.unit_amount_decimalnullable decimal string

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

            • pending_update.subscription_items.price.currency_options.<currency>.tiers.up_tonullable integer

              Up to and including to this quantity will be contained in the tier.

          • pending_update.subscription_items.price.currency_options.<currency>.unit_amountnullable integer

            The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

          • pending_update.subscription_items.price.currency_options.<currency>.unit_amount_decimalnullable decimal string

            The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

        • pending_update.subscription_items.price.custom_unit_amountnullable object

          When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.

          • pending_update.subscription_items.price.custom_unit_amount.maximumnullable integer

            The maximum unit amount the customer can specify for this item.

          • pending_update.subscription_items.price.custom_unit_amount.minimumnullable integer

            The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.

          • pending_update.subscription_items.price.custom_unit_amount.presetnullable integer

            The starting unit amount which can be updated by the customer.

        • pending_update.subscription_items.price.livemodeboolean

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

        • pending_update.subscription_items.price.lookup_keynullable string

          A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters.

        • pending_update.subscription_items.price.metadataobject

          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.

        • pending_update.subscription_items.price.nicknamenullable string

          A brief description of the price, hidden from customers.

        • pending_update.subscription_items.price.productstringExpandable

          The ID of the product this price is associated with.

        • pending_update.subscription_items.price.recurringnullable object

          The recurring components of a price such as interval and usage_type.

          • pending_update.subscription_items.price.recurring.aggregate_usagenullable enum

            Specifies a usage aggregation strategy for prices of usage_type=metered. Defaults to sum.

            Possible enum values
            last_during_period

            Use the last usage record reported within a period.

            last_ever

            Use the last usage record ever reported (across period bounds).

            max

            Use the usage record with the maximum reported usage during a period.

            sum

            Sum up all usage during a period. This is the default behavior.

          • pending_update.subscription_items.price.recurring.intervalenum

            The frequency at which a subscription is billed. One of day, week, month or year.

          • pending_update.subscription_items.price.recurring.interval_countinteger

            The number of intervals (specified in the interval attribute) between subscription billings. For example, interval=month and interval_count=3 bills every 3 months.

          • pending_update.subscription_items.price.recurring.meternullable string

            The meter tracking the usage of a metered price

          • pending_update.subscription_items.price.recurring.usage_typeenum

            Configures how the quantity per period should be determined. Can be either metered or licensed. licensed automatically bills the quantity set when adding it to a subscription. metered aggregates the total usage based on usage records. Defaults to licensed.

        • pending_update.subscription_items.price.tax_behaviornullable enum

          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 of inclusive, exclusive, or unspecified. Once specified as either inclusive or exclusive, it cannot be changed.

          Possible enum values
          exclusive
          inclusive
          unspecified
        • pending_update.subscription_items.price.tiersnullable array of objectsExpandable

          Each element represents a pricing tier. This parameter requires billing_scheme to be set to tiered. See also the documentation for billing_scheme.

          • pending_update.subscription_items.price.tiers.flat_amountnullable integer

            Price for the entire tier.

          • pending_update.subscription_items.price.tiers.flat_amount_decimalnullable decimal string

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

          • pending_update.subscription_items.price.tiers.unit_amountnullable integer

            Per unit price for units relevant to the tier.

          • pending_update.subscription_items.price.tiers.unit_amount_decimalnullable decimal string

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

          • pending_update.subscription_items.price.tiers.up_tonullable integer

            Up to and including to this quantity will be contained in the tier.

        • pending_update.subscription_items.price.tiers_modenullable enum

          Defines if the tiering price should be graduated or volume based. In volume-based tiering, the maximum quantity within a period determines the per unit price. In graduated tiering, pricing can change as the quantity grows.

          Possible enum values
          graduated
          volume
        • pending_update.subscription_items.price.transform_quantitynullable object

          Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with tiers.

          • pending_update.subscription_items.price.transform_quantity.divide_byinteger

            Divide usage by this number.

          • pending_update.subscription_items.price.transform_quantity.roundenum

            After division, either round the result up or down.

        • pending_update.subscription_items.price.typeenum

          One of one_time or recurring depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.

          Possible enum values
          one_time
          recurring
        • pending_update.subscription_items.price.unit_amountnullable integer

          The unit amount in cents to be charged, represented as a whole integer if possible. Only set if billing_scheme=per_unit.

        • pending_update.subscription_items.price.unit_amount_decimalnullable decimal string

          The unit amount in cents to be charged, represented as a decimal string with at most 12 decimal places. Only set if billing_scheme=per_unit.

      • pending_update.subscription_items.quantitynullable integer

        The quantity of the plan to which the customer should be subscribed.

      • pending_update.subscription_items.subscriptionstring

        The subscription this subscription_item belongs to.

      • pending_update.subscription_items.tax_ratesnullable array of objects

        The tax rates which apply to this subscription_item. When set, the default_tax_rates on the subscription do not apply to this subscription_item.

        • pending_update.subscription_items.tax_rates.idstring

          Unique identifier for the object.

        • pending_update.subscription_items.tax_rates.objectstring

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

        • pending_update.subscription_items.tax_rates.activeboolean

          Defaults to true. When set to false, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

        • pending_update.subscription_items.tax_rates.countrynullable string

          Two-letter country code (ISO 3166-1 alpha-2).

        • pending_update.subscription_items.tax_rates.createdtimestamp

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

        • pending_update.subscription_items.tax_rates.descriptionnullable string

          An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

        • pending_update.subscription_items.tax_rates.display_namestring

          The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.

        • pending_update.subscription_items.tax_rates.effective_percentagenullable float

          Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.

        • pending_update.subscription_items.tax_rates.flat_amountnullable object

          The amount of the tax rate when the rate_type is flat_amount. Tax rates with rate_type percentage can vary based on the transaction, resulting in this field being null. This field exposes the amount and currency of the flat tax rate.

          • pending_update.subscription_items.tax_rates.flat_amount.amountinteger

            Amount of the tax when the rate_type is flat_amount. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

          • pending_update.subscription_items.tax_rates.flat_amount.currencystring

            Three-letter ISO currency code, in lowercase.

        • pending_update.subscription_items.tax_rates.inclusiveboolean

          This specifies if the tax rate is inclusive or exclusive.

        • pending_update.subscription_items.tax_rates.jurisdictionnullable string

          The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.

        • pending_update.subscription_items.tax_rates.jurisdiction_levelnullable enum

          The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates.

          Possible enum values
          city
          country
          county
          district
          multiple
          state
        • pending_update.subscription_items.tax_rates.livemodeboolean

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

        • pending_update.subscription_items.tax_rates.metadatanullable object

          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.

        • pending_update.subscription_items.tax_rates.percentagefloat

          Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.

        • pending_update.subscription_items.tax_rates.rate_typenullable enum

          Indicates the type of tax rate applied to the taxable amount. This value can be null when no tax applies to the location.

          Possible enum values
          flat_amount

          A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.

          percentage

          A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.

        • pending_update.subscription_items.tax_rates.statenullable string

          ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.

        • pending_update.subscription_items.tax_rates.tax_typenullable enum

          The high-level tax type, such as vat or sales_tax.

          Possible enum values
          amusement_tax

          Amusement Tax

          communications_tax

          Communications Tax

          gst

          Goods and Services Tax

          hst

          Harmonized Sales Tax

          igst

          Integrated Goods and Services Tax

          jct

          Japanese Consumption Tax

          lease_tax

          Chicago Lease Tax

          pst

          Provincial Sales Tax

          qst

          Quebec Sales Tax

          retail_delivery_fee

          Retail Delivery Fee

          Show 4 more
    • pending_update.trial_endnullable timestamp

      Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied.

    • pending_update.trial_from_plannullable boolean

      Indicates if a plan’s trial_period_days should be applied to the subscription. Setting trial_end per subscription is preferred, and this defaults to false. Setting this flag to true together with trial_end is not allowed. See Using trial periods on subscriptions to learn more.

  • statusenum

    Possible values are incomplete, incomplete_expired, trialing, active, past_due, canceled, unpaid, or paused.

    For collection_method=charge_automatically a subscription moves into incomplete if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an active status. If the first invoice is not paid within 23 hours, the subscription transitions to incomplete_expired. This is a terminal status, the open invoice will be voided and no further invoices will be generated.

    A subscription that is currently in a trial period is trialing and moves to active when the trial period is over.

    A subscription can only enter a paused status when a trial ends without a payment method. A paused subscription doesn’t generate invoices and can be resumed after your customer adds their payment method. The paused status is different from pausing collection, which still generates invoices and leaves the subscription’s status unchanged.

    If subscription collection_method=charge_automatically, it becomes past_due when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become canceled or unpaid (depending on your subscriptions settings).

    If subscription collection_method=send_invoice it becomes past_due when its invoice is not paid by the due date, and canceled or unpaid if it is still not paid by an additional deadline after that. Note that when a subscription has a status of unpaid, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices.

More attributes

  • objectstring

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

  • applicationnullable stringExpandableConnect only

    ID of the Connect Application that created the subscription.

  • application_fee_percentnullable floatConnect only

    A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner’s Stripe account.

  • billing_cycle_anchortimestamp

    The reference point that aligns future billing cycle dates. It sets the day of week for week intervals, the day of month for month and year intervals, and the month of year for year intervals. The timestamp is in UTC format.

  • billing_cycle_anchor_confignullable object

    The fixed values used to calculate the billing_cycle_anchor.

    • billing_cycle_anchor_config.day_of_monthinteger

      The day of the month of the billing_cycle_anchor.

    • billing_cycle_anchor_config.hournullable integer

      The hour of the day of the billing_cycle_anchor.

    • billing_cycle_anchor_config.minutenullable integer

      The minute of the hour of the billing_cycle_anchor.

    • billing_cycle_anchor_config.monthnullable integer

      The month to start full cycle billing periods.

    • billing_cycle_anchor_config.secondnullable integer

      The second of the minute of the billing_cycle_anchor.

  • billing_thresholdsnullable object

    Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period

    • billing_thresholds.amount_gtenullable integer

      Monetary threshold that triggers the subscription to create an invoice

    • billing_thresholds.reset_billing_cycle_anchornullable boolean

      Indicates if the billing_cycle_anchor should be reset when a threshold is reached. If true, billing_cycle_anchor will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be true if the subscription contains items with plans that have aggregate_usage=last_ever.

  • cancel_atnullable timestamp

    A date in the future at which the subscription will automatically get canceled

  • canceled_atnullable timestamp

    If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with cancel_at_period_end, canceled_at will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state.

  • cancellation_detailsnullable object

    Details about why this subscription was cancelled

    • cancellation_details.commentnullable string

      Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user.

    • cancellation_details.feedbacknullable enum

      The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user.

      Possible enum values
      customer_service

      Customer service was less than expected

      low_quality

      Quality was less than expected

      missing_features

      Some features are missing

      other

      Other reason

      switched_service

      I’m switching to a different service

      too_complex

      Ease of use was less than expected

      too_expensive

      It’s too expensive

      unused

      I don’t use the service enough

    • cancellation_details.reasonnullable enum

      Why this subscription was canceled.

      Possible enum values
      cancellation_requested
      payment_disputed
      payment_failed
  • collection_methodenum

    Either charge_automatically, or send_invoice. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as active.

    Possible enum values
    charge_automatically
    send_invoice
  • createdtimestamp

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

  • days_until_duenullable integer

    Number of days a customer has to pay invoices generated by this subscription. This value will be null for subscriptions where collection_method=charge_automatically.

  • default_sourcenullable stringExpandable

    ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If default_payment_method is also set, default_payment_method will take precedence. If neither are set, invoices will use the customer’s invoice_settings.default_payment_method or default_source.

  • default_tax_ratesnullable array of objects

    The tax rates that will apply to any subscription item that does not have tax_rates set. Invoices created will have their default_tax_rates populated from the subscription.

    • default_tax_rates.idstring

      Unique identifier for the object.

    • default_tax_rates.objectstring

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

    • default_tax_rates.activeboolean

      Defaults to true. When set to false, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set.

    • default_tax_rates.countrynullable string

      Two-letter country code (ISO 3166-1 alpha-2).

    • default_tax_rates.createdtimestamp

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

    • default_tax_rates.descriptionnullable string

      An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers.

    • default_tax_rates.display_namestring

      The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page.

    • default_tax_rates.effective_percentagenullable float

      Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product’s taxability and whether the user is registered to collect taxes in the corresponding jurisdiction.

    • default_tax_rates.flat_amountnullable object

      The amount of the tax rate when the rate_type is flat_amount. Tax rates with rate_type percentage can vary based on the transaction, resulting in this field being null. This field exposes the amount and currency of the flat tax rate.

      • default_tax_rates.flat_amount.amountinteger

        Amount of the tax when the rate_type is flat_amount. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).

      • default_tax_rates.flat_amount.currencystring

        Three-letter ISO currency code, in lowercase.

    • default_tax_rates.inclusiveboolean

      This specifies if the tax rate is inclusive or exclusive.

    • default_tax_rates.jurisdictionnullable string

      The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice.

    • default_tax_rates.jurisdiction_levelnullable enum

      The level of the jurisdiction that imposes this tax rate. Will be null for manually defined tax rates.

      Possible enum values
      city
      country
      county
      district
      multiple
      state
    • default_tax_rates.livemodeboolean

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

    • default_tax_rates.metadatanullable object

      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.

    • default_tax_rates.percentagefloat

      Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions.

    • default_tax_rates.rate_typenullable enum

      Indicates the type of tax rate applied to the taxable amount. This value can be null when no tax applies to the location.

      Possible enum values
      flat_amount

      A fixed amount applied as tax, regardless of the taxable amount, such as a retail delivery fee.

      percentage

      A tax rate expressed as a percentage of the taxable amount, such as the sales tax rate in California.

    • default_tax_rates.statenullable string

      ISO 3166-2 subdivision code, without country prefix. For example, “NY” for New York, United States.

    • default_tax_rates.tax_typenullable enum

      The high-level tax type, such as vat or sales_tax.

      Possible enum values
      amusement_tax

      Amusement Tax

      communications_tax

      Communications Tax

      gst

      Goods and Services Tax

      hst

      Harmonized Sales Tax

      igst

      Integrated Goods and Services Tax

      jct

      Japanese Consumption Tax

      lease_tax

      Chicago Lease Tax

      pst

      Provincial Sales Tax

      qst

      Quebec Sales Tax

      retail_delivery_fee

      Retail Delivery Fee

      Show 4 more
  • discountnullable objectDeprecated

    Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. This field has been deprecated and will be removed in a future API version. Use discounts instead.

    • discount.idstring

      The ID of the discount object. Discounts cannot be fetched by ID. Use expand[]=discounts in API calls to expand discount IDs in an array.

    • discount.objectstring

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

    • discount.checkout_sessionnullable string

      The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.

    • discount.couponobject

      Hash describing the coupon applied to create this discount.

      • discount.coupon.idstring

        Unique identifier for the object.

      • discount.coupon.objectstring

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

      • discount.coupon.amount_offnullable integer

        Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.

      • discount.coupon.applies_tonullable objectExpandable

        Contains information about what this coupon applies to.

        • discount.coupon.applies_to.productsarray of strings

          A list of product IDs this coupon applies to

      • discount.coupon.createdtimestamp

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

      • discount.coupon.currencynullable enum

        If amount_off has been set, the three-letter ISO code for the currency of the amount to take off.

      • discount.coupon.currency_optionsnullable objectExpandable

        Coupons defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.

        • discount.coupon.currency_options.<currency>.amount_offinteger

          Amount (in the currency specified) that will be taken off the subtotal of any invoices for this customer.

      • discount.coupon.durationenum

        One of forever, once, and repeating. Describes how long a customer who applies this coupon will get the discount.

        Possible enum values
        forever

        Applies to all charges from a subscription with this coupon applied.

        once

        Applies to the first charge from a subscription with this coupon applied.

        repeating

        Applies to charges in the first duration_in_months months from a subscription with this coupon applied.

      • discount.coupon.duration_in_monthsnullable integer

        If duration is repeating, the number of months the coupon applies. Null if coupon duration is forever or once.

      • discount.coupon.livemodeboolean

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

      • discount.coupon.max_redemptionsnullable integer

        Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.

      • discount.coupon.metadatanullable object

        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.

      • discount.coupon.namenullable string

        Name of the coupon displayed to customers on for instance invoices or receipts.

      • discount.coupon.percent_offnullable float

        Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $100 invoice $50 instead.

      • discount.coupon.redeem_bynullable timestamp

        Date after which the coupon can no longer be redeemed.

      • discount.coupon.times_redeemedinteger

        Number of times this coupon has been applied to a customer.

      • discount.coupon.validboolean

        Taking account of the above properties, whether this coupon can still be applied to a customer.

    • discount.customernullable stringExpandable

      The ID of the customer associated with this discount.

    • discount.endnullable timestamp

      If the coupon has a duration of repeating, the date that this discount will end. If the coupon has a duration of once or forever, this attribute will be null.

    • discount.invoicenullable string

      The invoice that the discount’s coupon was applied to, if it was applied directly to a particular invoice.

    • discount.invoice_itemnullable string

      The invoice item id (or invoice line item id for invoice line items of type=‘subscription’) that the discount’s coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.

    • discount.promotion_codenullable stringExpandable

      The promotion code applied to create this discount.

    • discount.starttimestamp

      Date that the coupon was applied.

    • discount.subscriptionnullable string

      The subscription that this coupon is applied to, if it is applied to a particular subscription.

    • discount.subscription_itemnullable string

      The subscription item that this coupon is applied to, if it is applied to a particular subscription item.

  • discountsarray of stringsExpandable

    The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use expand[]=discounts to expand each discount.

  • ended_atnullable timestamp

    If the subscription has ended, the date the subscription ended.

  • invoice_settingsobject

    All invoices will be billed using the specified settings.

    • invoice_settings.account_tax_idsnullable array of stringsExpandable

      The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription.

    • invoice_settings.issuerobjectConnect only

      The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.

      • invoice_settings.issuer.accountnullable stringExpandable

        The connected account being referenced when type is account.

      • invoice_settings.issuer.typeenum

        Type of the account referenced.

        Possible enum values
        account

        Indicates that the account being referenced is a connected account which is different from the account making the API request but related to it.

        self

        Indicates that the account being referenced is the account making the API request.

  • livemodeboolean

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

  • next_pending_invoice_item_invoicenullable timestamp

    Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at pending_invoice_item_interval.

  • on_behalf_ofnullable stringExpandableConnect only

    The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details.

  • pause_collectionnullable object

    If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to paused. Learn more about pausing collection.

    • pause_collection.behaviorenum

      The payment collection behavior for this subscription while paused. One of keep_as_draft, mark_uncollectible, or void.

      Possible enum values
      keep_as_draft
      mark_uncollectible
      void
    • pause_collection.resumes_atnullable timestamp

      The time after which the subscription will resume collecting payments.

  • payment_settingsnullable object

    Payment settings passed on to invoices created by the subscription.

    • payment_settings.payment_method_optionsnullable object

      Payment-method-specific configuration to provide to invoices created by the subscription.

      • payment_settings.payment_method_options.acss_debitnullable object

        This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription.

        • payment_settings.payment_method_options.acss_debit.mandate_optionsnullable object

          Additional fields for Mandate creation

          • payment_settings.payment_method_options.acss_debit.mandate_options.transaction_typenullable enum

            Transaction type of the mandate.

            Possible enum values
            business

            Transactions are made for business reasons

            personal

            Transactions are made for personal reasons

        • payment_settings.payment_method_options.acss_debit.verification_methodnullable enum

          Bank account verification method.

          Possible enum values
          automatic

          Instant verification with fallback to microdeposits.

          instant

          Instant verification.

          microdeposits

          Verification using microdeposits.

      • payment_settings.payment_method_options.bancontactnullable object

        This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription.

        • payment_settings.payment_method_options.bancontact.preferred_languageenum

          Preferred language of the Bancontact authorization page that the customer is redirected to.

          Possible enum values
          de

          German

          en

          English

          fr

          French

          nl

          Dutch

      • payment_settings.payment_method_options.cardnullable object

        This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription.

        • payment_settings.payment_method_options.card.mandate_optionsnullable object

          Configuration options for setting up an eMandate for cards issued in India.

          • payment_settings.payment_method_options.card.mandate_options.amountnullable integer

            Amount to be charged for future payments.

          • payment_settings.payment_method_options.card.mandate_options.amount_typenullable enum

            One of fixed or maximum. If fixed, the amount param refers to the exact amount to be charged in future payments. If maximum, the amount charged can be up to the value passed for the amount param.

            Possible enum values
            fixed

            If fixed, the amount param refers to the exact amount to be charged in future payments.

            maximum

            If maximum, the amount charged can be up to the value passed for the amount param.

          • payment_settings.payment_method_options.card.mandate_options.descriptionnullable string

            A description of the mandate or subscription that is meant to be displayed to the customer.

        • payment_settings.payment_method_options.card.networknullable enum

          Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time.

          Possible enum values
          amex
          cartes_bancaires
          diners
          discover
          eftpos_au
          girocard
          interac
          jcb
          link
          mastercard
          Show 3 more
        • payment_settings.payment_method_options.card.request_three_d_securenullable enumadvanced

          We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and other requirements. However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on manually requesting 3D Secure for more information on how this configuration interacts with Radar and our SCA Engine.

          Possible enum values
          any

          Use any to manually request 3DS with a preference for a frictionless flow, increasing the likelihood of the authentication being completed without any additional input from the customer. Stripe can’t guarantee your preference because the issuer determines the ultimate authentication flow. To learn more about 3DS flows, read our guide.

          automatic

          (Default) Our SCA Engine automatically prompts your customers for authentication based on risk level and other requirements.

          challenge

          Use challenge to request 3DS with a preference for a challenge flow, where the customer must respond to a prompt for active authentication. Stripe can’t guarantee your preference because the issuer determines the ultimate authentication flow. To learn more about 3DS flows, read our guide.

      • payment_settings.payment_method_options.customer_balancenullable object

        This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription.

        • payment_settings.payment_method_options.customer_balance.bank_transfernullable object

          Configuration for the bank transfer funding type, if the funding_type is set to bank_transfer.

          • payment_settings.payment_method_options.customer_balance.bank_transfer.eu_bank_transfernullable object

            Configuration for eu_bank_transfer funding type.

            • payment_settings.payment_method_options.customer_balance.bank_transfer.eu_bank_transfer.countryenum

              The desired country code of the bank account information. Permitted values include: BE, DE, ES, FR, IE, or NL.

              Possible enum values
              BE
              DE
              ES
              FR
              IE
              NL
          • payment_settings.payment_method_options.customer_balance.bank_transfer.typenullable enum

            The bank transfer type that can be used for funding. Permitted values include: eu_bank_transfer, gb_bank_transfer, jp_bank_transfer, mx_bank_transfer, or us_bank_transfer.

        • payment_settings.payment_method_options.customer_balance.funding_typenullable enum

          The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: bank_transfer.

          Possible enum values
          bank_transfer
      • payment_settings.payment_method_options.konbininullable object

        This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription.

      • payment_settings.payment_method_options.sepa_debitnullable object

        This sub-hash contains details about the SEPA Direct Debit payment method options to pass to invoices created by the subscription.

      • payment_settings.payment_method_options.us_bank_accountnullable object

        This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription.

        • payment_settings.payment_method_options.us_bank_account.financial_connectionsnullable object

          Additional fields for Financial Connections Session creation

          • payment_settings.payment_method_options.us_bank_account.financial_connections.filtersnullable object

            Filters for the linked accounts that the customer can select for the payment method.

            • payment_settings.payment_method_options.us_bank_account.financial_connections.filters.account_subcategoriesnullable array of enums

              The account subcategories to use to filter for possible accounts to link. Valid subcategories are checking and savings.

              Possible enum values
              checking

              Bank account subcategory is checking

              savings

              Bank account subcategory is savings

          • payment_settings.payment_method_options.us_bank_account.financial_connections.permissionsnullable array of enums

            The list of permissions to request. The payment_method permission must be included.

            Possible enum values
            balances

            Allows accessing balance data from the account.

            ownership

            Allows accessing ownership data from the account.

            payment_method

            Allows the creation of a payment method from the account.

            transactions

            Allows accessing transactions data from the account.

          • payment_settings.payment_method_options.us_bank_account.financial_connections.prefetchnullable array of enums

            Data features requested to be retrieved upon account creation.

            Possible enum values
            balances

            Requests to prefetch balance data on accounts collected in this session.

            ownership

            Requests to prefetch ownership data on accounts collected in this session.

            transactions

            Requests to prefetch transaction data on accounts collected in this session.

        • payment_settings.payment_method_options.us_bank_account.verification_methodnullable enum

          Bank account verification method.

          Possible enum values
          automatic

          Instant verification with fallback to microdeposits.

          instant

          Instant verification only.

          microdeposits

          Verification using microdeposits. Cannot be used with Stripe Checkout, Hosted Invoices, or Payment Element.

    • payment_settings.payment_method_typesnullable array of enums

      The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your invoice template settings.

      Possible enum values
      ach_debit

      ACH

      acss_debit

      Canadian pre-authorized debit

      amazon_pay

      Amazon Pay

      au_becs_debit

      BECS Direct Debit

      bacs_debit

      Bacs Direct Debit

      bancontact

      Bancontact

      If set, the Subscription collection_method must be send_invoice.

      boleto

      Boleto

      card

      Card

      cashapp

      Cash App Pay

      customer_balance

      Bank transfer

      If set, the Subscription collection_method must be send_invoice.

      Show 22 more
    • payment_settings.save_default_payment_methodnullable enum

      Configure whether Stripe updates subscription.default_payment_method when payment succeeds. Defaults to off.

      Possible enum values
      off

      Stripe never sets subscription.default_payment_method.

      on_subscription

      Stripe sets subscription.default_payment_method when a subscription payment succeeds.

  • pending_invoice_item_intervalnullable object

    Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling Create an invoice for the given subscription at the specified interval.

    • pending_invoice_item_interval.intervalenum

      Specifies invoicing frequency. Either day, week, month or year.

      Possible enum values
      day
      month
      week
      year
    • pending_invoice_item_interval.interval_countinteger

      The number of intervals between invoices. For example, interval=month and interval_count=3 bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).

  • schedulenullable stringExpandable

    The schedule attached to the subscription

  • start_datetimestamp

    Date when the subscription was first created. The date might differ from the created date due to backdating.

  • test_clocknullable stringExpandable

    ID of the test clock this subscription belongs to.

  • transfer_datanullable objectConnect only

    The account (if any) the subscription’s payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription’s invoices.

    • transfer_data.amount_percentnullable float

      A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.

    • transfer_data.destinationstringExpandable

      The account where funds from the payment will be transferred to upon payment success.

  • trial_endnullable timestamp

    If the subscription has a trial, the end of that trial.

  • trial_settingsnullable object

    Settings related to subscription trials.

    • trial_settings.end_behaviorobject

      Defines how the subscription should behave when the user’s free trial ends.

      • trial_settings.end_behavior.missing_payment_methodenum

        Indicates how the subscription should change when the trial ends if the user did not provide a payment method.

        Possible enum values
        cancel

        Cancel the subscription if a payment method is not attached when the trial ends.

        create_invoice

        Create an invoice when the trial ends, even if the user did not set up a payment method.

        pause

        Pause the subscription if a payment method is not attached when the trial ends.

  • trial_startnullable timestamp

    If the subscription has a trial, the beginning of that trial.

The Subscription object
{
"id": "sub_1MowQVLkdIwHu7ixeRlqHVzs",
"object": "subscription",
"application": null,
"application_fee_percent": null,
"automatic_tax": {
"enabled": false,
"liability": null
},
"billing_cycle_anchor": 1679609767,
"billing_thresholds": null,
"cancel_at": null,
"cancel_at_period_end": false,
"canceled_at": null,
"cancellation_details": {
"comment": null,
"feedback": null,
"reason": null
},
"collection_method": "charge_automatically",
"created": 1679609767,
"currency": "usd",
"current_period_end": 1682288167,
"current_period_start": 1679609767,
"customer": "cus_Na6dX7aXxi11N4",
"days_until_due": null,
"default_payment_method": null,
"default_source": null,
"default_tax_rates": [],
"description": null,
"discount": null,
"discounts": null,
"ended_at": null,
"invoice_settings": {
"issuer": {
"type": "self"
}
},
"items": {
"object": "list",
"data": [
{
"id": "si_Na6dzxczY5fwHx",
"object": "subscription_item",
"billing_thresholds": null,
"created": 1679609768,
"metadata": {},
"plan": {
"id": "price_1MowQULkdIwHu7ixraBm864M",
"object": "plan",
"active": true,
"aggregate_usage": null,
"amount": 1000,
"amount_decimal": "1000",
"billing_scheme": "per_unit",
"created": 1679609766,
"currency": "usd",
"discounts": null,
"interval": "month",
"interval_count": 1,
"livemode": false,
"metadata": {},
"nickname": null,
"product": "prod_Na6dGcTsmU0I4R",
"tiers_mode": null,
"transform_usage": null,
"trial_period_days": null,
"usage_type": "licensed"
},
"price": {
"id": "price_1MowQULkdIwHu7ixraBm864M",
"object": "price",
"active": true,
"billing_scheme": "per_unit",
"created": 1679609766,
"currency": "usd",
"custom_unit_amount": null,
"livemode": false,
"lookup_key": null,
"metadata": {},
"nickname": null,
"product": "prod_Na6dGcTsmU0I4R",
"recurring": {
"aggregate_usage": null,
"interval": "month",
"interval_count": 1,
"trial_period_days": null,
"usage_type": "licensed"
},
"tax_behavior": "unspecified",
"tiers_mode": null,
"transform_quantity": null,
"type": "recurring",
"unit_amount": 1000,
"unit_amount_decimal": "1000"
},
"quantity": 1,
"subscription": "sub_1MowQVLkdIwHu7ixeRlqHVzs",
"tax_rates": []
}
],
"has_more": false,
"total_count": 1,
"url": "/v1/subscription_items?subscription=sub_1MowQVLkdIwHu7ixeRlqHVzs"
},
"latest_invoice": "in_1MowQWLkdIwHu7ixuzkSPfKd",
"livemode": false,
"metadata": {},
"next_pending_invoice_item_invoice": null,
"on_behalf_of": null,
"pause_collection": null,
"payment_settings": {
"payment_method_options": null,
"payment_method_types": null,
"save_default_payment_method": "off"
},
"pending_invoice_item_interval": null,
"pending_setup_intent": null,
"pending_update": null,
"schedule": null,
"start_date": 1679609767,
"status": "active",
"test_clock": null,
"transfer_data": null,
"trial_end": null,
"trial_settings": {
"end_behavior": {
"missing_payment_method": "create_invoice"
}
},
"trial_start": null
}