From 2db8b3d729f0f80fdd5aef923913a25d58aa4b8c Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 16:35:08 +0000 Subject: [PATCH] Update generated code for v1845 and 2025-06-30.preview --- OPENAPI_VERSION | 2 +- lib/stripe/resources/invoice.rb | 16 +++ lib/stripe/resources/subscription_schedule.rb | 32 ++++++ lib/stripe/services/invoice_service.rb | 16 +++ .../services/subscription_schedule_service.rb | 32 ++++++ rbi/stripe.rbi | 104 +++++++++++++++++- rbi/stripe/resources/invoice.rbi | 18 ++- .../resources/subscription_schedule.rbi | 32 +++++- rbi/stripe/services/invoice_service.rbi | 18 ++- .../subscription_schedule_service.rbi | 36 +++++- 10 files changed, 293 insertions(+), 13 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 115dcc37..4950dbf7 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1843 \ No newline at end of file +v1845 \ No newline at end of file diff --git a/lib/stripe/resources/invoice.rb b/lib/stripe/resources/invoice.rb index 384f581a..5bfcc5f8 100644 --- a/lib/stripe/resources/invoice.rb +++ b/lib/stripe/resources/invoice.rb @@ -3597,6 +3597,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -3830,6 +3842,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -3871,6 +3885,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -3897,6 +3912,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items diff --git a/lib/stripe/resources/subscription_schedule.rb b/lib/stripe/resources/subscription_schedule.rb index 41c04996..25d935eb 100644 --- a/lib/stripe/resources/subscription_schedule.rb +++ b/lib/stripe/resources/subscription_schedule.rb @@ -738,6 +738,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -971,6 +983,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -1010,6 +1024,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -1035,6 +1050,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items @@ -1405,6 +1421,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -1638,6 +1666,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -1679,6 +1709,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -1705,6 +1736,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items diff --git a/lib/stripe/services/invoice_service.rb b/lib/stripe/services/invoice_service.rb index 32001a03..fd289449 100644 --- a/lib/stripe/services/invoice_service.rb +++ b/lib/stripe/services/invoice_service.rb @@ -3103,6 +3103,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -3336,6 +3348,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -3377,6 +3391,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -3403,6 +3418,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items diff --git a/lib/stripe/services/subscription_schedule_service.rb b/lib/stripe/services/subscription_schedule_service.rb index e29bdc6c..1c98403c 100644 --- a/lib/stripe/services/subscription_schedule_service.rb +++ b/lib/stripe/services/subscription_schedule_service.rb @@ -423,6 +423,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -656,6 +668,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -695,6 +709,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -720,6 +735,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items @@ -1099,6 +1115,18 @@ module Stripe end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + attr_accessor :interval + # The multiplier applied to the interval. + attr_accessor :interval_count + + def initialize(interval: nil, interval_count: nil) + @interval = interval + @interval_count = interval_count + end + end + class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -1332,6 +1360,8 @@ module Stripe attr_accessor :description # The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. attr_accessor :end_date # All invoices will be billed using the specified settings. @@ -1373,6 +1403,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -1399,6 +1430,7 @@ module Stripe @default_tax_rates = default_tax_rates @description = description @discounts = discounts + @duration = duration @end_date = end_date @invoice_settings = invoice_settings @items = items diff --git a/rbi/stripe.rbi b/rbi/stripe.rbi index 4c599fac..79b55f51 100644 --- a/rbi/stripe.rbi +++ b/rbi/stripe.rbi @@ -32609,6 +32609,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -32875,6 +32885,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -32928,7 +32943,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), duration: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -32942,6 +32957,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -92372,6 +92388,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -92633,6 +92659,9 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { returns(T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::Duration)) } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(Integer)) } attr_accessor :end_date @@ -92681,7 +92710,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount]))), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::Duration), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -92695,6 +92724,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -93092,6 +93122,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -93353,6 +93393,9 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { returns(T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::Duration)) } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -93404,7 +93447,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -93418,6 +93461,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -138365,6 +138409,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -138631,6 +138685,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -138684,7 +138743,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), duration: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -138698,6 +138757,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -178700,6 +178760,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -178961,6 +179031,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(Integer)) } attr_accessor :end_date @@ -179009,7 +179084,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Duration), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -179023,6 +179098,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -179431,6 +179507,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -179692,6 +179778,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -179743,7 +179834,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -179757,6 +179848,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, diff --git a/rbi/stripe/resources/invoice.rbi b/rbi/stripe/resources/invoice.rbi index 3aea25f4..46a9a15c 100644 --- a/rbi/stripe/resources/invoice.rbi +++ b/rbi/stripe/resources/invoice.rbi @@ -4177,6 +4177,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -4443,6 +4453,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -4496,7 +4511,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), duration: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::Invoice::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -4510,6 +4525,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, diff --git a/rbi/stripe/resources/subscription_schedule.rbi b/rbi/stripe/resources/subscription_schedule.rbi index 9cbe62fb..158f1e9c 100644 --- a/rbi/stripe/resources/subscription_schedule.rbi +++ b/rbi/stripe/resources/subscription_schedule.rbi @@ -926,6 +926,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -1187,6 +1197,9 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { returns(T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::Duration)) } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(Integer)) } attr_accessor :end_date @@ -1235,7 +1248,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount]))), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::Duration), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::CreateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -1249,6 +1262,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -1646,6 +1660,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -1907,6 +1931,9 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { returns(T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::Duration)) } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -1958,7 +1985,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionSchedule::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionSchedule::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionSchedule::UpdateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -1972,6 +1999,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, diff --git a/rbi/stripe/services/invoice_service.rbi b/rbi/stripe/services/invoice_service.rbi index 71eb3a81..7cbcb732 100644 --- a/rbi/stripe/services/invoice_service.rbi +++ b/rbi/stripe/services/invoice_service.rbi @@ -3327,6 +3327,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -3593,6 +3603,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -3646,7 +3661,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Discount]))), duration: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::InvoiceSettings), items: T::Array[::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::InvoiceService::CreatePreviewParams::ScheduleDetails::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -3660,6 +3675,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, diff --git a/rbi/stripe/services/subscription_schedule_service.rbi b/rbi/stripe/services/subscription_schedule_service.rbi index 567e8610..2bb2e394 100644 --- a/rbi/stripe/services/subscription_schedule_service.rbi +++ b/rbi/stripe/services/subscription_schedule_service.rbi @@ -460,6 +460,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -721,6 +731,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(Integer)) } attr_accessor :end_date @@ -769,7 +784,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::CreateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::Duration), end_date: T.nilable(Integer), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::CreateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(Integer), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::CreateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -783,6 +798,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil, @@ -1191,6 +1207,16 @@ module Stripe } def initialize(coupon: nil, discount: nil, discount_end: nil, promotion_code: nil); end end + class Duration < Stripe::RequestParams + # Specifies phase duration. Either `day`, `week`, `month` or `year`. + sig { returns(String) } + attr_accessor :interval + # The multiplier applied to the interval. + sig { returns(T.nilable(Integer)) } + attr_accessor :interval_count + sig { params(interval: String, interval_count: T.nilable(Integer)).void } + def initialize(interval: nil, interval_count: nil); end + end class InvoiceSettings < Stripe::RequestParams class Issuer < Stripe::RequestParams # The connected account being referenced when `type` is `account`. @@ -1452,6 +1478,11 @@ module Stripe returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount])))) } attr_accessor :discounts + # The number of intervals the phase should last. If set, `end_date` must not be set. + sig { + returns(T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Duration)) + } + attr_accessor :duration # The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. sig { returns(T.nilable(T.any(Integer, String))) } attr_accessor :end_date @@ -1503,7 +1534,7 @@ module Stripe } attr_accessor :trial_settings sig { - params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TrialSettings)).void + params(add_invoice_items: T.nilable(T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AddInvoiceItem]), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::AutomaticTax), billing_cycle_anchor: T.nilable(String), billing_thresholds: T.nilable(T.nilable(T.any(String, ::Stripe::SubscriptionScheduleService::UpdateParams::Phase::BillingThresholds))), collection_method: T.nilable(String), currency: T.nilable(String), default_payment_method: T.nilable(String), default_tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), description: T.nilable(T.nilable(String)), discounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Discount]))), duration: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Duration), end_date: T.nilable(T.any(Integer, String)), invoice_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::InvoiceSettings), items: T::Array[::Stripe::SubscriptionScheduleService::UpdateParams::Phase::Item], iterations: T.nilable(Integer), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), pause_collection: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::PauseCollection), proration_behavior: T.nilable(String), start_date: T.nilable(T.any(Integer, String)), transfer_data: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TransferData), trial: T.nilable(T::Boolean), trial_continuation: T.nilable(String), trial_end: T.nilable(T.any(Integer, String)), trial_settings: T.nilable(::Stripe::SubscriptionScheduleService::UpdateParams::Phase::TrialSettings)).void } def initialize( add_invoice_items: nil, @@ -1517,6 +1548,7 @@ module Stripe default_tax_rates: nil, description: nil, discounts: nil, + duration: nil, end_date: nil, invoice_settings: nil, items: nil,