[−][src]Struct stripe::Plan
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 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: bool
interval: 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: 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 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]
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
impl Unpin for Plan
impl Sync for Plan
impl Send for Plan
impl UnwindSafe for Plan
impl RefUnwindSafe for Plan
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