Struct stripe::CreateSubscriptionSchedulePhases
source · pub struct CreateSubscriptionSchedulePhases {Show 21 fields
pub add_invoice_items: Option<Vec<AddInvoiceItems>>,
pub application_fee_percent: Option<f64>,
pub automatic_tax: Option<CreateSubscriptionSchedulePhasesAutomaticTax>,
pub billing_cycle_anchor: Option<CreateSubscriptionSchedulePhasesBillingCycleAnchor>,
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<CreateSubscriptionSchedulePhasesItems>,
pub iterations: Option<i64>,
pub metadata: Option<Metadata>,
pub on_behalf_of: Option<String>,
pub proration_behavior: Option<SubscriptionProrationBehavior>,
pub transfer_data: Option<CreateSubscriptionSchedulePhasesTransferData>,
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<CreateSubscriptionSchedulePhasesAutomaticTax>
Automatic tax settings for this phase.
billing_cycle_anchor: Option<CreateSubscriptionSchedulePhasesBillingCycleAnchor>
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<CreateSubscriptionSchedulePhasesItems>
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.
transfer_data: Option<CreateSubscriptionSchedulePhasesTransferData>
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 CreateSubscriptionSchedulePhases
impl Clone for CreateSubscriptionSchedulePhases
source§fn clone(&self) -> CreateSubscriptionSchedulePhases
fn clone(&self) -> CreateSubscriptionSchedulePhases
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more