published on Friday, Aug 14, 2026 by Pulumi
published on Friday, Aug 14, 2026 by Pulumi
You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.
Plans define the base price, currency, and billing cycle for recurring purchases of products. Products help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.
For example, you might have a single “gold” product that has plans for $10/month, $100/year, €9/month, and €90/year.
Related guides: Set up a subscription and more about products and prices.
Create Plan Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Plan(name: string, args: PlanArgs, opts?: CustomResourceOptions);@overload
def Plan(resource_name: str,
args: PlanArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Plan(resource_name: str,
opts: Optional[ResourceOptions] = None,
currency: Optional[str] = None,
interval: Optional[str] = None,
meter: Optional[str] = None,
nickname: Optional[str] = None,
amount_decimal: Optional[float] = None,
amount: Optional[float] = None,
interval_count: Optional[float] = None,
metadata: Optional[Mapping[str, str]] = None,
active: Optional[bool] = None,
billing_scheme: Optional[str] = None,
product: Optional[str] = None,
tiers: Optional[Sequence[PlanTierArgs]] = None,
tiers_mode: Optional[str] = None,
transform_usage: Optional[PlanTransformUsageArgs] = None,
trial_period_days: Optional[float] = None,
usage_type: Optional[str] = None)func NewPlan(ctx *Context, name string, args PlanArgs, opts ...ResourceOption) (*Plan, error)public Plan(string name, PlanArgs args, CustomResourceOptions? opts = null)type: stripe:Plan
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "stripe_plan" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args PlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args PlanArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args PlanArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PlanArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var planResource = new Stripe.Plan("planResource", new()
{
Currency = "string",
Interval = "string",
Meter = "string",
Nickname = "string",
AmountDecimal = 0.0,
Amount = 0.0,
IntervalCount = 0.0,
Metadata =
{
{ "string", "string" },
},
Active = false,
BillingScheme = "string",
Product = "string",
Tiers = new[]
{
new Stripe.Inputs.PlanTierArgs
{
UpTo = 0.0,
FlatAmount = 0.0,
FlatAmountDecimal = 0.0,
UnitAmount = 0.0,
UnitAmountDecimal = 0.0,
},
},
TiersMode = "string",
TransformUsage = new Stripe.Inputs.PlanTransformUsageArgs
{
DivideBy = 0.0,
Round = "string",
},
TrialPeriodDays = 0.0,
UsageType = "string",
});
example, err := stripe.NewPlan(ctx, "planResource", &stripe.PlanArgs{
Currency: pulumi.String("string"),
Interval: pulumi.String("string"),
Meter: pulumi.String("string"),
Nickname: pulumi.String("string"),
AmountDecimal: pulumi.Float64(0),
Amount: pulumi.Float64(0),
IntervalCount: pulumi.Float64(0),
Metadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
Active: pulumi.Bool(false),
BillingScheme: pulumi.String("string"),
Product: pulumi.String("string"),
Tiers: stripe.PlanTierArray{
&stripe.PlanTierArgs{
UpTo: pulumi.Float64(0),
FlatAmount: pulumi.Float64(0),
FlatAmountDecimal: pulumi.Float64(0),
UnitAmount: pulumi.Float64(0),
UnitAmountDecimal: pulumi.Float64(0),
},
},
TiersMode: pulumi.String("string"),
TransformUsage: &stripe.PlanTransformUsageArgs{
DivideBy: pulumi.Float64(0),
Round: pulumi.String("string"),
},
TrialPeriodDays: pulumi.Float64(0),
UsageType: pulumi.String("string"),
})
resource "stripe_plan" "planResource" {
lifecycle {
create_before_destroy = true
}
currency = "string"
interval = "string"
meter = "string"
nickname = "string"
amount_decimal = 0
amount = 0
interval_count = 0
metadata = {
"string" = "string"
}
active = false
billing_scheme = "string"
product = "string"
tiers {
up_to = 0
flat_amount = 0
flat_amount_decimal = 0
unit_amount = 0
unit_amount_decimal = 0
}
tiers_mode = "string"
transform_usage = {
divide_by = 0
round = "string"
}
trial_period_days = 0
usage_type = "string"
}
var planResource = new Plan("planResource", PlanArgs.builder()
.currency("string")
.interval("string")
.meter("string")
.nickname("string")
.amountDecimal(0.0)
.amount(0.0)
.intervalCount(0.0)
.metadata(Map.of("string", "string"))
.active(false)
.billingScheme("string")
.product("string")
.tiers(PlanTierArgs.builder()
.upTo(0.0)
.flatAmount(0.0)
.flatAmountDecimal(0.0)
.unitAmount(0.0)
.unitAmountDecimal(0.0)
.build())
.tiersMode("string")
.transformUsage(PlanTransformUsageArgs.builder()
.divideBy(0.0)
.round("string")
.build())
.trialPeriodDays(0.0)
.usageType("string")
.build());
plan_resource = stripe.Plan("planResource",
currency="string",
interval="string",
meter="string",
nickname="string",
amount_decimal=float(0),
amount=float(0),
interval_count=float(0),
metadata={
"string": "string",
},
active=False,
billing_scheme="string",
product="string",
tiers=[{
"up_to": float(0),
"flat_amount": float(0),
"flat_amount_decimal": float(0),
"unit_amount": float(0),
"unit_amount_decimal": float(0),
}],
tiers_mode="string",
transform_usage={
"divide_by": float(0),
"round": "string",
},
trial_period_days=float(0),
usage_type="string")
const planResource = new stripe.Plan("planResource", {
currency: "string",
interval: "string",
meter: "string",
nickname: "string",
amountDecimal: 0,
amount: 0,
intervalCount: 0,
metadata: {
string: "string",
},
active: false,
billingScheme: "string",
product: "string",
tiers: [{
upTo: 0,
flatAmount: 0,
flatAmountDecimal: 0,
unitAmount: 0,
unitAmountDecimal: 0,
}],
tiersMode: "string",
transformUsage: {
divideBy: 0,
round: "string",
},
trialPeriodDays: 0,
usageType: "string",
});
type: stripe:Plan
properties:
active: false
amount: 0
amountDecimal: 0
billingScheme: string
currency: string
interval: string
intervalCount: 0
metadata:
string: string
meter: string
nickname: string
product: string
tiers:
- flatAmount: 0
flatAmountDecimal: 0
unitAmount: 0
unitAmountDecimal: 0
upTo: 0
tiersMode: string
transformUsage:
divideBy: 0
round: string
trialPeriodDays: 0
usageType: string
Plan Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Plan resource accepts the following input properties:
- Currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- Interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - Active bool
- Whether the plan can be used for new purchases.
- Amount double
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - Amount
Decimal double - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - Billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - Interval
Count double - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - Metadata Dictionary<string, string>
- 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.
- Meter string
- The meter tracking the usage of a metered price
- Nickname string
- A brief description of the plan, hidden from customers.
- Product string
- The product whose pricing this plan determines.
- Tiers
List<Plan
Tier> - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - Tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - Transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - Trial
Period doubleDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - Usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- Currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- Interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - Active bool
- Whether the plan can be used for new purchases.
- Amount float64
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - Amount
Decimal float64 - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - Billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - Interval
Count float64 - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - Metadata map[string]string
- 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.
- Meter string
- The meter tracking the usage of a metered price
- Nickname string
- A brief description of the plan, hidden from customers.
- Product string
- The product whose pricing this plan determines.
- Tiers
[]Plan
Tier Args - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - Tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - Transform
Usage PlanTransform Usage Args - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - Trial
Period float64Days - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - Usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - active bool
- Whether the plan can be used for new purchases.
- amount number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount_
decimal number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing_
scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - interval_
count number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - metadata map(string)
- 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.
- meter string
- The meter tracking the usage of a metered price
- nickname string
- A brief description of the plan, hidden from customers.
- product string
- The product whose pricing this plan determines.
- tiers list(object)
- Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers_
mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform_
usage object - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial_
period_ numberdays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage_
type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- currency String
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval String
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - active Boolean
- Whether the plan can be used for new purchases.
- amount Double
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal Double - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme String - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - interval
Count Double - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - metadata Map<String,String>
- 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.
- meter String
- The meter tracking the usage of a metered price
- nickname String
- A brief description of the plan, hidden from customers.
- product String
- The product whose pricing this plan determines.
- tiers
List<Plan
Tier> - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode String - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period DoubleDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type String - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - active boolean
- Whether the plan can be used for new purchases.
- amount number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - interval
Count number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - metadata {[key: string]: string}
- 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.
- meter string
- The meter tracking the usage of a metered price
- nickname string
- A brief description of the plan, hidden from customers.
- product string
- The product whose pricing this plan determines.
- tiers
Plan
Tier[] - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period numberDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- currency str
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval str
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - active bool
- Whether the plan can be used for new purchases.
- amount float
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount_
decimal float - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing_
scheme str - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - interval_
count float - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - metadata Mapping[str, str]
- 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.
- meter str
- The meter tracking the usage of a metered price
- nickname str
- A brief description of the plan, hidden from customers.
- product str
- The product whose pricing this plan determines.
- tiers
Sequence[Plan
Tier Args] - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers_
mode str - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform_
usage PlanTransform Usage Args - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial_
period_ floatdays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage_
type str - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- currency String
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval String
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - active Boolean
- Whether the plan can be used for new purchases.
- amount Number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal Number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme String - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - interval
Count Number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - metadata Map<String>
- 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.
- meter String
- The meter tracking the usage of a metered price
- nickname String
- A brief description of the plan, hidden from customers.
- product String
- The product whose pricing this plan determines.
- tiers List<Property Map>
- Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode String - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage Property Map - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period NumberDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type String - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
Outputs
All input properties are implicitly available as output properties. Additionally, the Plan resource produces the following output properties:
- Created double
- Time at which the object was created. Measured in seconds since the Unix epoch.
- Id string
- The provider-assigned unique ID for this managed resource.
- Livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - Object string
- String representing the object's type. Objects of the same type share the same value.
- Created float64
- Time at which the object was created. Measured in seconds since the Unix epoch.
- Id string
- The provider-assigned unique ID for this managed resource.
- Livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - Object string
- String representing the object's type. Objects of the same type share the same value.
- created number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- id string
- The provider-assigned unique ID for this managed resource.
- livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - object string
- String representing the object's type. Objects of the same type share the same value.
- created Double
- Time at which the object was created. Measured in seconds since the Unix epoch.
- id String
- The provider-assigned unique ID for this managed resource.
- livemode Boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - object String
- String representing the object's type. Objects of the same type share the same value.
- created number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- id string
- The provider-assigned unique ID for this managed resource.
- livemode boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - object string
- String representing the object's type. Objects of the same type share the same value.
- created float
- Time at which the object was created. Measured in seconds since the Unix epoch.
- id str
- The provider-assigned unique ID for this managed resource.
- livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - object str
- String representing the object's type. Objects of the same type share the same value.
- created Number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- id String
- The provider-assigned unique ID for this managed resource.
- livemode Boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - object String
- String representing the object's type. Objects of the same type share the same value.
Look up Existing Plan Resource
Get an existing Plan resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: PlanState, opts?: CustomResourceOptions): Plan@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
active: Optional[bool] = None,
amount: Optional[float] = None,
amount_decimal: Optional[float] = None,
billing_scheme: Optional[str] = None,
created: Optional[float] = None,
currency: Optional[str] = None,
interval: Optional[str] = None,
interval_count: Optional[float] = None,
livemode: Optional[bool] = None,
metadata: Optional[Mapping[str, str]] = None,
meter: Optional[str] = None,
nickname: Optional[str] = None,
object: Optional[str] = None,
product: Optional[str] = None,
tiers: Optional[Sequence[PlanTierArgs]] = None,
tiers_mode: Optional[str] = None,
transform_usage: Optional[PlanTransformUsageArgs] = None,
trial_period_days: Optional[float] = None,
usage_type: Optional[str] = None) -> Planfunc GetPlan(ctx *Context, name string, id IDInput, state *PlanState, opts ...ResourceOption) (*Plan, error)public static Plan Get(string name, Input<string> id, PlanState? state, CustomResourceOptions? opts = null)public static Plan get(String name, Output<String> id, PlanState state, CustomResourceOptions options)resources: _: type: stripe:Plan get: id: ${id}import {
to = stripe_plan.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Active bool
- Whether the plan can be used for new purchases.
- Amount double
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - Amount
Decimal double - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - Billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - Created double
- Time at which the object was created. Measured in seconds since the Unix epoch.
- Currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- Interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - Interval
Count double - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - Livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - Metadata Dictionary<string, string>
- 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.
- Meter string
- The meter tracking the usage of a metered price
- Nickname string
- A brief description of the plan, hidden from customers.
- Object string
- String representing the object's type. Objects of the same type share the same value.
- Product string
- The product whose pricing this plan determines.
- Tiers
List<Plan
Tier> - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - Tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - Transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - Trial
Period doubleDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - Usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- Active bool
- Whether the plan can be used for new purchases.
- Amount float64
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - Amount
Decimal float64 - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - Billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - Created float64
- Time at which the object was created. Measured in seconds since the Unix epoch.
- Currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- Interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - Interval
Count float64 - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - Livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - Metadata map[string]string
- 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.
- Meter string
- The meter tracking the usage of a metered price
- Nickname string
- A brief description of the plan, hidden from customers.
- Object string
- String representing the object's type. Objects of the same type share the same value.
- Product string
- The product whose pricing this plan determines.
- Tiers
[]Plan
Tier Args - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - Tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - Transform
Usage PlanTransform Usage Args - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - Trial
Period float64Days - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - Usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- active bool
- Whether the plan can be used for new purchases.
- amount number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount_
decimal number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing_
scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - created number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - interval_
count number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata map(string)
- 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.
- meter string
- The meter tracking the usage of a metered price
- nickname string
- A brief description of the plan, hidden from customers.
- object string
- String representing the object's type. Objects of the same type share the same value.
- product string
- The product whose pricing this plan determines.
- tiers list(object)
- Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers_
mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform_
usage object - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial_
period_ numberdays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage_
type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- active Boolean
- Whether the plan can be used for new purchases.
- amount Double
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal Double - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme String - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - created Double
- Time at which the object was created. Measured in seconds since the Unix epoch.
- currency String
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval String
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - interval
Count Double - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - livemode Boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata Map<String,String>
- 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.
- meter String
- The meter tracking the usage of a metered price
- nickname String
- A brief description of the plan, hidden from customers.
- object String
- String representing the object's type. Objects of the same type share the same value.
- product String
- The product whose pricing this plan determines.
- tiers
List<Plan
Tier> - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode String - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period DoubleDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type String - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- active boolean
- Whether the plan can be used for new purchases.
- amount number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme string - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - created number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- currency string
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval string
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - interval
Count number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - livemode boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata {[key: string]: string}
- 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.
- meter string
- The meter tracking the usage of a metered price
- nickname string
- A brief description of the plan, hidden from customers.
- object string
- String representing the object's type. Objects of the same type share the same value.
- product string
- The product whose pricing this plan determines.
- tiers
Plan
Tier[] - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode string - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage PlanTransform Usage - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period numberDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type string - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- active bool
- Whether the plan can be used for new purchases.
- amount float
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount_
decimal float - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing_
scheme str - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - created float
- Time at which the object was created. Measured in seconds since the Unix epoch.
- currency str
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval str
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - interval_
count float - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - livemode bool
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata Mapping[str, str]
- 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.
- meter str
- The meter tracking the usage of a metered price
- nickname str
- A brief description of the plan, hidden from customers.
- object str
- String representing the object's type. Objects of the same type share the same value.
- product str
- The product whose pricing this plan determines.
- tiers
Sequence[Plan
Tier Args] - Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers_
mode str - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform_
usage PlanTransform Usage Args - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial_
period_ floatdays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage_
type str - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
- active Boolean
- Whether the plan can be used for new purchases.
- amount Number
- The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if
billing_scheme=per_unit. - amount
Decimal Number - The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if
billing_scheme=per_unit. - billing
Scheme String - Describes how to compute the price per period. Either
per_unitortiered.per_unitindicates that the fixed amount (specified inamount) will be charged per unit inquantity(for plans withusage_type=licensed), or per unit of total usage (for plans withusage_type=metered).tieredindicates that the unit pricing will be computed using a tiering strategy as defined using thetiersandtiers_modeattributes. - created Number
- Time at which the object was created. Measured in seconds since the Unix epoch.
- currency String
- Three-letter ISO currency code, in lowercase. Must be a supported currency.
- interval String
- The frequency at which a subscription is billed. One of
day,week,monthoryear. - interval
Count Number - The number of intervals (specified in the
intervalattribute) between subscription billings. For example,interval=monthandinterval_count=3bills every 3 months. - livemode Boolean
- If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata Map<String>
- 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.
- meter String
- The meter tracking the usage of a metered price
- nickname String
- A brief description of the plan, hidden from customers.
- object String
- String representing the object's type. Objects of the same type share the same value.
- product String
- The product whose pricing this plan determines.
- tiers List<Property Map>
- Each element represents a pricing tier. This parameter requires
billing_schemeto be set totiered. See also the documentation forbilling_scheme. - tiers
Mode String - Defines if the tiering price should be
graduatedorvolumebased. Involume-based tiering, the maximum quantity within a period determines the per unit price. Ingraduatedtiering, pricing can change as the quantity grows. - transform
Usage Property Map - Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with
tiers. - trial
Period NumberDays - Default number of trial days when subscribing a customer to this plan using
trial_from_plan=true. - usage
Type String - Configures how the quantity per period should be determined. Can be either
meteredorlicensed.licensedautomatically bills thequantityset when adding it to a subscription.meteredaggregates the total usage based on usage records. Defaults tolicensed.
Supporting Types
PlanTier, PlanTierArgs
- Up
To double - Up to and including to this quantity will be contained in the tier.
- Flat
Amount double - Price for the entire tier.
- Flat
Amount doubleDecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - Unit
Amount double - Per unit price for units relevant to the tier.
- Unit
Amount doubleDecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- Up
To float64 - Up to and including to this quantity will be contained in the tier.
- Flat
Amount float64 - Price for the entire tier.
- Flat
Amount float64Decimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - Unit
Amount float64 - Per unit price for units relevant to the tier.
- Unit
Amount float64Decimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- up_
to number - Up to and including to this quantity will be contained in the tier.
- flat_
amount number - Price for the entire tier.
- flat_
amount_ numberdecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - unit_
amount number - Per unit price for units relevant to the tier.
- unit_
amount_ numberdecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- up
To Double - Up to and including to this quantity will be contained in the tier.
- flat
Amount Double - Price for the entire tier.
- flat
Amount DoubleDecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - unit
Amount Double - Per unit price for units relevant to the tier.
- unit
Amount DoubleDecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- up
To number - Up to and including to this quantity will be contained in the tier.
- flat
Amount number - Price for the entire tier.
- flat
Amount numberDecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - unit
Amount number - Per unit price for units relevant to the tier.
- unit
Amount numberDecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- up_
to float - Up to and including to this quantity will be contained in the tier.
- flat_
amount float - Price for the entire tier.
- flat_
amount_ floatdecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - unit_
amount float - Per unit price for units relevant to the tier.
- unit_
amount_ floatdecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
- up
To Number - Up to and including to this quantity will be contained in the tier.
- flat
Amount Number - Price for the entire tier.
- flat
Amount NumberDecimal - Same as
flat_amount, but contains a decimal value with at most 12 decimal places. - unit
Amount Number - Per unit price for units relevant to the tier.
- unit
Amount NumberDecimal - Same as
unit_amount, but contains a decimal value with at most 12 decimal places.
PlanTransformUsage, PlanTransformUsageArgs
Package Details
- Repository
- stripe stripe/terraform-provider-stripe
- License
- Notes
- This Pulumi package is based on the
stripeTerraform Provider.
published on Friday, Aug 14, 2026 by Pulumi