[−][src]Struct stripe::Plan
The resource representing a Stripe "Plan".
For more details see https://stripe.com/docs/api/plans/object.
Fields
id: PlanIdUnique identifier for the object.
active: boolWhether the plan is currently available for new subscriptions.
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 picking the last usage record reported within a period, last_ever for picking the last usage record ever (across period bounds) or max which picks the usage record with the maximum reported usage during a period.
Defaults to sum.
amount: Option<i64>The amount in %s to be charged on the interval specified.
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: boolinterval: Option<PlanInterval>One of day, week, month or year.
The frequency with which a subscription should be billed.
interval_count: Option<u64>The number of intervals (specified in the interval property) between subscription billings.
For example, interval=month and interval_count=3 bills every 3 months.
livemode: boolHas the value true if the object exists in live mode or the value false if the object exists in test mode.
metadata: MetadataSet 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 successively change as the quantity grows.
transform_usage: Option<TransformUsage>Apply a transformation to the reported usage or set quantity before computing the billed price.
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 will automatically bill the quantity set for a plan when adding it to a subscription, metered will aggregate the total usage based on usage records.
Defaults to licensed.
Methods
impl Plan[src]
pub fn list(client: &Client, params: ListPlans) -> Response<List<Plan>>[src]
Returns a list of your plans.
pub fn create(client: &Client, params: CreatePlan) -> Response<Plan>[src]
You can create plans using the API, or in the Stripe Dashboard.
pub fn retrieve(client: &Client, id: &PlanId, expand: &[&str]) -> Response<Plan>[src]
Retrieves the plan with the given ID.
pub fn update(
client: &Client,
id: &PlanId,
params: UpdatePlan
) -> Response<Plan>[src]
client: &Client,
id: &PlanId,
params: UpdatePlan
) -> Response<Plan>
Updates the specified plan by setting the values of the parameters passed.
Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.
pub fn delete(client: &Client, id: &PlanId) -> Response<Deleted<PlanId>>[src]
Deleting plans means new subscribers can’t be added.
Existing subscribers aren’t affected.
Trait Implementations
impl Object for Plan[src]
type Id = PlanId
The canonical id type for this object.
fn id(&self) -> Self::Id[src]
fn object(&self) -> &'static str[src]
impl Clone for Plan[src]
fn clone(&self) -> Plan[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for Plan[src]
impl Serialize for Plan[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
impl<'de> Deserialize<'de> for Plan[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>, [src]
T: Deserialize<'de>,
impl<T> Erased for T
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
U: TryFrom<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self