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, BillingSchedule, 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.
-
#billing_schedules ⇒ Object
Sets the billing schedules for the subscription.
-
#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 ‘quantity` changes.
-
#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.
-
#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.
-
#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, billing_schedules: 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, billing_schedules: 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.
1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1062 def initialize( billing_cycle_anchor: nil, billing_mode: nil, billing_schedules: 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 @billing_schedules = billing_schedules @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`.
1036 1037 1038 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1036 def billing_cycle_anchor @billing_cycle_anchor end |
#billing_mode ⇒ Object
Controls how prorations and invoices for subscriptions are calculated and orchestrated.
1038 1039 1040 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1038 def billing_mode @billing_mode end |
#billing_schedules ⇒ Object
Sets the billing schedules for the subscription.
1040 1041 1042 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1040 def billing_schedules @billing_schedules 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.
1042 1043 1044 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1042 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`.
1044 1045 1046 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1044 def cancel_at_period_end @cancel_at_period_end end |
#cancel_now ⇒ Object
This simulates the subscription being canceled or expired immediately.
1046 1047 1048 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1046 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.
1048 1049 1050 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1048 def default_tax_rates @default_tax_rates end |
#items ⇒ Object
A list of up to 20 subscription items, each with an attached price.
1050 1051 1052 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1050 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`.
1052 1053 1054 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1052 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’.
1054 1055 1056 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1054 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.
1056 1057 1058 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1056 def resume_at @resume_at end |
#start_date ⇒ Object
Date a subscription is intended to start (can be future or past).
1058 1059 1060 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1058 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.
1060 1061 1062 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1060 def trial_end @trial_end end |
Class Method Details
.field_encodings ⇒ Object
1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 |
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 1092 def self.field_encodings @field_encodings = { items: { kind: :array, element: { kind: :object, fields: { price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } } }, }, }, } end |