pub struct UpdateSubscriptionSchedulePhases {
Show 22 fields pub add_invoice_items: Option<Vec<AddInvoiceItems>>, pub application_fee_percent: Option<f64>, pub automatic_tax: Option<UpdateSubscriptionSchedulePhasesAutomaticTax>, pub billing_cycle_anchor: Option<UpdateSubscriptionSchedulePhasesBillingCycleAnchor>, pub billing_thresholds: Option<SubscriptionBillingThresholds>, pub collection_method: Option<CollectionMethod>, pub coupon: Option<String>, pub currency: Option<Currency>, pub default_payment_method: Option<String>, pub default_tax_rates: Option<Vec<String>>, pub description: Option<String>, pub end_date: Option<Scheduled>, pub invoice_settings: Option<SubscriptionScheduleInvoiceSettings>, pub items: Vec<UpdateSubscriptionSchedulePhasesItems>, pub iterations: Option<i64>, pub metadata: Option<Metadata>, pub on_behalf_of: Option<String>, pub proration_behavior: Option<SubscriptionProrationBehavior>, pub start_date: Option<Scheduled>, pub transfer_data: Option<UpdateSubscriptionSchedulePhasesTransferData>, pub trial: Option<bool>, pub trial_end: Option<Scheduled>,
}

Fields§

§add_invoice_items: Option<Vec<AddInvoiceItems>>

A list of prices and quantities that will generate invoice items appended to the next invoice for this phase.

You may pass up to 20 items.

§application_fee_percent: Option<f64>

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. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees documentation.

§automatic_tax: Option<UpdateSubscriptionSchedulePhasesAutomaticTax>

Automatic tax settings for this phase.

§billing_cycle_anchor: Option<UpdateSubscriptionSchedulePhasesBillingCycleAnchor>

Can be set to phase_start to set the anchor to the start of the phase or automatic to automatically change it if needed.

Cannot be set to phase_start if this phase specifies a trial. For more information, see the billing cycle documentation.

§billing_thresholds: Option<SubscriptionBillingThresholds>

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

Pass an empty string to remove previously-defined thresholds.

§collection_method: Option<CollectionMethod>

Either charge_automatically, or send_invoice.

When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing 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. Defaults to charge_automatically on creation.

§coupon: Option<String>

The identifier of the coupon to apply to this phase of the subscription schedule.

§currency: Option<Currency>

Three-letter ISO currency code, in lowercase.

Must be a supported currency.

§default_payment_method: Option<String>

ID of the default payment method for the subscription schedule.

It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer’s invoice settings.

§default_tax_rates: Option<Vec<String>>

A list of Tax Rate ids.

These Tax Rates will set the Subscription’s default_tax_rates, which means they will be the Invoice’s default_tax_rates for any Invoices issued by the Subscription during this Phase.

§description: Option<String>

Subscription 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.

§end_date: Option<Scheduled>

The date at which this phase of the subscription schedule ends.

If set, iterations must not be set.

§invoice_settings: Option<SubscriptionScheduleInvoiceSettings>

All invoices will be billed using the specified settings.

§items: Vec<UpdateSubscriptionSchedulePhasesItems>

List of configuration items, each with an attached price, to apply during this phase of the subscription schedule.

§iterations: Option<i64>

Integer representing the multiplier applied to the price interval.

For example, iterations=2 applied to a price with interval=month and interval_count=3 results in a phase of duration 2 * 3 months = 6 months. If set, end_date must not be set.

§metadata: Option<Metadata>

Set of key-value pairs that you can attach to a phase.

Metadata on a schedule’s phase will update the underlying subscription’s metadata when the phase is entered, adding new keys and replacing existing keys in the subscription’s metadata. Individual keys in the subscription’s metadata can be unset by posting an empty value to them in the phase’s metadata. To unset all keys in the subscription’s metadata, update the subscription directly or unset every key individually from the phase’s metadata.

§on_behalf_of: Option<String>

The account on behalf of which to charge, for each of the associated subscription’s invoices.

§proration_behavior: Option<SubscriptionProrationBehavior>

Whether the subscription schedule will create prorations when transitioning to this phase.

The default value is create_prorations. This setting controls prorations when a phase is started asynchronously and it is persisted as a field on the phase. It’s different from the request-level proration_behavior parameter which controls what happens if the update request affects the billing configuration of the current phase.

§start_date: Option<Scheduled>

The date at which this phase of the subscription schedule starts or now.

Must be set on the first phase.

§transfer_data: Option<UpdateSubscriptionSchedulePhasesTransferData>

The data with which to automatically create a Transfer for each of the associated subscription’s invoices.

§trial: Option<bool>

If set to true the entire phase is counted as a trial and the customer will not be charged for any fees.

§trial_end: Option<Scheduled>

Sets the phase to trialing from the start date to this date.

Must be before the phase end date, can not be combined with trial.

Trait Implementations§

source§

impl Clone for UpdateSubscriptionSchedulePhases

source§

fn clone(&self) -> UpdateSubscriptionSchedulePhases

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for UpdateSubscriptionSchedulePhases

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for UpdateSubscriptionSchedulePhases

source§

fn default() -> UpdateSubscriptionSchedulePhases

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for UpdateSubscriptionSchedulePhases

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for UpdateSubscriptionSchedulePhases

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,