stripe 15.0.0 → 15.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/API_VERSION +1 -0
- data/CHANGELOG.md +129 -44
- data/CONTRIBUTING.md +25 -0
- data/Gemfile +1 -1
- data/OPENAPI_VERSION +1 -1
- data/README.md +28 -55
- data/VERSION +1 -1
- data/lib/stripe/api_operations/nested_resource.rb +35 -35
- data/lib/stripe/api_requestor.rb +1 -1
- data/lib/stripe/api_version.rb +2 -1
- data/lib/stripe/connection_manager.rb +1 -3
- data/lib/stripe/event_types.rb +1 -0
- data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +1 -1
- data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +1 -1
- data/lib/stripe/events/v2_core_event_destination_ping_event.rb +21 -0
- data/lib/stripe/oauth.rb +1 -1
- data/lib/stripe/resources/account.rb +198 -28
- data/lib/stripe/resources/account_session.rb +176 -72
- data/lib/stripe/resources/apple_pay_domain.rb +1 -2
- data/lib/stripe/resources/balance.rb +42 -0
- data/lib/stripe/resources/balance_transaction.rb +2 -0
- data/lib/stripe/resources/bank_account.rb +2 -2
- data/lib/stripe/resources/billing_portal/session.rb +3 -3
- data/lib/stripe/resources/capability.rb +1 -1
- data/lib/stripe/resources/charge.rb +43 -20
- data/lib/stripe/resources/checkout/session.rb +120 -19
- data/lib/stripe/resources/confirmation_token.rb +119 -100
- data/lib/stripe/resources/country_spec.rb +1 -1
- data/lib/stripe/resources/coupon.rb +2 -3
- data/lib/stripe/resources/credit_note.rb +21 -18
- data/lib/stripe/resources/customer.rb +4 -6
- data/lib/stripe/resources/customer_session.rb +5 -5
- data/lib/stripe/resources/dispute.rb +2 -2
- data/lib/stripe/resources/event.rb +3 -1
- data/lib/stripe/resources/file.rb +1 -1
- data/lib/stripe/resources/funding_instructions.rb +1 -1
- data/lib/stripe/resources/identity/verification_report.rb +6 -0
- data/lib/stripe/resources/identity/verification_session.rb +51 -11
- data/lib/stripe/resources/invoice.rb +146 -32
- data/lib/stripe/resources/invoice_item.rb +3 -7
- data/lib/stripe/resources/invoice_line_item.rb +1 -1
- data/lib/stripe/resources/invoice_payment.rb +9 -2
- data/lib/stripe/resources/issuing/authorization.rb +8 -8
- data/lib/stripe/resources/issuing/card.rb +1 -1
- data/lib/stripe/resources/issuing/dispute.rb +3 -3
- data/lib/stripe/resources/login_link.rb +2 -1
- data/lib/stripe/resources/mandate.rb +3 -0
- data/lib/stripe/resources/payment_intent.rb +602 -325
- data/lib/stripe/resources/payment_method.rb +76 -117
- data/lib/stripe/resources/payment_method_configuration.rb +356 -2
- data/lib/stripe/resources/payment_method_domain.rb +15 -2
- data/lib/stripe/resources/payout.rb +4 -4
- data/lib/stripe/resources/person.rb +27 -3
- data/lib/stripe/resources/plan.rb +2 -3
- data/lib/stripe/resources/price.rb +1 -1
- data/lib/stripe/resources/product.rb +1 -2
- data/lib/stripe/resources/quote.rb +28 -3
- data/lib/stripe/resources/radar/value_list.rb +1 -2
- data/lib/stripe/resources/radar/value_list_item.rb +1 -2
- data/lib/stripe/resources/refund.rb +8 -1
- data/lib/stripe/resources/reversal.rb +1 -1
- data/lib/stripe/resources/review.rb +1 -1
- data/lib/stripe/resources/setup_attempt.rb +1 -1
- data/lib/stripe/resources/setup_intent.rb +414 -293
- data/lib/stripe/resources/source.rb +1 -1
- data/lib/stripe/resources/subscription.rb +149 -27
- data/lib/stripe/resources/subscription_item.rb +33 -0
- data/lib/stripe/resources/subscription_schedule.rb +141 -4
- data/lib/stripe/resources/tax/calculation.rb +6 -2
- data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
- data/lib/stripe/resources/tax/registration.rb +261 -1
- data/lib/stripe/resources/tax/transaction.rb +1 -1
- data/lib/stripe/resources/tax_id.rb +3 -4
- data/lib/stripe/resources/tax_rate.rb +2 -2
- data/lib/stripe/resources/terminal/configuration.rb +2 -2
- data/lib/stripe/resources/terminal/location.rb +2 -3
- data/lib/stripe/resources/terminal/reader.rb +426 -6
- data/lib/stripe/resources/test_helpers/test_clock.rb +1 -2
- data/lib/stripe/resources/token.rb +63 -2
- data/lib/stripe/resources/transfer.rb +1 -1
- data/lib/stripe/resources/treasury/financial_account.rb +5 -1
- data/lib/stripe/resources/v2/billing/meter_event.rb +2 -2
- data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +2 -2
- data/lib/stripe/resources/v2/billing/meter_event_session.rb +2 -2
- data/lib/stripe/resources/v2/event.rb +2 -2
- data/lib/stripe/resources/v2/event_destination.rb +2 -2
- data/lib/stripe/resources/webhook_endpoint.rb +1 -2
- data/lib/stripe/resources.rb +1 -0
- data/lib/stripe/services/account_external_account_service.rb +3 -4
- data/lib/stripe/services/account_login_link_service.rb +1 -1
- data/lib/stripe/services/account_person_service.rb +85 -2
- data/lib/stripe/services/account_service.rb +169 -20
- data/lib/stripe/services/account_session_service.rb +115 -47
- data/lib/stripe/services/apple_pay_domain_service.rb +1 -2
- data/lib/stripe/services/application_fee_service.rb +1 -1
- data/lib/stripe/services/apps_service.rb +1 -1
- data/lib/stripe/services/balance_service.rb +1 -1
- data/lib/stripe/services/billing/meter_service.rb +1 -1
- data/lib/stripe/services/billing_portal/session_service.rb +1 -1
- data/lib/stripe/services/billing_portal_service.rb +1 -1
- data/lib/stripe/services/billing_service.rb +1 -1
- data/lib/stripe/services/charge_service.rb +4 -4
- data/lib/stripe/services/checkout/session_service.rb +94 -15
- data/lib/stripe/services/checkout_service.rb +1 -1
- data/lib/stripe/services/climate_service.rb +1 -1
- data/lib/stripe/services/coupon_service.rb +1 -2
- data/lib/stripe/services/credit_note_preview_lines_service.rb +3 -3
- data/lib/stripe/services/credit_note_service.rb +14 -15
- data/lib/stripe/services/customer_balance_transaction_service.rb +3 -3
- data/lib/stripe/services/customer_cash_balance_transaction_service.rb +2 -2
- data/lib/stripe/services/customer_payment_method_service.rb +1 -1
- data/lib/stripe/services/customer_payment_source_service.rb +1 -1
- data/lib/stripe/services/customer_service.rb +5 -7
- data/lib/stripe/services/customer_session_service.rb +1 -1
- data/lib/stripe/services/customer_tax_id_service.rb +2 -3
- data/lib/stripe/services/dispute_service.rb +1 -1
- data/lib/stripe/services/entitlements_service.rb +1 -1
- data/lib/stripe/services/file_service.rb +1 -1
- data/lib/stripe/services/financial_connections/account_service.rb +1 -1
- data/lib/stripe/services/financial_connections_service.rb +1 -1
- data/lib/stripe/services/forwarding_service.rb +1 -1
- data/lib/stripe/services/identity/verification_session_service.rb +21 -5
- data/lib/stripe/services/identity_service.rb +1 -1
- data/lib/stripe/services/invoice_item_service.rb +1 -2
- data/lib/stripe/services/invoice_service.rb +122 -28
- data/lib/stripe/services/issuing/authorization_service.rb +4 -4
- data/lib/stripe/services/issuing/card_service.rb +1 -1
- data/lib/stripe/services/issuing/dispute_service.rb +2 -2
- data/lib/stripe/services/issuing_service.rb +1 -1
- data/lib/stripe/services/payment_intent_service.rb +563 -313
- data/lib/stripe/services/payment_link_service.rb +1 -1
- data/lib/stripe/services/payment_method_configuration_service.rb +254 -2
- data/lib/stripe/services/payment_method_domain_service.rb +1 -1
- data/lib/stripe/services/payment_method_service.rb +59 -105
- data/lib/stripe/services/payout_service.rb +2 -2
- data/lib/stripe/services/plan_service.rb +2 -3
- data/lib/stripe/services/price_service.rb +2 -2
- data/lib/stripe/services/product_feature_service.rb +1 -2
- data/lib/stripe/services/product_service.rb +3 -4
- data/lib/stripe/services/promotion_code_service.rb +1 -1
- data/lib/stripe/services/quote_service.rb +21 -4
- data/lib/stripe/services/radar/early_fraud_warning_service.rb +1 -1
- data/lib/stripe/services/radar/value_list_item_service.rb +1 -2
- data/lib/stripe/services/radar/value_list_service.rb +1 -2
- data/lib/stripe/services/radar_service.rb +1 -1
- data/lib/stripe/services/reporting_service.rb +1 -1
- data/lib/stripe/services/setup_intent_service.rb +403 -291
- data/lib/stripe/services/sigma_service.rb +1 -1
- data/lib/stripe/services/source_service.rb +2 -2
- data/lib/stripe/services/subscription_item_service.rb +26 -0
- data/lib/stripe/services/subscription_schedule_service.rb +106 -3
- data/lib/stripe/services/subscription_service.rb +121 -26
- data/lib/stripe/services/tax/calculation_service.rb +6 -2
- data/lib/stripe/services/tax/registration_service.rb +170 -1
- data/lib/stripe/services/tax/transaction_service.rb +1 -1
- data/lib/stripe/services/tax_id_service.rb +2 -3
- data/lib/stripe/services/tax_service.rb +1 -1
- data/lib/stripe/services/terminal/configuration_service.rb +1 -2
- data/lib/stripe/services/terminal/location_service.rb +2 -3
- data/lib/stripe/services/terminal/reader_service.rb +196 -2
- data/lib/stripe/services/terminal_service.rb +1 -1
- data/lib/stripe/services/test_helpers/confirmation_token_service.rb +90 -91
- data/lib/stripe/services/test_helpers/issuing_service.rb +1 -1
- data/lib/stripe/services/test_helpers/terminal/reader_service.rb +43 -0
- data/lib/stripe/services/test_helpers/terminal_service.rb +1 -1
- data/lib/stripe/services/test_helpers/test_clock_service.rb +1 -2
- data/lib/stripe/services/test_helpers/treasury_service.rb +1 -1
- data/lib/stripe/services/test_helpers_service.rb +1 -1
- data/lib/stripe/services/token_service.rb +62 -1
- data/lib/stripe/services/transfer_service.rb +2 -2
- data/lib/stripe/services/treasury/financial_account_service.rb +6 -2
- data/lib/stripe/services/treasury_service.rb +1 -1
- data/lib/stripe/services/v1_services.rb +1 -1
- data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -2
- data/lib/stripe/services/v2/billing_service.rb +3 -3
- data/lib/stripe/services/v2/core/event_destination_service.rb +17 -23
- data/lib/stripe/services/v2/core/event_service.rb +1 -2
- data/lib/stripe/services/v2/core_service.rb +1 -1
- data/lib/stripe/services/v2_services.rb +1 -1
- data/lib/stripe/services/webhook_endpoint_service.rb +1 -2
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe/webhook.rb +1 -1
- data/rbi/stripe/resources/account.rbi +190 -35
- data/rbi/stripe/resources/account_session.rbi +196 -77
- data/rbi/stripe/resources/apple_pay_domain.rbi +1 -3
- data/rbi/stripe/resources/balance.rbi +55 -0
- data/rbi/stripe/resources/balance_transaction.rbi +3 -0
- data/rbi/stripe/resources/bank_account.rbi +2 -2
- data/rbi/stripe/resources/billing/alert.rbi +2 -2
- data/rbi/stripe/resources/billing_portal/session.rbi +3 -3
- data/rbi/stripe/resources/capability.rbi +1 -1
- data/rbi/stripe/resources/charge.rbi +52 -20
- data/rbi/stripe/resources/checkout/session.rbi +133 -24
- data/rbi/stripe/resources/confirmation_token.rbi +140 -115
- data/rbi/stripe/resources/country_spec.rbi +1 -1
- data/rbi/stripe/resources/coupon.rbi +2 -4
- data/rbi/stripe/resources/credit_note.rbi +23 -18
- data/rbi/stripe/resources/customer.rbi +4 -8
- data/rbi/stripe/resources/customer_session.rbi +5 -5
- data/rbi/stripe/resources/dispute.rbi +2 -2
- data/rbi/stripe/resources/event.rbi +4 -1
- data/rbi/stripe/resources/file.rbi +1 -1
- data/rbi/stripe/resources/identity/verification_report.rbi +9 -0
- data/rbi/stripe/resources/identity/verification_session.rbi +59 -12
- data/rbi/stripe/resources/invoice.rbi +149 -40
- data/rbi/stripe/resources/invoice_item.rbi +3 -8
- data/rbi/stripe/resources/invoice_line_item.rbi +2 -2
- data/rbi/stripe/resources/invoice_payment.rbi +9 -2
- data/rbi/stripe/resources/issuing/authorization.rbi +8 -8
- data/rbi/stripe/resources/issuing/card.rbi +1 -1
- data/rbi/stripe/resources/issuing/dispute.rbi +3 -3
- data/rbi/stripe/resources/login_link.rbi +2 -1
- data/rbi/stripe/resources/mandate.rbi +4 -0
- data/rbi/stripe/resources/payment_intent.rbi +637 -381
- data/rbi/stripe/resources/payment_method.rbi +81 -133
- data/rbi/stripe/resources/payment_method_configuration.rbi +400 -4
- data/rbi/stripe/resources/payment_method_domain.rbi +18 -2
- data/rbi/stripe/resources/payout.rbi +4 -4
- data/rbi/stripe/resources/person.rbi +33 -3
- data/rbi/stripe/resources/plan.rbi +2 -4
- data/rbi/stripe/resources/price.rbi +1 -1
- data/rbi/stripe/resources/product.rbi +1 -3
- data/rbi/stripe/resources/quote.rbi +25 -3
- data/rbi/stripe/resources/radar/value_list.rbi +1 -3
- data/rbi/stripe/resources/radar/value_list_item.rbi +1 -3
- data/rbi/stripe/resources/refund.rbi +8 -1
- data/rbi/stripe/resources/reversal.rbi +1 -1
- data/rbi/stripe/resources/review.rbi +1 -1
- data/rbi/stripe/resources/setup_attempt.rbi +1 -1
- data/rbi/stripe/resources/setup_intent.rbi +464 -346
- data/rbi/stripe/resources/source.rbi +1 -1
- data/rbi/stripe/resources/subscription.rbi +150 -34
- data/rbi/stripe/resources/subscription_item.rbi +36 -2
- data/rbi/stripe/resources/subscription_schedule.rbi +161 -11
- data/rbi/stripe/resources/tax/calculation.rbi +7 -3
- data/rbi/stripe/resources/tax/calculation_line_item.rbi +4 -1
- data/rbi/stripe/resources/tax/registration.rbi +249 -2
- data/rbi/stripe/resources/tax/transaction.rbi +1 -1
- data/rbi/stripe/resources/tax_id.rbi +3 -5
- data/rbi/stripe/resources/tax_rate.rbi +2 -2
- data/rbi/stripe/resources/terminal/configuration.rbi +2 -3
- data/rbi/stripe/resources/terminal/location.rbi +4 -6
- data/rbi/stripe/resources/terminal/reader.rbi +415 -8
- data/rbi/stripe/resources/test_helpers/test_clock.rbi +1 -3
- data/rbi/stripe/resources/token.rbi +70 -4
- data/rbi/stripe/resources/transfer.rbi +1 -1
- data/rbi/stripe/resources/treasury/financial_account.rbi +6 -2
- data/rbi/stripe/resources/v2/billing/meter_event.rbi +3 -3
- data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +3 -3
- data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +3 -3
- data/rbi/stripe/resources/v2/event.rbi +3 -3
- data/rbi/stripe/resources/v2/event_destination.rbi +3 -3
- data/rbi/stripe/resources/webhook_endpoint.rbi +1 -3
- data/rbi/stripe/services/account_external_account_service.rbi +3 -5
- data/rbi/stripe/services/account_login_link_service.rbi +1 -1
- data/rbi/stripe/services/account_person_service.rbi +93 -5
- data/rbi/stripe/services/account_service.rbi +166 -28
- data/rbi/stripe/services/account_session_service.rbi +126 -52
- data/rbi/stripe/services/apple_pay_domain_service.rbi +1 -3
- data/rbi/stripe/services/balance_service.rbi +1 -1
- data/rbi/stripe/services/billing/alert_service.rbi +2 -2
- data/rbi/stripe/services/billing_portal/session_service.rbi +1 -1
- data/rbi/stripe/services/charge_service.rbi +4 -4
- data/rbi/stripe/services/checkout/session_service.rbi +104 -19
- data/rbi/stripe/services/coupon_service.rbi +1 -3
- data/rbi/stripe/services/credit_note_preview_lines_service.rbi +3 -3
- data/rbi/stripe/services/credit_note_service.rbi +13 -14
- data/rbi/stripe/services/customer_balance_transaction_service.rbi +3 -3
- data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +2 -2
- data/rbi/stripe/services/customer_payment_method_service.rbi +1 -1
- data/rbi/stripe/services/customer_payment_source_service.rbi +1 -1
- data/rbi/stripe/services/customer_service.rbi +4 -8
- data/rbi/stripe/services/customer_session_service.rbi +1 -1
- data/rbi/stripe/services/customer_tax_id_service.rbi +2 -4
- data/rbi/stripe/services/dispute_service.rbi +1 -1
- data/rbi/stripe/services/file_service.rbi +1 -1
- data/rbi/stripe/services/identity/verification_session_service.rbi +22 -6
- data/rbi/stripe/services/invoice_item_service.rbi +1 -3
- data/rbi/stripe/services/invoice_service.rbi +126 -35
- data/rbi/stripe/services/issuing/authorization_service.rbi +4 -4
- data/rbi/stripe/services/issuing/card_service.rbi +1 -1
- data/rbi/stripe/services/issuing/dispute_service.rbi +2 -2
- data/rbi/stripe/services/payment_intent_service.rbi +599 -369
- data/rbi/stripe/services/payment_method_configuration_service.rbi +280 -4
- data/rbi/stripe/services/payment_method_domain_service.rbi +1 -1
- data/rbi/stripe/services/payment_method_service.rbi +62 -121
- data/rbi/stripe/services/payout_service.rbi +2 -2
- data/rbi/stripe/services/plan_service.rbi +2 -4
- data/rbi/stripe/services/price_service.rbi +2 -2
- data/rbi/stripe/services/product_feature_service.rbi +1 -3
- data/rbi/stripe/services/product_service.rbi +2 -4
- data/rbi/stripe/services/promotion_code_service.rbi +1 -1
- data/rbi/stripe/services/quote_service.rbi +16 -3
- data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +1 -1
- data/rbi/stripe/services/radar/value_list_item_service.rbi +1 -3
- data/rbi/stripe/services/radar/value_list_service.rbi +1 -3
- data/rbi/stripe/services/setup_intent_service.rbi +457 -344
- data/rbi/stripe/services/source_service.rbi +1 -1
- data/rbi/stripe/services/subscription_item_service.rbi +28 -2
- data/rbi/stripe/services/subscription_schedule_service.rbi +119 -10
- data/rbi/stripe/services/subscription_service.rbi +121 -33
- data/rbi/stripe/services/tax/calculation_service.rbi +6 -2
- data/rbi/stripe/services/tax/registration_service.rbi +171 -2
- data/rbi/stripe/services/tax_id_service.rbi +2 -4
- data/rbi/stripe/services/terminal/configuration_service.rbi +1 -3
- data/rbi/stripe/services/terminal/location_service.rbi +4 -6
- data/rbi/stripe/services/terminal/reader_service.rbi +200 -4
- data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +106 -106
- data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +31 -0
- data/rbi/stripe/services/test_helpers/test_clock_service.rbi +1 -3
- data/rbi/stripe/services/token_service.rbi +71 -3
- data/rbi/stripe/services/transfer_service.rbi +1 -1
- data/rbi/stripe/services/treasury/financial_account_service.rbi +6 -2
- data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +1 -3
- data/rbi/stripe/services/v2/billing_service.rbi +1 -1
- data/rbi/stripe/services/v2/core/event_destination_service.rbi +14 -22
- data/rbi/stripe/services/v2/core/event_service.rbi +1 -3
- data/rbi/stripe/services/webhook_endpoint_service.rbi +1 -3
- metadata +5 -2
@@ -1229,7 +1229,7 @@ module Stripe
|
|
1229
1229
|
|
1230
1230
|
# Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
|
1231
1231
|
#
|
1232
|
-
# This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://stripe.com/docs/sources) for more detail.
|
1232
|
+
# This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/docs/sources) for more detail.
|
1233
1233
|
def self.update(source, params = {}, opts = {})
|
1234
1234
|
request_stripe_object(
|
1235
1235
|
method: :post,
|
@@ -44,6 +44,20 @@ module Stripe
|
|
44
44
|
attr_reader :second
|
45
45
|
end
|
46
46
|
|
47
|
+
class BillingMode < Stripe::StripeObject
|
48
|
+
# Controls how prorations and invoices for subscriptions are calculated and orchestrated.
|
49
|
+
attr_reader :type
|
50
|
+
# Details on when the current billing_mode was adopted.
|
51
|
+
attr_reader :updated_at
|
52
|
+
end
|
53
|
+
|
54
|
+
class BillingThresholds < Stripe::StripeObject
|
55
|
+
# Monetary threshold that triggers the subscription to create an invoice
|
56
|
+
attr_reader :amount_gte
|
57
|
+
# Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`.
|
58
|
+
attr_reader :reset_billing_cycle_anchor
|
59
|
+
end
|
60
|
+
|
47
61
|
class CancellationDetails < Stripe::StripeObject
|
48
62
|
# Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user.
|
49
63
|
attr_reader :comment
|
@@ -320,6 +334,18 @@ module Stripe
|
|
320
334
|
end
|
321
335
|
end
|
322
336
|
|
337
|
+
class BillingThresholds < Stripe::RequestParams
|
338
|
+
# Monetary threshold that triggers the subscription to advance to a new billing period
|
339
|
+
attr_accessor :amount_gte
|
340
|
+
# Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged.
|
341
|
+
attr_accessor :reset_billing_cycle_anchor
|
342
|
+
|
343
|
+
def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil)
|
344
|
+
@amount_gte = amount_gte
|
345
|
+
@reset_billing_cycle_anchor = reset_billing_cycle_anchor
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
323
349
|
class CancellationDetails < Stripe::RequestParams
|
324
350
|
# Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user.
|
325
351
|
attr_accessor :comment
|
@@ -371,6 +397,15 @@ module Stripe
|
|
371
397
|
end
|
372
398
|
|
373
399
|
class Item < Stripe::RequestParams
|
400
|
+
class BillingThresholds < Stripe::RequestParams
|
401
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
402
|
+
attr_accessor :usage_gte
|
403
|
+
|
404
|
+
def initialize(usage_gte: nil)
|
405
|
+
@usage_gte = usage_gte
|
406
|
+
end
|
407
|
+
end
|
408
|
+
|
374
409
|
class Discount < Stripe::RequestParams
|
375
410
|
# ID of the coupon to create a new discount for.
|
376
411
|
attr_accessor :coupon
|
@@ -427,6 +462,8 @@ module Stripe
|
|
427
462
|
@unit_amount_decimal = unit_amount_decimal
|
428
463
|
end
|
429
464
|
end
|
465
|
+
# 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.
|
466
|
+
attr_accessor :billing_thresholds
|
430
467
|
# Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached.
|
431
468
|
attr_accessor :clear_usage
|
432
469
|
# A flag that, if set to `true`, will delete the specified item.
|
@@ -449,6 +486,7 @@ module Stripe
|
|
449
486
|
attr_accessor :tax_rates
|
450
487
|
|
451
488
|
def initialize(
|
489
|
+
billing_thresholds: nil,
|
452
490
|
clear_usage: nil,
|
453
491
|
deleted: nil,
|
454
492
|
discounts: nil,
|
@@ -460,6 +498,7 @@ module Stripe
|
|
460
498
|
quantity: nil,
|
461
499
|
tax_rates: nil
|
462
500
|
)
|
501
|
+
@billing_thresholds = billing_thresholds
|
463
502
|
@clear_usage = clear_usage
|
464
503
|
@deleted = deleted
|
465
504
|
@discounts = discounts
|
@@ -576,11 +615,8 @@ module Stripe
|
|
576
615
|
end
|
577
616
|
end
|
578
617
|
|
579
|
-
class Konbini < Stripe::RequestParams
|
580
|
-
end
|
581
|
-
|
582
|
-
class SepaDebit < Stripe::RequestParams
|
583
|
-
end
|
618
|
+
class Konbini < Stripe::RequestParams; end
|
619
|
+
class SepaDebit < Stripe::RequestParams; end
|
584
620
|
|
585
621
|
class UsBankAccount < Stripe::RequestParams
|
586
622
|
class FinancialConnections < Stripe::RequestParams
|
@@ -714,6 +750,8 @@ module Stripe
|
|
714
750
|
attr_accessor :automatic_tax
|
715
751
|
# Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
|
716
752
|
attr_accessor :billing_cycle_anchor
|
753
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.
|
754
|
+
attr_accessor :billing_thresholds
|
717
755
|
# 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.
|
718
756
|
attr_accessor :cancel_at
|
719
757
|
# Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
|
@@ -762,11 +800,11 @@ module Stripe
|
|
762
800
|
attr_accessor :pending_invoice_item_interval
|
763
801
|
# Determines how to handle [prorations](https://stripe.com/docs/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`.
|
764
802
|
attr_accessor :proration_behavior
|
765
|
-
# If set,
|
803
|
+
# If set, prorations will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same prorations that were previewed with the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint. `proration_date` can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.
|
766
804
|
attr_accessor :proration_date
|
767
805
|
# If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value.
|
768
806
|
attr_accessor :transfer_data
|
769
|
-
# Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`.
|
807
|
+
# Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, `trial_end` will override the default trial period of the plan the customer is being subscribed to. The `billing_cycle_anchor` will be updated to the `trial_end` value. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`.
|
770
808
|
attr_accessor :trial_end
|
771
809
|
# Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more.
|
772
810
|
attr_accessor :trial_from_plan
|
@@ -778,6 +816,7 @@ module Stripe
|
|
778
816
|
application_fee_percent: nil,
|
779
817
|
automatic_tax: nil,
|
780
818
|
billing_cycle_anchor: nil,
|
819
|
+
billing_thresholds: nil,
|
781
820
|
cancel_at: nil,
|
782
821
|
cancel_at_period_end: nil,
|
783
822
|
cancellation_details: nil,
|
@@ -809,6 +848,7 @@ module Stripe
|
|
809
848
|
@application_fee_percent = application_fee_percent
|
810
849
|
@automatic_tax = automatic_tax
|
811
850
|
@billing_cycle_anchor = billing_cycle_anchor
|
851
|
+
@billing_thresholds = billing_thresholds
|
812
852
|
@cancel_at = cancel_at
|
813
853
|
@cancel_at_period_end = cancel_at_period_end
|
814
854
|
@cancellation_details = cancellation_details
|
@@ -838,8 +878,7 @@ module Stripe
|
|
838
878
|
end
|
839
879
|
end
|
840
880
|
|
841
|
-
class DeleteDiscountParams < Stripe::RequestParams
|
842
|
-
end
|
881
|
+
class DeleteDiscountParams < Stripe::RequestParams; end
|
843
882
|
|
844
883
|
class ListParams < Stripe::RequestParams
|
845
884
|
class AutomaticTax < Stripe::RequestParams
|
@@ -1073,6 +1112,27 @@ module Stripe
|
|
1073
1112
|
end
|
1074
1113
|
end
|
1075
1114
|
|
1115
|
+
class BillingMode < Stripe::RequestParams
|
1116
|
+
# Attribute for param field type
|
1117
|
+
attr_accessor :type
|
1118
|
+
|
1119
|
+
def initialize(type: nil)
|
1120
|
+
@type = type
|
1121
|
+
end
|
1122
|
+
end
|
1123
|
+
|
1124
|
+
class BillingThresholds < Stripe::RequestParams
|
1125
|
+
# Monetary threshold that triggers the subscription to advance to a new billing period
|
1126
|
+
attr_accessor :amount_gte
|
1127
|
+
# Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged.
|
1128
|
+
attr_accessor :reset_billing_cycle_anchor
|
1129
|
+
|
1130
|
+
def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil)
|
1131
|
+
@amount_gte = amount_gte
|
1132
|
+
@reset_billing_cycle_anchor = reset_billing_cycle_anchor
|
1133
|
+
end
|
1134
|
+
end
|
1135
|
+
|
1076
1136
|
class Discount < Stripe::RequestParams
|
1077
1137
|
# ID of the coupon to create a new discount for.
|
1078
1138
|
attr_accessor :coupon
|
@@ -1112,6 +1172,15 @@ module Stripe
|
|
1112
1172
|
end
|
1113
1173
|
|
1114
1174
|
class Item < Stripe::RequestParams
|
1175
|
+
class BillingThresholds < Stripe::RequestParams
|
1176
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
1177
|
+
attr_accessor :usage_gte
|
1178
|
+
|
1179
|
+
def initialize(usage_gte: nil)
|
1180
|
+
@usage_gte = usage_gte
|
1181
|
+
end
|
1182
|
+
end
|
1183
|
+
|
1115
1184
|
class Discount < Stripe::RequestParams
|
1116
1185
|
# ID of the coupon to create a new discount for.
|
1117
1186
|
attr_accessor :coupon
|
@@ -1168,6 +1237,8 @@ module Stripe
|
|
1168
1237
|
@unit_amount_decimal = unit_amount_decimal
|
1169
1238
|
end
|
1170
1239
|
end
|
1240
|
+
# 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.
|
1241
|
+
attr_accessor :billing_thresholds
|
1171
1242
|
# The coupons to redeem into discounts for the subscription item.
|
1172
1243
|
attr_accessor :discounts
|
1173
1244
|
# Set of [key-value pairs](https://stripe.com/docs/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`.
|
@@ -1184,6 +1255,7 @@ module Stripe
|
|
1184
1255
|
attr_accessor :tax_rates
|
1185
1256
|
|
1186
1257
|
def initialize(
|
1258
|
+
billing_thresholds: nil,
|
1187
1259
|
discounts: nil,
|
1188
1260
|
metadata: nil,
|
1189
1261
|
plan: nil,
|
@@ -1192,6 +1264,7 @@ module Stripe
|
|
1192
1264
|
quantity: nil,
|
1193
1265
|
tax_rates: nil
|
1194
1266
|
)
|
1267
|
+
@billing_thresholds = billing_thresholds
|
1195
1268
|
@discounts = discounts
|
1196
1269
|
@metadata = metadata
|
1197
1270
|
@plan = plan
|
@@ -1293,11 +1366,8 @@ module Stripe
|
|
1293
1366
|
end
|
1294
1367
|
end
|
1295
1368
|
|
1296
|
-
class Konbini < Stripe::RequestParams
|
1297
|
-
end
|
1298
|
-
|
1299
|
-
class SepaDebit < Stripe::RequestParams
|
1300
|
-
end
|
1369
|
+
class Konbini < Stripe::RequestParams; end
|
1370
|
+
class SepaDebit < Stripe::RequestParams; end
|
1301
1371
|
|
1302
1372
|
class UsBankAccount < Stripe::RequestParams
|
1303
1373
|
class FinancialConnections < Stripe::RequestParams
|
@@ -1427,14 +1497,18 @@ module Stripe
|
|
1427
1497
|
attr_accessor :add_invoice_items
|
1428
1498
|
# 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](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
|
1429
1499
|
attr_accessor :application_fee_percent
|
1430
|
-
# Automatic tax settings for this subscription.
|
1500
|
+
# Automatic tax settings for this subscription.
|
1431
1501
|
attr_accessor :automatic_tax
|
1432
|
-
#
|
1502
|
+
# A past timestamp to backdate the subscription's start date to. If set, the first invoice will contain line items for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.
|
1433
1503
|
attr_accessor :backdate_start_date
|
1434
1504
|
# A future timestamp in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals.
|
1435
1505
|
attr_accessor :billing_cycle_anchor
|
1436
1506
|
# Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price intervals. When provided, the billing_cycle_anchor is set to the next occurence of the day_of_month at the hour, minute, and second UTC.
|
1437
1507
|
attr_accessor :billing_cycle_anchor_config
|
1508
|
+
# Controls how prorations and invoices for subscriptions are calculated and orchestrated.
|
1509
|
+
attr_accessor :billing_mode
|
1510
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds.
|
1511
|
+
attr_accessor :billing_thresholds
|
1438
1512
|
# 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.
|
1439
1513
|
attr_accessor :cancel_at
|
1440
1514
|
# Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
|
@@ -1505,6 +1579,8 @@ module Stripe
|
|
1505
1579
|
backdate_start_date: nil,
|
1506
1580
|
billing_cycle_anchor: nil,
|
1507
1581
|
billing_cycle_anchor_config: nil,
|
1582
|
+
billing_mode: nil,
|
1583
|
+
billing_thresholds: nil,
|
1508
1584
|
cancel_at: nil,
|
1509
1585
|
cancel_at_period_end: nil,
|
1510
1586
|
collection_method: nil,
|
@@ -1538,6 +1614,8 @@ module Stripe
|
|
1538
1614
|
@backdate_start_date = backdate_start_date
|
1539
1615
|
@billing_cycle_anchor = billing_cycle_anchor
|
1540
1616
|
@billing_cycle_anchor_config = billing_cycle_anchor_config
|
1617
|
+
@billing_mode = billing_mode
|
1618
|
+
@billing_thresholds = billing_thresholds
|
1541
1619
|
@cancel_at = cancel_at
|
1542
1620
|
@cancel_at_period_end = cancel_at_period_end
|
1543
1621
|
@collection_method = collection_method
|
@@ -1585,14 +1663,34 @@ module Stripe
|
|
1585
1663
|
end
|
1586
1664
|
end
|
1587
1665
|
|
1666
|
+
class MigrateParams < Stripe::RequestParams
|
1667
|
+
class BillingMode < Stripe::RequestParams
|
1668
|
+
# Attribute for param field type
|
1669
|
+
attr_accessor :type
|
1670
|
+
|
1671
|
+
def initialize(type: nil)
|
1672
|
+
@type = type
|
1673
|
+
end
|
1674
|
+
end
|
1675
|
+
# Controls how prorations and invoices for subscriptions are calculated and orchestrated.
|
1676
|
+
attr_accessor :billing_mode
|
1677
|
+
# Specifies which fields in the response should be expanded.
|
1678
|
+
attr_accessor :expand
|
1679
|
+
|
1680
|
+
def initialize(billing_mode: nil, expand: nil)
|
1681
|
+
@billing_mode = billing_mode
|
1682
|
+
@expand = expand
|
1683
|
+
end
|
1684
|
+
end
|
1685
|
+
|
1588
1686
|
class ResumeParams < Stripe::RequestParams
|
1589
1687
|
# The billing cycle anchor that applies when the subscription is resumed. Either `now` or `unchanged`. The default is `now`. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
|
1590
1688
|
attr_accessor :billing_cycle_anchor
|
1591
1689
|
# Specifies which fields in the response should be expanded.
|
1592
1690
|
attr_accessor :expand
|
1593
|
-
# Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations)
|
1691
|
+
# Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor` being `unchanged`. When the `billing_cycle_anchor` is set to `now` (default value), no prorations are generated. If no value is passed, the default is `create_prorations`.
|
1594
1692
|
attr_accessor :proration_behavior
|
1595
|
-
# If set,
|
1693
|
+
# If set, prorations will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same prorations that were previewed with the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint.
|
1596
1694
|
attr_accessor :proration_date
|
1597
1695
|
|
1598
1696
|
def initialize(
|
@@ -1617,6 +1715,10 @@ module Stripe
|
|
1617
1715
|
attr_reader :billing_cycle_anchor
|
1618
1716
|
# The fixed values used to calculate the `billing_cycle_anchor`.
|
1619
1717
|
attr_reader :billing_cycle_anchor_config
|
1718
|
+
# The billing mode of the subscription.
|
1719
|
+
attr_reader :billing_mode
|
1720
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period
|
1721
|
+
attr_reader :billing_thresholds
|
1620
1722
|
# A date in the future at which the subscription will automatically get canceled
|
1621
1723
|
attr_reader :cancel_at
|
1622
1724
|
# Whether this subscription will (if `status=active`) or did (if `status=canceled`) cancel at the end of the current billing period.
|
@@ -1702,9 +1804,9 @@ module Stripe
|
|
1702
1804
|
# If the subscription has a trial, the beginning of that trial.
|
1703
1805
|
attr_reader :trial_start
|
1704
1806
|
|
1705
|
-
# Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://stripe.com/metadata).
|
1807
|
+
# Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata).
|
1706
1808
|
#
|
1707
|
-
# Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://stripe.com/
|
1809
|
+
# Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true.
|
1708
1810
|
#
|
1709
1811
|
# By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
|
1710
1812
|
def cancel(params = {}, opts = {})
|
@@ -1716,9 +1818,9 @@ module Stripe
|
|
1716
1818
|
)
|
1717
1819
|
end
|
1718
1820
|
|
1719
|
-
# Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://stripe.com/metadata).
|
1821
|
+
# Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata).
|
1720
1822
|
#
|
1721
|
-
# Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://stripe.com/
|
1823
|
+
# Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true.
|
1722
1824
|
#
|
1723
1825
|
# By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
|
1724
1826
|
def self.cancel(subscription_exposed_id, params = {}, opts = {})
|
@@ -1735,7 +1837,7 @@ module Stripe
|
|
1735
1837
|
# When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request.
|
1736
1838
|
# The payment_behavior parameter determines the exact behavior of the initial payment.
|
1737
1839
|
#
|
1738
|
-
# To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead.
|
1840
|
+
# To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://docs.stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead.
|
1739
1841
|
# Schedules provide the flexibility to model more complex billing configurations that change over time.
|
1740
1842
|
def self.create(params = {}, opts = {})
|
1741
1843
|
request_stripe_object(method: :post, path: "/v1/subscriptions", params: params, opts: opts)
|
@@ -1766,6 +1868,26 @@ module Stripe
|
|
1766
1868
|
request_stripe_object(method: :get, path: "/v1/subscriptions", params: params, opts: opts)
|
1767
1869
|
end
|
1768
1870
|
|
1871
|
+
# Upgrade the billing_mode of an existing subscription.
|
1872
|
+
def migrate(params = {}, opts = {})
|
1873
|
+
request_stripe_object(
|
1874
|
+
method: :post,
|
1875
|
+
path: format("/v1/subscriptions/%<subscription>s/migrate", { subscription: CGI.escape(self["id"]) }),
|
1876
|
+
params: params,
|
1877
|
+
opts: opts
|
1878
|
+
)
|
1879
|
+
end
|
1880
|
+
|
1881
|
+
# Upgrade the billing_mode of an existing subscription.
|
1882
|
+
def self.migrate(subscription, params = {}, opts = {})
|
1883
|
+
request_stripe_object(
|
1884
|
+
method: :post,
|
1885
|
+
path: format("/v1/subscriptions/%<subscription>s/migrate", { subscription: CGI.escape(subscription) }),
|
1886
|
+
params: params,
|
1887
|
+
opts: opts
|
1888
|
+
)
|
1889
|
+
end
|
1890
|
+
|
1769
1891
|
# Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.
|
1770
1892
|
def resume(params = {}, opts = {})
|
1771
1893
|
request_stripe_object(
|
@@ -1801,7 +1923,7 @@ module Stripe
|
|
1801
1923
|
|
1802
1924
|
# Updates an existing subscription to match the specified parameters.
|
1803
1925
|
# When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes.
|
1804
|
-
# To preview how the proration is calculated, use the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint.
|
1926
|
+
# To preview how the proration is calculated, use the [create preview](https://docs.stripe.com/docs/api/invoices/create_preview) endpoint.
|
1805
1927
|
#
|
1806
1928
|
# By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they'll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month's 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes.
|
1807
1929
|
#
|
@@ -1813,13 +1935,13 @@ module Stripe
|
|
1813
1935
|
# A trial starts or ends.
|
1814
1936
|
#
|
1815
1937
|
#
|
1816
|
-
# In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment).
|
1938
|
+
# In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://docs.stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment).
|
1817
1939
|
#
|
1818
|
-
# If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://stripe.com/docs/api/invoices/create).
|
1940
|
+
# If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://docs.stripe.com/docs/api/invoices/create).
|
1819
1941
|
#
|
1820
1942
|
# If you don't want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don't generate any credits for the old subscription's unused time. We still reset the billing date and bill immediately for the new subscription.
|
1821
1943
|
#
|
1822
|
-
# Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating <a href="/docs/billing/subscriptions/usage-based">usage-based billing](https://stripe.com/docs/rate-limits) instead.
|
1944
|
+
# Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating <a href="/docs/billing/subscriptions/usage-based">usage-based billing](https://docs.stripe.com/docs/rate-limits) instead.
|
1823
1945
|
def self.update(subscription_exposed_id, params = {}, opts = {})
|
1824
1946
|
request_stripe_object(
|
1825
1947
|
method: :post,
|
@@ -15,6 +15,11 @@ module Stripe
|
|
15
15
|
"subscription_item"
|
16
16
|
end
|
17
17
|
|
18
|
+
class BillingThresholds < Stripe::StripeObject
|
19
|
+
# Usage threshold that triggers the subscription to create an invoice
|
20
|
+
attr_reader :usage_gte
|
21
|
+
end
|
22
|
+
|
18
23
|
class DeleteParams < Stripe::RequestParams
|
19
24
|
# Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`.
|
20
25
|
attr_accessor :clear_usage
|
@@ -31,6 +36,15 @@ module Stripe
|
|
31
36
|
end
|
32
37
|
|
33
38
|
class UpdateParams < Stripe::RequestParams
|
39
|
+
class BillingThresholds < Stripe::RequestParams
|
40
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
41
|
+
attr_accessor :usage_gte
|
42
|
+
|
43
|
+
def initialize(usage_gte: nil)
|
44
|
+
@usage_gte = usage_gte
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
34
48
|
class Discount < Stripe::RequestParams
|
35
49
|
# ID of the coupon to create a new discount for.
|
36
50
|
attr_accessor :coupon
|
@@ -87,6 +101,8 @@ module Stripe
|
|
87
101
|
@unit_amount_decimal = unit_amount_decimal
|
88
102
|
end
|
89
103
|
end
|
104
|
+
# 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.
|
105
|
+
attr_accessor :billing_thresholds
|
90
106
|
# The coupons to redeem into discounts for the subscription item.
|
91
107
|
attr_accessor :discounts
|
92
108
|
# Specifies which fields in the response should be expanded.
|
@@ -119,6 +135,7 @@ module Stripe
|
|
119
135
|
attr_accessor :tax_rates
|
120
136
|
|
121
137
|
def initialize(
|
138
|
+
billing_thresholds: nil,
|
122
139
|
discounts: nil,
|
123
140
|
expand: nil,
|
124
141
|
metadata: nil,
|
@@ -132,6 +149,7 @@ module Stripe
|
|
132
149
|
quantity: nil,
|
133
150
|
tax_rates: nil
|
134
151
|
)
|
152
|
+
@billing_thresholds = billing_thresholds
|
135
153
|
@discounts = discounts
|
136
154
|
@expand = expand
|
137
155
|
@metadata = metadata
|
@@ -175,6 +193,15 @@ module Stripe
|
|
175
193
|
end
|
176
194
|
|
177
195
|
class CreateParams < Stripe::RequestParams
|
196
|
+
class BillingThresholds < Stripe::RequestParams
|
197
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
198
|
+
attr_accessor :usage_gte
|
199
|
+
|
200
|
+
def initialize(usage_gte: nil)
|
201
|
+
@usage_gte = usage_gte
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
178
205
|
class Discount < Stripe::RequestParams
|
179
206
|
# ID of the coupon to create a new discount for.
|
180
207
|
attr_accessor :coupon
|
@@ -231,6 +258,8 @@ module Stripe
|
|
231
258
|
@unit_amount_decimal = unit_amount_decimal
|
232
259
|
end
|
233
260
|
end
|
261
|
+
# 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.
|
262
|
+
attr_accessor :billing_thresholds
|
234
263
|
# The coupons to redeem into discounts for the subscription item.
|
235
264
|
attr_accessor :discounts
|
236
265
|
# Specifies which fields in the response should be expanded.
|
@@ -263,6 +292,7 @@ module Stripe
|
|
263
292
|
attr_accessor :tax_rates
|
264
293
|
|
265
294
|
def initialize(
|
295
|
+
billing_thresholds: nil,
|
266
296
|
discounts: nil,
|
267
297
|
expand: nil,
|
268
298
|
metadata: nil,
|
@@ -276,6 +306,7 @@ module Stripe
|
|
276
306
|
subscription: nil,
|
277
307
|
tax_rates: nil
|
278
308
|
)
|
309
|
+
@billing_thresholds = billing_thresholds
|
279
310
|
@discounts = discounts
|
280
311
|
@expand = expand
|
281
312
|
@metadata = metadata
|
@@ -290,6 +321,8 @@ module Stripe
|
|
290
321
|
@tax_rates = tax_rates
|
291
322
|
end
|
292
323
|
end
|
324
|
+
# Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period
|
325
|
+
attr_reader :billing_thresholds
|
293
326
|
# Time at which the object was created. Measured in seconds since the Unix epoch.
|
294
327
|
attr_reader :created
|
295
328
|
# The end time of this subscription item's current billing period.
|