Struct stripe::SubscriptionSchedulePhaseConfiguration[][src]

pub struct SubscriptionSchedulePhaseConfiguration {
    pub add_invoice_items: Vec<SubscriptionScheduleAddInvoiceItem>,
    pub application_fee_percent: Option<f64>,
    pub billing_cycle_anchor: Option<SubscriptionSchedulePhaseConfigurationBillingCycleAnchor>,
    pub billing_thresholds: Option<SubscriptionBillingThresholds>,
    pub collection_method: Option<CollectionMethod>,
    pub coupon: Option<Expandable<Coupon>>,
    pub default_payment_method: Option<Expandable<PaymentMethod>>,
    pub default_tax_rates: Option<Vec<TaxRate>>,
    pub end_date: Timestamp,
    pub invoice_settings: Option<SubscriptionScheduleInvoiceSettings>,
    pub items: Vec<SubscriptionScheduleConfigurationItem>,
    pub proration_behavior: SubscriptionProrationBehavior,
    pub start_date: Timestamp,
    pub transfer_data: Option<SubscriptionTransferData>,
    pub trial_end: Option<Timestamp>,
}

Fields

add_invoice_items: Vec<SubscriptionScheduleAddInvoiceItem>

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

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 subtotal that will be transferred to the application owner's Stripe account during this phase of the schedule.

billing_cycle_anchor: Option<SubscriptionSchedulePhaseConfigurationBillingCycleAnchor>

Possible values are phase_start or automatic.

If phase_start then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If automatic then the billing cycle anchor is automatically modified as needed when entering the phase. 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.

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.

coupon: Option<Expandable<Coupon>>

ID of the coupon to use during this phase of the subscription schedule.

default_payment_method: Option<Expandable<PaymentMethod>>

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<TaxRate>>

The default tax rates to apply to the subscription during this phase of the subscription schedule.

end_date: Timestamp

The end of this phase of the subscription schedule.

invoice_settings: Option<SubscriptionScheduleInvoiceSettings>

The invoice settings applicable during this phase.

items: Vec<SubscriptionScheduleConfigurationItem>

Subscription items to configure the subscription to during this phase of the subscription schedule.

proration_behavior: SubscriptionProrationBehavior

If the subscription schedule will prorate when transitioning to this phase.

Possible values are create_prorations and none.

start_date: Timestamp

The start of this phase of the subscription schedule.

transfer_data: Option<SubscriptionTransferData>

The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.

trial_end: Option<Timestamp>

When the trial ends within the phase.

Trait Implementations

impl Clone for SubscriptionSchedulePhaseConfiguration[src]

impl Debug for SubscriptionSchedulePhaseConfiguration[src]

impl<'de> Deserialize<'de> for SubscriptionSchedulePhaseConfiguration[src]

impl Serialize for SubscriptionSchedulePhaseConfiguration[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

impl<T> WithSubscriber for T[src]