Class: Stripe::SubscriptionItemUpdateParams

Inherits:
RequestParams show all
Defined in:
lib/stripe/params/subscription_item_update_params.rb

Defined Under Namespace

Classes: BillingThresholds, Discount, PriceData

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

attr_accessor, coerce_params, coerce_value, new, #to_h

Constructor Details

#initialize(billing_thresholds: nil, discounts: nil, expand: nil, metadata: nil, off_session: nil, payment_behavior: nil, plan: nil, price: nil, price_data: nil, proration_behavior: nil, proration_date: nil, quantity: nil, tax_rates: nil) ⇒ SubscriptionItemUpdateParams

Returns a new instance of SubscriptionItemUpdateParams.



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/stripe/params/subscription_item_update_params.rb', line 102

def initialize(
  billing_thresholds: nil,
  discounts: nil,
  expand: nil,
  metadata: nil,
  off_session: nil,
  payment_behavior: nil,
  plan: nil,
  price: nil,
  price_data: nil,
  proration_behavior: nil,
  proration_date: nil,
  quantity: nil,
  tax_rates: nil
)
  @billing_thresholds = billing_thresholds
  @discounts = discounts
  @expand = expand
  @metadata = 
  @off_session = off_session
  @payment_behavior = payment_behavior
  @plan = plan
  @price = price
  @price_data = price_data
  @proration_behavior = proration_behavior
  @proration_date = proration_date
  @quantity = quantity
  @tax_rates = tax_rates
end

Instance Attribute Details

#billing_thresholdsObject

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.



76
77
78
# File 'lib/stripe/params/subscription_item_update_params.rb', line 76

def billing_thresholds
  @billing_thresholds
end

#discountsObject

The coupons to redeem into discounts for the subscription item.



78
79
80
# File 'lib/stripe/params/subscription_item_update_params.rb', line 78

def discounts
  @discounts
end

#expandObject

Specifies which fields in the response should be expanded.



80
81
82
# File 'lib/stripe/params/subscription_item_update_params.rb', line 80

def expand
  @expand
end

#metadataObject

Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to ‘metadata`.



82
83
84
# File 'lib/stripe/params/subscription_item_update_params.rb', line 82

def 
  @metadata
end

#off_sessionObject

Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to ‘false` (on-session).



84
85
86
# File 'lib/stripe/params/subscription_item_update_params.rb', line 84

def off_session
  @off_session
end

#payment_behaviorObject

Controls how Stripe handles payment when a subscription update requires payment and ‘collection_method=charge_automatically`.



86
87
88
# File 'lib/stripe/params/subscription_item_update_params.rb', line 86

def payment_behavior
  @payment_behavior
end

#planObject

The identifier of the new plan for this subscription item.



88
89
90
# File 'lib/stripe/params/subscription_item_update_params.rb', line 88

def plan
  @plan
end

#priceObject

The ID of the price object. One of ‘price` or `price_data` is required. When changing a subscription item’s price, ‘quantity` is set to 1 unless a `quantity` parameter is provided.



90
91
92
# File 'lib/stripe/params/subscription_item_update_params.rb', line 90

def price
  @price
end

#price_dataObject

Data used to generate a new [Price](docs.stripe.com/api/prices) object inline. One of ‘price` or `price_data` is required.



92
93
94
# File 'lib/stripe/params/subscription_item_update_params.rb', line 92

def price_data
  @price_data
end

#proration_behaviorObject

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



94
95
96
# File 'lib/stripe/params/subscription_item_update_params.rb', line 94

def proration_behavior
  @proration_behavior
end

#proration_dateObject

If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](/api/invoices/create_preview) endpoint.



96
97
98
# File 'lib/stripe/params/subscription_item_update_params.rb', line 96

def proration_date
  @proration_date
end

#quantityObject

The quantity you’d like to apply to the subscription item you’re creating.



98
99
100
# File 'lib/stripe/params/subscription_item_update_params.rb', line 98

def quantity
  @quantity
end

#tax_ratesObject

A list of [Tax Rate](docs.stripe.com/api/tax_rates) ids. These Tax Rates will override the [‘default_tax_rates`](docs.stripe.com/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates.



100
101
102
# File 'lib/stripe/params/subscription_item_update_params.rb', line 100

def tax_rates
  @tax_rates
end

Class Method Details

.field_encodingsObject



132
133
134
135
136
# File 'lib/stripe/params/subscription_item_update_params.rb', line 132

def self.field_encodings
  @field_encodings = {
    price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
  }
end