diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index c3c4743a..1d77ec7a 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1686 \ No newline at end of file +v1687 \ No newline at end of file diff --git a/lib/stripe/resources/coupon.rb b/lib/stripe/resources/coupon.rb index c50d63a5..8456937b 100644 --- a/lib/stripe/resources/coupon.rb +++ b/lib/stripe/resources/coupon.rb @@ -26,6 +26,15 @@ module Stripe attr_reader :amount_off end + class Script < Stripe::StripeObject + # The configuration values of the script. The keys and values are specific to the script implementation. + attr_reader :configuration + # The name of the script used to calculate the discount. + attr_reader :display_name + # The script implementation ID for this coupon. + attr_reader :id + end + class DeleteParams < Stripe::RequestParams end @@ -111,6 +120,18 @@ module Stripe @amount_off = amount_off end end + + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + attr_accessor :configuration + # The script implementation ID for this coupon. + attr_accessor :id + + def initialize(configuration: nil, id: nil) + @configuration = configuration + @id = id + end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). attr_accessor :amount_off # A hash containing directions for what this Coupon will apply discounts to. @@ -137,6 +158,8 @@ module Stripe attr_accessor :percent_off # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + attr_accessor :script def initialize( amount_off: nil, @@ -151,7 +174,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ) @amount_off = amount_off @applies_to = applies_to @@ -166,6 +190,7 @@ module Stripe @name = name @percent_off = percent_off @redeem_by = redeem_by + @script = script end end # Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. @@ -198,8 +223,12 @@ module Stripe attr_reader :percent_off # Date after which the coupon can no longer be redeemed. attr_reader :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + attr_reader :script # Number of times this coupon has been applied to a customer. attr_reader :times_redeemed + # One of `amount_off`, `percent_off`, or `script`. Describes the type of coupon logic used to calculate the discount. + attr_reader :type # Taking account of the above properties, whether this coupon can still be applied to a customer. attr_reader :valid # Always true for a deleted object diff --git a/lib/stripe/services/coupon_service.rb b/lib/stripe/services/coupon_service.rb index a340f69e..b4bdea3d 100644 --- a/lib/stripe/services/coupon_service.rb +++ b/lib/stripe/services/coupon_service.rb @@ -97,6 +97,18 @@ module Stripe @amount_off = amount_off end end + + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + attr_accessor :configuration + # The script implementation ID for this coupon. + attr_accessor :id + + def initialize(configuration: nil, id: nil) + @configuration = configuration + @id = id + end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). attr_accessor :amount_off # A hash containing directions for what this Coupon will apply discounts to. @@ -123,6 +135,8 @@ module Stripe attr_accessor :percent_off # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + attr_accessor :script def initialize( amount_off: nil, @@ -137,7 +151,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ) @amount_off = amount_off @applies_to = applies_to @@ -152,6 +167,7 @@ module Stripe @name = name @percent_off = percent_off @redeem_by = redeem_by + @script = script end end diff --git a/rbi/stripe.rbi b/rbi/stripe.rbi index 3e7d418f..998048e9 100644 --- a/rbi/stripe.rbi +++ b/rbi/stripe.rbi @@ -25557,6 +25557,17 @@ module Stripe sig { returns(Integer) } attr_reader :amount_off end + class Script < Stripe::StripeObject + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_reader :configuration + # The name of the script used to calculate the discount. + sig { returns(String) } + attr_reader :display_name + # The script implementation ID for this coupon. + sig { returns(String) } + attr_reader :id + end # Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. sig { returns(T.nilable(Integer)) } attr_reader :amount_off @@ -25602,9 +25613,15 @@ module Stripe # Date after which the coupon can no longer be redeemed. sig { returns(T.nilable(Integer)) } attr_reader :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(Script)) } + attr_reader :script # Number of times this coupon has been applied to a customer. sig { returns(Integer) } attr_reader :times_redeemed + # One of `amount_off`, `percent_off`, or `script`. Describes the type of coupon logic used to calculate the discount. + sig { returns(T.nilable(String)) } + attr_reader :type # Taking account of the above properties, whether this coupon can still be applied to a customer. sig { returns(T::Boolean) } attr_reader :valid @@ -25699,6 +25716,16 @@ module Stripe sig { params(amount_off: Integer).void } def initialize(amount_off: nil); end end + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_accessor :configuration + # The script implementation ID for this coupon. + sig { returns(String) } + attr_accessor :id + sig { params(configuration: T::Hash[String, T.untyped], id: String).void } + def initialize(configuration: nil, id: nil); end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). sig { returns(T.nilable(Integer)) } attr_accessor :amount_off @@ -25738,8 +25765,11 @@ module Stripe # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. sig { returns(T.nilable(Integer)) } attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(::Stripe::Coupon::CreateParams::Script)) } + attr_accessor :script sig { - params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::Coupon::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::Coupon::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer)).void + params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::Coupon::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::Coupon::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer), script: T.nilable(::Stripe::Coupon::CreateParams::Script)).void } def initialize( amount_off: nil, @@ -25754,7 +25784,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ); end end # You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. @@ -126882,6 +126913,16 @@ module Stripe sig { params(amount_off: Integer).void } def initialize(amount_off: nil); end end + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_accessor :configuration + # The script implementation ID for this coupon. + sig { returns(String) } + attr_accessor :id + sig { params(configuration: T::Hash[String, T.untyped], id: String).void } + def initialize(configuration: nil, id: nil); end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). sig { returns(T.nilable(Integer)) } attr_accessor :amount_off @@ -126923,8 +126964,11 @@ module Stripe # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. sig { returns(T.nilable(Integer)) } attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(::Stripe::CouponService::CreateParams::Script)) } + attr_accessor :script sig { - params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::CouponService::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::CouponService::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer)).void + params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::CouponService::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::CouponService::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer), script: T.nilable(::Stripe::CouponService::CreateParams::Script)).void } def initialize( amount_off: nil, @@ -126939,7 +126983,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ); end end # You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. diff --git a/rbi/stripe/resources/coupon.rbi b/rbi/stripe/resources/coupon.rbi index a2bcab7b..d962a144 100644 --- a/rbi/stripe/resources/coupon.rbi +++ b/rbi/stripe/resources/coupon.rbi @@ -17,6 +17,17 @@ module Stripe sig { returns(Integer) } attr_reader :amount_off end + class Script < Stripe::StripeObject + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_reader :configuration + # The name of the script used to calculate the discount. + sig { returns(String) } + attr_reader :display_name + # The script implementation ID for this coupon. + sig { returns(String) } + attr_reader :id + end # Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. sig { returns(T.nilable(Integer)) } attr_reader :amount_off @@ -62,9 +73,15 @@ module Stripe # Date after which the coupon can no longer be redeemed. sig { returns(T.nilable(Integer)) } attr_reader :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(Script)) } + attr_reader :script # Number of times this coupon has been applied to a customer. sig { returns(Integer) } attr_reader :times_redeemed + # One of `amount_off`, `percent_off`, or `script`. Describes the type of coupon logic used to calculate the discount. + sig { returns(T.nilable(String)) } + attr_reader :type # Taking account of the above properties, whether this coupon can still be applied to a customer. sig { returns(T::Boolean) } attr_reader :valid @@ -159,6 +176,16 @@ module Stripe sig { params(amount_off: Integer).void } def initialize(amount_off: nil); end end + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_accessor :configuration + # The script implementation ID for this coupon. + sig { returns(String) } + attr_accessor :id + sig { params(configuration: T::Hash[String, T.untyped], id: String).void } + def initialize(configuration: nil, id: nil); end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). sig { returns(T.nilable(Integer)) } attr_accessor :amount_off @@ -198,8 +225,11 @@ module Stripe # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. sig { returns(T.nilable(Integer)) } attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(::Stripe::Coupon::CreateParams::Script)) } + attr_accessor :script sig { - params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::Coupon::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::Coupon::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer)).void + params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::Coupon::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::Coupon::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer), script: T.nilable(::Stripe::Coupon::CreateParams::Script)).void } def initialize( amount_off: nil, @@ -214,7 +244,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ); end end # You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. diff --git a/rbi/stripe/services/coupon_service.rbi b/rbi/stripe/services/coupon_service.rbi index 248cf71d..49642351 100644 --- a/rbi/stripe/services/coupon_service.rbi +++ b/rbi/stripe/services/coupon_service.rbi @@ -101,6 +101,16 @@ module Stripe sig { params(amount_off: Integer).void } def initialize(amount_off: nil); end end + class Script < Stripe::RequestParams + # The configuration values of the script. The keys and values are specific to the script implementation. + sig { returns(T::Hash[String, T.untyped]) } + attr_accessor :configuration + # The script implementation ID for this coupon. + sig { returns(String) } + attr_accessor :id + sig { params(configuration: T::Hash[String, T.untyped], id: String).void } + def initialize(configuration: nil, id: nil); end + end # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). sig { returns(T.nilable(Integer)) } attr_accessor :amount_off @@ -142,8 +152,11 @@ module Stripe # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. sig { returns(T.nilable(Integer)) } attr_accessor :redeem_by + # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount. + sig { returns(T.nilable(::Stripe::CouponService::CreateParams::Script)) } + attr_accessor :script sig { - params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::CouponService::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::CouponService::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer)).void + params(amount_off: T.nilable(Integer), applies_to: T.nilable(::Stripe::CouponService::CreateParams::AppliesTo), currency: T.nilable(String), currency_options: T.nilable(T::Hash[String, ::Stripe::CouponService::CreateParams::CurrencyOptions]), duration: T.nilable(String), duration_in_months: T.nilable(Integer), expand: T.nilable(T::Array[String]), id: T.nilable(String), max_redemptions: T.nilable(Integer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), percent_off: T.nilable(Float), redeem_by: T.nilable(Integer), script: T.nilable(::Stripe::CouponService::CreateParams::Script)).void } def initialize( amount_off: nil, @@ -158,7 +171,8 @@ module Stripe metadata: nil, name: nil, percent_off: nil, - redeem_by: nil + redeem_by: nil, + script: nil ); end end # You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.