Class: Stripe::InvoiceCreatePreviewParams::SubscriptionDetails
- Inherits:
-
RequestParams
- Object
- RequestParams
- Stripe::InvoiceCreatePreviewParams::SubscriptionDetails
- Defined in:
- lib/stripe/params/invoice_create_preview_params.rb
Defined Under Namespace
Classes: BillingMode, Item
Instance Attribute Summary collapse
-
#billing_cycle_anchor ⇒ Object
For new subscriptions, a future timestamp to anchor the subscription’s [billing cycle](docs.stripe.com/subscriptions/billing-cycle).
-
#billing_mode ⇒ Object
Controls how prorations and invoices for subscriptions are calculated and orchestrated.
-
#cancel_at ⇒ Object
A timestamp at which the subscription should cancel.
-
#cancel_at_period_end ⇒ Object
Indicate whether this subscription should cancel at the end of the current period (
current_period_end). -
#cancel_now ⇒ Object
This simulates the subscription being canceled or expired immediately.
-
#default_tax_rates ⇒ Object
If provided, the invoice returned will preview updating or creating a subscription with these default tax rates.
-
#items ⇒ Object
A list of up to 20 subscription items, each with an attached price.
-
#proration_behavior ⇒ Object
Determines how to handle [prorations](docs.stripe.com/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting ‘billing_cycle_anchor=now`, or starting a trial), or if an item’s
quantitychanges. -
#proration_date ⇒ Object
If previewing an update to a subscription, and doing proration,
subscription_details.proration_dateforces the proration to be calculated as though the update was done at the specified time. -
#resume_at ⇒ Object
For paused subscriptions, setting
subscription_details.resume_attonowwill preview the invoice that will be generated if the subscription is resumed. -
#start_date ⇒ Object
Date a subscription is intended to start (can be future or past).
-
#trial_end ⇒ Object
If provided, the invoice returned will preview updating or creating a subscription with that trial end.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(billing_cycle_anchor: nil, billing_mode: nil, cancel_at: nil, cancel_at_period_end: nil, cancel_now: nil, default_tax_rates: nil, items: nil, proration_behavior: nil, proration_date: nil, resume_at: nil, start_date: nil, trial_end: nil) ⇒ SubscriptionDetails
constructor
A new instance of SubscriptionDetails.
Methods inherited from RequestParams
attr_accessor, coerce_params, coerce_value, new, #to_h
Constructor Details
#initialize(billing_cycle_anchor: nil, billing_mode: nil, cancel_at: nil, cancel_at_period_end: nil, cancel_now: nil, default_tax_rates: nil, items: nil, proration_behavior: nil, proration_date: nil, resume_at: nil, start_date: nil, trial_end: nil) ⇒ SubscriptionDetails
Returns a new instance of SubscriptionDetails.
1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1004 def initialize( billing_cycle_anchor: nil, billing_mode: nil, cancel_at: nil, cancel_at_period_end: nil, cancel_now: nil, default_tax_rates: nil, items: nil, proration_behavior: nil, proration_date: nil, resume_at: nil, start_date: nil, trial_end: nil ) @billing_cycle_anchor = billing_cycle_anchor @billing_mode = billing_mode @cancel_at = cancel_at @cancel_at_period_end = cancel_at_period_end @cancel_now = cancel_now @default_tax_rates = default_tax_rates @items = items @proration_behavior = proration_behavior @proration_date = proration_date @resume_at = resume_at @start_date = start_date @trial_end = trial_end end |
Instance Attribute Details
#billing_cycle_anchor ⇒ Object
For new subscriptions, a future timestamp to anchor the subscription’s [billing cycle](docs.stripe.com/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to now or unchanged.
980 981 982 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 980 def billing_cycle_anchor @billing_cycle_anchor end |
#billing_mode ⇒ Object
Controls how prorations and invoices for subscriptions are calculated and orchestrated.
982 983 984 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 982 def billing_mode @billing_mode end |
#cancel_at ⇒ Object
A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using proration_behavior. If set during a future period, this will always cause a proration for that period.
984 985 986 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 984 def cancel_at @cancel_at end |
#cancel_at_period_end ⇒ Object
Indicate whether this subscription should cancel at the end of the current period (current_period_end). Defaults to false.
986 987 988 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 986 def cancel_at_period_end @cancel_at_period_end end |
#cancel_now ⇒ Object
This simulates the subscription being canceled or expired immediately.
988 989 990 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 988 def cancel_now @cancel_now end |
#default_tax_rates ⇒ Object
If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have tax_rates set.
990 991 992 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 990 def default_tax_rates @default_tax_rates end |
#items ⇒ Object
A list of up to 20 subscription items, each with an attached price.
992 993 994 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 992 def items @items end |
#proration_behavior ⇒ Object
Determines how to handle [prorations](docs.stripe.com/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting ‘billing_cycle_anchor=now`, or starting a trial), or if an item’s quantity changes. The default value is create_prorations.
994 995 996 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 994 def proration_behavior @proration_behavior end |
#proration_date ⇒ Object
If previewing an update to a subscription, and doing proration, subscription_details.proration_date forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, subscription, and one of subscription_details.items, or subscription_details.trial_end are required. Also, subscription_details.proration_behavior cannot be set to ‘none’.
996 997 998 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 996 def proration_date @proration_date end |
#resume_at ⇒ Object
For paused subscriptions, setting subscription_details.resume_at to now will preview the invoice that will be generated if the subscription is resumed.
998 999 1000 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 998 def resume_at @resume_at end |
#start_date ⇒ Object
Date a subscription is intended to start (can be future or past).
1000 1001 1002 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1000 def start_date @start_date end |
#trial_end ⇒ Object
If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of subscription_details.items or subscription is required.
1002 1003 1004 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1002 def trial_end @trial_end end |
Class Method Details
.field_encodings ⇒ Object
1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1032 def self.field_encodings @field_encodings = { items: { kind: :array, element: { kind: :object, fields: { price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } } }, }, }, } end |