diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 0631a56f..d3ccfb94 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1992 \ No newline at end of file +v1994 \ No newline at end of file diff --git a/lib/stripe/resources/checkout/session.rb b/lib/stripe/resources/checkout/session.rb index ff880287..a3211532 100644 --- a/lib/stripe/resources/checkout/session.rb +++ b/lib/stripe/resources/checkout/session.rb @@ -66,6 +66,25 @@ module Stripe attr_reader :status end + class BrandingSettings < Stripe::StripeObject + class Icon < Stripe::StripeObject; end + class Logo < Stripe::StripeObject; end + # A hex color value starting with `#` representing the background color for the Checkout Session. + attr_reader :background_color + # The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`. + attr_reader :border_style + # A hex color value starting with `#` representing the button color for the Checkout Session. + attr_reader :button_color + # The display name shown on the Checkout Session. + attr_reader :display_name + # The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + attr_reader :font_family + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + attr_reader :icon + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + attr_reader :logo + end + class CollectedInformation < Stripe::StripeObject class ShippingDetails < Stripe::StripeObject class Address < Stripe::StripeObject @@ -1306,6 +1325,70 @@ module Stripe end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + attr_accessor :file + # The type of image for the icon. Must be one of `file` or `url`. + attr_accessor :type + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + attr_accessor :url + + def initialize(file: nil, type: nil, url: nil) + @file = file + @type = type + @url = url + end + end + + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + attr_accessor :file + # The type of image for the logo. Must be one of `file` or `url`. + attr_accessor :type + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + attr_accessor :url + + def initialize(file: nil, type: nil, url: nil) + @file = file + @type = type + @url = url + end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + attr_accessor :background_color + # The border style for the Checkout Session. + attr_accessor :border_style + # A hex color value starting with `#` representing the button color for the Checkout Session. + attr_accessor :button_color + # A string to override the business name shown on the Checkout Session. + attr_accessor :display_name + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + attr_accessor :font_family + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + attr_accessor :icon + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + attr_accessor :logo + + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ) + @background_color = background_color + @border_style = border_style + @button_color = button_color + @display_name = display_name + @font_family = font_family + @icon = icon + @logo = logo + end + end + class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -3463,6 +3546,8 @@ module Stripe attr_accessor :automatic_tax # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`. attr_accessor :billing_address_collection + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + attr_accessor :branding_settings # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. attr_accessor :cancel_url # A unique string to reference the Checkout Session. This can be a @@ -3623,6 +3708,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil, @@ -3672,6 +3758,7 @@ module Stripe @allow_promotion_codes = allow_promotion_codes @automatic_tax = automatic_tax @billing_address_collection = billing_address_collection + @branding_settings = branding_settings @cancel_url = cancel_url @client_reference_id = client_reference_id @consent_collection = consent_collection @@ -4208,6 +4295,8 @@ module Stripe attr_reader :automatic_tax # Describes whether Checkout should collect the customer's billing address. Defaults to `auto`. attr_reader :billing_address_collection + # Attribute for field branding_settings + attr_reader :branding_settings # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. attr_reader :cancel_url # A unique string to reference the Checkout Session. This can be a diff --git a/lib/stripe/resources/discount.rb b/lib/stripe/resources/discount.rb index 04f2c431..f7cbf9c4 100644 --- a/lib/stripe/resources/discount.rb +++ b/lib/stripe/resources/discount.rb @@ -12,6 +12,12 @@ module Stripe "discount" end + class Source < Stripe::StripeObject + # The coupon that was redeemed to create this discount. + attr_reader :coupon + # Attribute for field type + attr_reader :type + end # The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. attr_reader :checkout_session # A coupon contains information about a percent-off or amount-off discount you @@ -34,6 +40,8 @@ module Stripe attr_reader :object # The promotion code applied to create this discount. attr_reader :promotion_code + # Attribute for field source + attr_reader :source # Date that the coupon was applied. attr_reader :start # The subscription that this coupon is applied to, if it is applied to a particular subscription. diff --git a/lib/stripe/services/checkout/session_service.rb b/lib/stripe/services/checkout/session_service.rb index 75b252cd..bc8e4068 100644 --- a/lib/stripe/services/checkout/session_service.rb +++ b/lib/stripe/services/checkout/session_service.rb @@ -149,6 +149,70 @@ module Stripe end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + attr_accessor :file + # The type of image for the icon. Must be one of `file` or `url`. + attr_accessor :type + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + attr_accessor :url + + def initialize(file: nil, type: nil, url: nil) + @file = file + @type = type + @url = url + end + end + + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + attr_accessor :file + # The type of image for the logo. Must be one of `file` or `url`. + attr_accessor :type + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + attr_accessor :url + + def initialize(file: nil, type: nil, url: nil) + @file = file + @type = type + @url = url + end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + attr_accessor :background_color + # The border style for the Checkout Session. + attr_accessor :border_style + # A hex color value starting with `#` representing the button color for the Checkout Session. + attr_accessor :button_color + # A string to override the business name shown on the Checkout Session. + attr_accessor :display_name + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + attr_accessor :font_family + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + attr_accessor :icon + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + attr_accessor :logo + + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ) + @background_color = background_color + @border_style = border_style + @button_color = button_color + @display_name = display_name + @font_family = font_family + @icon = icon + @logo = logo + end + end + class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -2306,6 +2370,8 @@ module Stripe attr_accessor :automatic_tax # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`. attr_accessor :billing_address_collection + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + attr_accessor :branding_settings # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. attr_accessor :cancel_url # A unique string to reference the Checkout Session. This can be a @@ -2466,6 +2532,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil, @@ -2515,6 +2582,7 @@ module Stripe @allow_promotion_codes = allow_promotion_codes @automatic_tax = automatic_tax @billing_address_collection = billing_address_collection + @branding_settings = branding_settings @cancel_url = cancel_url @client_reference_id = client_reference_id @consent_collection = consent_collection diff --git a/rbi/stripe.rbi b/rbi/stripe.rbi index 4f6c889a..c88bcbad 100644 --- a/rbi/stripe.rbi +++ b/rbi/stripe.rbi @@ -561,6 +561,14 @@ module Stripe # # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) class Discount < StripeObject + class Source < Stripe::StripeObject + # The coupon that was redeemed to create this discount. + sig { returns(T.nilable(T.any(String, Stripe::Coupon))) } + def coupon; end + # Attribute for field type + sig { returns(String) } + def type; end + end # The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. sig { returns(T.nilable(String)) } def checkout_session; end @@ -593,6 +601,9 @@ module Stripe # The promotion code applied to create this discount. sig { returns(T.nilable(T.any(String, Stripe::PromotionCode))) } def promotion_code; end + # Attribute for field source + sig { returns(Source) } + def source; end # Date that the coupon was applied. sig { returns(Integer) } def start; end @@ -21883,6 +21894,31 @@ module Stripe sig { returns(T.nilable(String)) } def status; end end + class BrandingSettings < Stripe::StripeObject + class Icon < Stripe::StripeObject; end + class Logo < Stripe::StripeObject; end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(String) } + def background_color; end + # The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`. + sig { returns(String) } + def border_style; end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(String) } + def button_color; end + # The display name shown on the Checkout Session. + sig { returns(String) } + def display_name; end + # The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(String) } + def font_family; end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { returns(T.nilable(Icon)) } + def icon; end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { returns(T.nilable(Logo)) } + def logo; end + end class CollectedInformation < Stripe::StripeObject class ShippingDetails < Stripe::StripeObject class Address < Stripe::StripeObject @@ -23224,6 +23260,9 @@ module Stripe # Describes whether Checkout should collect the customer's billing address. Defaults to `auto`. sig { returns(T.nilable(String)) } def billing_address_collection; end + # Attribute for field branding_settings + sig { returns(T.nilable(BrandingSettings)) } + def branding_settings; end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. sig { returns(T.nilable(String)) } def cancel_url; end @@ -23614,6 +23653,105 @@ module Stripe } def initialize(enabled: nil, liability: nil); end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the icon. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the logo. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(T.nilable(String)) } + def background_color; end + sig { params(_background_color: T.nilable(String)).returns(T.nilable(String)) } + def background_color=(_background_color); end + # The border style for the Checkout Session. + sig { returns(T.nilable(T.any(String, String))) } + def border_style; end + sig { + params(_border_style: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def border_style=(_border_style); end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(T.nilable(String)) } + def button_color; end + sig { params(_button_color: T.nilable(String)).returns(T.nilable(String)) } + def button_color=(_button_color); end + # A string to override the business name shown on the Checkout Session. + sig { returns(T.nilable(String)) } + def display_name; end + sig { params(_display_name: T.nilable(String)).returns(T.nilable(String)) } + def display_name=(_display_name); end + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(T.nilable(T.any(String, String))) } + def font_family; end + sig { + params(_font_family: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def font_family=(_font_family); end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)) + } + def icon; end + sig { + params(_icon: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)) + } + def icon=(_icon); end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)) + } + def logo; end + sig { + params(_logo: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)) + } + def logo=(_logo); end + sig { + params(background_color: T.nilable(String), border_style: T.nilable(T.any(String, String)), button_color: T.nilable(String), display_name: T.nilable(String), font_family: T.nilable(T.any(String, String)), icon: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon), logo: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)).void + } + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ); end + end class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -26835,6 +26973,13 @@ module Stripe def billing_address_collection; end sig { params(_billing_address_collection: T.nilable(String)).returns(T.nilable(String)) } def billing_address_collection=(_billing_address_collection); end + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)) } + def branding_settings; end + sig { + params(_branding_settings: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)) + } + def branding_settings=(_branding_settings); end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. sig { returns(T.nilable(String)) } def cancel_url; end @@ -27174,7 +27319,7 @@ module Stripe } def wallet_options=(_wallet_options); end sig { - params(adaptive_pricing: T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::Session::CreateParams::WalletOptions)).void + params(adaptive_pricing: T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), branding_settings: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::Session::CreateParams::WalletOptions)).void } def initialize( adaptive_pricing: nil, @@ -27182,6 +27327,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil, @@ -166436,6 +166582,105 @@ module Stripe } def initialize(enabled: nil, liability: nil); end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the icon. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the logo. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(T.nilable(String)) } + def background_color; end + sig { params(_background_color: T.nilable(String)).returns(T.nilable(String)) } + def background_color=(_background_color); end + # The border style for the Checkout Session. + sig { returns(T.nilable(T.any(String, String))) } + def border_style; end + sig { + params(_border_style: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def border_style=(_border_style); end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(T.nilable(String)) } + def button_color; end + sig { params(_button_color: T.nilable(String)).returns(T.nilable(String)) } + def button_color=(_button_color); end + # A string to override the business name shown on the Checkout Session. + sig { returns(T.nilable(String)) } + def display_name; end + sig { params(_display_name: T.nilable(String)).returns(T.nilable(String)) } + def display_name=(_display_name); end + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(T.nilable(T.any(String, String))) } + def font_family; end + sig { + params(_font_family: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def font_family=(_font_family); end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)) + } + def icon; end + sig { + params(_icon: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)) + } + def icon=(_icon); end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)) + } + def logo; end + sig { + params(_logo: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)) + } + def logo=(_logo); end + sig { + params(background_color: T.nilable(String), border_style: T.nilable(T.any(String, String)), button_color: T.nilable(String), display_name: T.nilable(String), font_family: T.nilable(T.any(String, String)), icon: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon), logo: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)).void + } + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ); end + end class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -169669,6 +169914,15 @@ module Stripe def billing_address_collection; end sig { params(_billing_address_collection: T.nilable(String)).returns(T.nilable(String)) } def billing_address_collection=(_billing_address_collection); end + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)) + } + def branding_settings; end + sig { + params(_branding_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)) + } + def branding_settings=(_branding_settings); end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. sig { returns(T.nilable(String)) } def cancel_url; end @@ -170032,7 +170286,7 @@ module Stripe } def wallet_options=(_wallet_options); end sig { - params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void + params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), branding_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void } def initialize( adaptive_pricing: nil, @@ -170040,6 +170294,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil, diff --git a/rbi/stripe/resources/checkout/session.rbi b/rbi/stripe/resources/checkout/session.rbi index 2aabfe7f..459ef8ff 100644 --- a/rbi/stripe/resources/checkout/session.rbi +++ b/rbi/stripe/resources/checkout/session.rbi @@ -67,6 +67,31 @@ module Stripe sig { returns(T.nilable(String)) } def status; end end + class BrandingSettings < Stripe::StripeObject + class Icon < Stripe::StripeObject; end + class Logo < Stripe::StripeObject; end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(String) } + def background_color; end + # The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`. + sig { returns(String) } + def border_style; end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(String) } + def button_color; end + # The display name shown on the Checkout Session. + sig { returns(String) } + def display_name; end + # The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(String) } + def font_family; end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { returns(T.nilable(Icon)) } + def icon; end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { returns(T.nilable(Logo)) } + def logo; end + end class CollectedInformation < Stripe::StripeObject class ShippingDetails < Stripe::StripeObject class Address < Stripe::StripeObject @@ -1408,6 +1433,9 @@ module Stripe # Describes whether Checkout should collect the customer's billing address. Defaults to `auto`. sig { returns(T.nilable(String)) } def billing_address_collection; end + # Attribute for field branding_settings + sig { returns(T.nilable(BrandingSettings)) } + def branding_settings; end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. sig { returns(T.nilable(String)) } def cancel_url; end @@ -1798,6 +1826,105 @@ module Stripe } def initialize(enabled: nil, liability: nil); end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the icon. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the logo. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(T.nilable(String)) } + def background_color; end + sig { params(_background_color: T.nilable(String)).returns(T.nilable(String)) } + def background_color=(_background_color); end + # The border style for the Checkout Session. + sig { returns(T.nilable(T.any(String, String))) } + def border_style; end + sig { + params(_border_style: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def border_style=(_border_style); end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(T.nilable(String)) } + def button_color; end + sig { params(_button_color: T.nilable(String)).returns(T.nilable(String)) } + def button_color=(_button_color); end + # A string to override the business name shown on the Checkout Session. + sig { returns(T.nilable(String)) } + def display_name; end + sig { params(_display_name: T.nilable(String)).returns(T.nilable(String)) } + def display_name=(_display_name); end + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(T.nilable(T.any(String, String))) } + def font_family; end + sig { + params(_font_family: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def font_family=(_font_family); end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)) + } + def icon; end + sig { + params(_icon: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon)) + } + def icon=(_icon); end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)) + } + def logo; end + sig { + params(_logo: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)) + } + def logo=(_logo); end + sig { + params(background_color: T.nilable(String), border_style: T.nilable(T.any(String, String)), button_color: T.nilable(String), display_name: T.nilable(String), font_family: T.nilable(T.any(String, String)), icon: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Icon), logo: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings::Logo)).void + } + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ); end + end class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -5019,6 +5146,13 @@ module Stripe def billing_address_collection; end sig { params(_billing_address_collection: T.nilable(String)).returns(T.nilable(String)) } def billing_address_collection=(_billing_address_collection); end + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)) } + def branding_settings; end + sig { + params(_branding_settings: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)).returns(T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings)) + } + def branding_settings=(_branding_settings); end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. sig { returns(T.nilable(String)) } def cancel_url; end @@ -5358,7 +5492,7 @@ module Stripe } def wallet_options=(_wallet_options); end sig { - params(adaptive_pricing: T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::Session::CreateParams::WalletOptions)).void + params(adaptive_pricing: T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), branding_settings: T.nilable(::Stripe::Checkout::Session::CreateParams::BrandingSettings), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::Session::CreateParams::WalletOptions)).void } def initialize( adaptive_pricing: nil, @@ -5366,6 +5500,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil, diff --git a/rbi/stripe/resources/discount.rbi b/rbi/stripe/resources/discount.rbi index c680d75a..8b5732fb 100644 --- a/rbi/stripe/resources/discount.rbi +++ b/rbi/stripe/resources/discount.rbi @@ -8,6 +8,14 @@ module Stripe # # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) class Discount < StripeObject + class Source < Stripe::StripeObject + # The coupon that was redeemed to create this discount. + sig { returns(T.nilable(T.any(String, Stripe::Coupon))) } + def coupon; end + # Attribute for field type + sig { returns(String) } + def type; end + end # The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. sig { returns(T.nilable(String)) } def checkout_session; end @@ -40,6 +48,9 @@ module Stripe # The promotion code applied to create this discount. sig { returns(T.nilable(T.any(String, Stripe::PromotionCode))) } def promotion_code; end + # Attribute for field source + sig { returns(Source) } + def source; end # Date that the coupon was applied. sig { returns(Integer) } def start; end diff --git a/rbi/stripe/services/checkout/session_service.rbi b/rbi/stripe/services/checkout/session_service.rbi index 2fa817c2..cead7412 100644 --- a/rbi/stripe/services/checkout/session_service.rbi +++ b/rbi/stripe/services/checkout/session_service.rbi @@ -205,6 +205,105 @@ module Stripe } def initialize(enabled: nil, liability: nil); end end + class BrandingSettings < Stripe::RequestParams + class Icon < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the icon. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + class Logo < Stripe::RequestParams + # The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def file; end + sig { params(_file: T.nilable(String)).returns(T.nilable(String)) } + def file=(_file); end + # The type of image for the logo. Must be one of `file` or `url`. + sig { returns(String) } + def type; end + sig { params(_type: String).returns(String) } + def type=(_type); end + # The URL of the image. Required if `type` is `url` and disallowed otherwise. + sig { returns(T.nilable(String)) } + def url; end + sig { params(_url: T.nilable(String)).returns(T.nilable(String)) } + def url=(_url); end + sig { params(file: T.nilable(String), type: String, url: T.nilable(String)).void } + def initialize(file: nil, type: nil, url: nil); end + end + # A hex color value starting with `#` representing the background color for the Checkout Session. + sig { returns(T.nilable(String)) } + def background_color; end + sig { params(_background_color: T.nilable(String)).returns(T.nilable(String)) } + def background_color=(_background_color); end + # The border style for the Checkout Session. + sig { returns(T.nilable(T.any(String, String))) } + def border_style; end + sig { + params(_border_style: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def border_style=(_border_style); end + # A hex color value starting with `#` representing the button color for the Checkout Session. + sig { returns(T.nilable(String)) } + def button_color; end + sig { params(_button_color: T.nilable(String)).returns(T.nilable(String)) } + def button_color=(_button_color); end + # A string to override the business name shown on the Checkout Session. + sig { returns(T.nilable(String)) } + def display_name; end + sig { params(_display_name: T.nilable(String)).returns(T.nilable(String)) } + def display_name=(_display_name); end + # The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). + sig { returns(T.nilable(T.any(String, String))) } + def font_family; end + sig { + params(_font_family: T.nilable(T.any(String, String))).returns(T.nilable(T.any(String, String))) + } + def font_family=(_font_family); end + # The icon for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)) + } + def icon; end + sig { + params(_icon: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon)) + } + def icon=(_icon); end + # The logo for the Checkout Session. You cannot set both `logo` and `icon`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)) + } + def logo; end + sig { + params(_logo: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)) + } + def logo=(_logo); end + sig { + params(background_color: T.nilable(String), border_style: T.nilable(T.any(String, String)), button_color: T.nilable(String), display_name: T.nilable(String), font_family: T.nilable(T.any(String, String)), icon: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Icon), logo: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings::Logo)).void + } + def initialize( + background_color: nil, + border_style: nil, + button_color: nil, + display_name: nil, + font_family: nil, + icon: nil, + logo: nil + ); end + end class ConsentCollection < Stripe::RequestParams class PaymentMethodReuseAgreement < Stripe::RequestParams # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's @@ -3438,6 +3537,15 @@ module Stripe def billing_address_collection; end sig { params(_billing_address_collection: T.nilable(String)).returns(T.nilable(String)) } def billing_address_collection=(_billing_address_collection); end + # The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. + sig { + returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)) + } + def branding_settings; end + sig { + params(_branding_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)).returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings)) + } + def branding_settings=(_branding_settings); end # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. sig { returns(T.nilable(String)) } def cancel_url; end @@ -3801,7 +3909,7 @@ module Stripe } def wallet_options=(_wallet_options); end sig { - params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void + params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), branding_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::BrandingSettings), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_account: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), excluded_payment_method_types: T.nilable(T::Array[String]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), name_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::NameCollection), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), origin_context: T.nilable(String), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String), wallet_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::WalletOptions)).void } def initialize( adaptive_pricing: nil, @@ -3809,6 +3917,7 @@ module Stripe allow_promotion_codes: nil, automatic_tax: nil, billing_address_collection: nil, + branding_settings: nil, cancel_url: nil, client_reference_id: nil, consent_collection: nil,