pub struct Plan {Show 20 fields
pub id: PlanId,
pub active: Option<bool>,
pub aggregate_usage: Option<PlanAggregateUsage>,
pub amount: Option<i64>,
pub amount_decimal: Option<String>,
pub billing_scheme: Option<PlanBillingScheme>,
pub created: Option<Timestamp>,
pub currency: Option<Currency>,
pub deleted: bool,
pub interval: Option<PlanInterval>,
pub interval_count: Option<u64>,
pub livemode: Option<bool>,
pub metadata: Metadata,
pub nickname: Option<String>,
pub product: Option<Expandable<Product>>,
pub tiers: Option<Vec<PlanTier>>,
pub tiers_mode: Option<PlanTiersMode>,
pub transform_usage: Option<TransformUsage>,
pub trial_period_days: Option<u32>,
pub usage_type: Option<PlanUsageType>,
}
Expand description
The resource representing a Stripe “Plan”.
For more details see https://stripe.com/docs/api/plans/object
Fields§
§id: PlanId
Unique identifier for the object.
active: Option<bool>
Whether the plan can be used for new purchases.
aggregate_usage: Option<PlanAggregateUsage>
Specifies a usage aggregation strategy for plans of usage_type=metered
.
Allowed values are sum
for summing up all usage during a period, last_during_period
for using the last usage record reported within a period, last_ever
for using the last usage record ever (across period bounds) or max
which uses the usage record with the maximum reported usage during a period.
Defaults to sum
.
amount: Option<i64>
The unit amount in %s to be charged, represented as a whole integer if possible.
Only set if billing_scheme=per_unit
.
amount_decimal: Option<String>
The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places.
Only set if billing_scheme=per_unit
.
billing_scheme: Option<PlanBillingScheme>
Describes how to compute the price per period.
Either per_unit
or tiered
.
per_unit
indicates that the fixed amount (specified in amount
) will be charged per unit in quantity
(for plans with usage_type=licensed
), or per unit of total usage (for plans 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.
created: Option<Timestamp>
Time at which the object was created.
Measured in seconds since the Unix epoch.
currency: Option<Currency>
Three-letter ISO currency code, in lowercase.
Must be a supported currency.
deleted: bool
§interval: Option<PlanInterval>
The frequency at which a subscription is billed.
One of day
, week
, month
or year
.
interval_count: Option<u64>
The number of intervals (specified in the interval
attribute) between subscription billings.
For example, interval=month
and interval_count=3
bills every 3 months.
livemode: Option<bool>
Has the value true
if the object exists in live mode or the value false
if the object exists in test mode.
metadata: Metadata
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.
nickname: Option<String>
A brief description of the plan, hidden from customers.
product: Option<Expandable<Product>>
The product whose pricing this plan determines.
tiers: Option<Vec<PlanTier>>
Each element represents a pricing tier.
This parameter requires billing_scheme
to be set to tiered
.
See also the documentation for billing_scheme
.
tiers_mode: Option<PlanTiersMode>
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.
transform_usage: Option<TransformUsage>
Apply a transformation to the reported usage or set quantity before computing the amount billed.
Cannot be combined with tiers
.
trial_period_days: Option<u32>
Default number of trial days when subscribing a customer to this plan using trial_from_plan=true
.
usage_type: Option<PlanUsageType>
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
.
Implementations§
source§impl Plan
impl Plan
sourcepub fn list(client: &Client, params: &ListPlans<'_>) -> Response<List<Plan>>
pub fn list(client: &Client, params: &ListPlans<'_>) -> Response<List<Plan>>
Returns a list of your plans.
sourcepub fn retrieve(client: &Client, id: &PlanId, expand: &[&str]) -> Response<Plan>
pub fn retrieve(client: &Client, id: &PlanId, expand: &[&str]) -> Response<Plan>
Retrieves the plan with the given ID.