Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion API_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2025-06-30.basil
2025-07-30.basil
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Changelog
## 15.4.0 - 2025-07-30
This release changes the pinned API version to `2025-07-30.basil`.

* [#1627](https://github.com/stripe/stripe-ruby/pull/1627) Update generated code
* Add support for `instant_payouts_promotion` on `AccountSession::Component` and `AccountSession::CreateParams::Component`
* Add support for `adjustable_quantity` on `BillingPortal::Configuration::CreateParams::Feature::SubscriptionUpdate::Product`, `BillingPortal::Configuration::Feature::SubscriptionUpdate::Product`, and `BillingPortal::Configuration::UpdateParams::Feature::SubscriptionUpdate::Product`
* Add support for `transaction_id` on `Charge::PaymentMethodDetail::Cashapp`
* Add support for `origin_context` on `Checkout::Session::CreateParams` and `Checkout::Session`
* Add support for `template` on `Checkout::Session::CreateParams::InvoiceCreation::InvoiceDatum::RenderingOption`, `Checkout::Session::InvoiceCreation::InvoiceDatum::RenderingOption`, `PaymentLink::CreateParams::InvoiceCreation::InvoiceDatum::RenderingOption`, `PaymentLink::InvoiceCreation::InvoiceDatum::RenderingOption`, and `PaymentLink::UpdateParams::InvoiceCreation::InvoiceDatum::RenderingOption`
* Add support for `setup_future_usage` on `Checkout::Session::CreateParams::PaymentMethodOption::Pix` and `Checkout::Session::PaymentMethodOption::Pix`
* Change `Identity::VerificationSession::RelatedPerson.account` to be required
* Change `Identity::VerificationSession::RelatedPerson.person` to be required
* Add support for `duration` on `Invoice::CreatePreviewParams::ScheduleDetail::Phase`, `SubscriptionSchedule::CreateParams::Phase`, and `SubscriptionSchedule::UpdateParams::Phase`
* Change type of `Invoice::CreatePreviewParams::SubscriptionDetail.cancel_at`, `Subscription::CreateParams.cancel_at`, and `Subscription::UpdateParams.cancel_at` from `DateTime` to `DateTime | enum('max_period_end'|'min_period_end')`
* Add support for `price_data` on `PaymentLink::CreateParams::LineItem`
* Change `PaymentLink::CreateParams::LineItem.price` to be optional
* Add support for `standard` on `Tax::Registration::CountryOption::Ae`, `Tax::Registration::CountryOption::Au`, `Tax::Registration::CountryOption::Ch`, `Tax::Registration::CountryOption::Gb`, `Tax::Registration::CountryOption::Jp`, `Tax::Registration::CountryOption::No`, `Tax::Registration::CountryOption::Nz`, `Tax::Registration::CountryOption::Sg`, `Tax::Registration::CreateParams::CountryOption::Ae`, `Tax::Registration::CreateParams::CountryOption::Al`, `Tax::Registration::CreateParams::CountryOption::Ao`, `Tax::Registration::CreateParams::CountryOption::Au`, `Tax::Registration::CreateParams::CountryOption::Aw`, `Tax::Registration::CreateParams::CountryOption::B`, `Tax::Registration::CreateParams::CountryOption::Ba`, `Tax::Registration::CreateParams::CountryOption::Bb`, `Tax::Registration::CreateParams::CountryOption::Bd`, `Tax::Registration::CreateParams::CountryOption::Bf`, `Tax::Registration::CreateParams::CountryOption::Bh`, `Tax::Registration::CreateParams::CountryOption::Cd`, `Tax::Registration::CreateParams::CountryOption::Ch`, `Tax::Registration::CreateParams::CountryOption::Et`, `Tax::Registration::CreateParams::CountryOption::Gb`, `Tax::Registration::CreateParams::CountryOption::Gn`, `Tax::Registration::CreateParams::CountryOption::Is`, `Tax::Registration::CreateParams::CountryOption::Jp`, `Tax::Registration::CreateParams::CountryOption::Me`, `Tax::Registration::CreateParams::CountryOption::Mk`, `Tax::Registration::CreateParams::CountryOption::Mr`, `Tax::Registration::CreateParams::CountryOption::No`, `Tax::Registration::CreateParams::CountryOption::Nz`, `Tax::Registration::CreateParams::CountryOption::Om`, `Tax::Registration::CreateParams::CountryOption::R`, `Tax::Registration::CreateParams::CountryOption::Sg`, `Tax::Registration::CreateParams::CountryOption::Sr`, `Tax::Registration::CreateParams::CountryOption::Uy`, `Tax::Registration::CreateParams::CountryOption::Za`, and `Tax::Registration::CreateParams::CountryOption::Zw`
* Add support for `aed`, `bgn`, `huf`, and `ron` on `Terminal::Configuration::CreateParams::Tipping`, `Terminal::Configuration::Tipping`, and `Terminal::Configuration::UpdateParams::Tipping`

## 15.3.0 - 2025-07-01
This release changes the pinned API version to `2025-06-30.basil`.

* [#1618](https://github.com/stripe/stripe-ruby/pull/1618) Update generated code
* Add support for `migrate` method on resource `Subscription`
* Add support for `collect_payment_method` and `confirm_payment_intent` methods on resource `Terminal::Reader`
Expand All @@ -23,7 +44,6 @@
* Add support for `status` on `Treasury::FinancialAccount::ListParams`
* [#1615](https://github.com/stripe/stripe-ruby/pull/1615) Update README to mention that APIResource.request was removed
* [#1619](https://github.com/stripe/stripe-ruby/pull/1619) Updated StripeClient snippets in README
* [#1621](https://github.com/stripe/stripe-ruby/pull/1621) Disable flaky test in jruby/truffleruby
* [#1620](https://github.com/stripe/stripe-ruby/pull/1620) Fix `raw_request` example in README

## 15.2.1 - 2025-06-04
Expand Down
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1819
v1868
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
15.3.0
15.4.0
2 changes: 1 addition & 1 deletion lib/stripe/api_version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

module Stripe
module ApiVersion
CURRENT = "2025-06-30.basil"
CURRENT = "2025-07-30.basil"
CURRENT_MAJOR = "basil"
end
end
10 changes: 5 additions & 5 deletions lib/stripe/resources/account.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class SupportAddress < Stripe::StripeObject
attr_reader :estimated_worker_count
# [The merchant category code for the account](/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
attr_reader :mcc
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+-owned business.
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business.
attr_reader :minority_owned_business_designation
# Attribute for field monthly_estimated_revenue
attr_reader :monthly_estimated_revenue
Expand Down Expand Up @@ -700,7 +700,7 @@ def initialize(
attr_accessor :estimated_worker_count
# [The merchant category code for the account](/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
attr_accessor :mcc
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+-owned business.
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business.
attr_accessor :minority_owned_business_designation
# An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India.
attr_accessor :monthly_estimated_revenue
Expand Down Expand Up @@ -2751,7 +2751,7 @@ def initialize(
attr_accessor :estimated_worker_count
# [The merchant category code for the account](/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
attr_accessor :mcc
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+-owned business.
# Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business.
attr_accessor :minority_owned_business_designation
# An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India.
attr_accessor :monthly_estimated_revenue
Expand Down Expand Up @@ -4852,7 +4852,7 @@ def self.create(params = {}, opts = {})
#
# Test-mode accounts can be deleted at any time.
#
# Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero.
# Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero.
#
# If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead.
def self.delete(account, params = {}, opts = {})
Expand All @@ -4868,7 +4868,7 @@ def self.delete(account, params = {}, opts = {})
#
# Test-mode accounts can be deleted at any time.
#
# Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero.
# Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero.
#
# If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead.
def delete(params = {}, opts = {})
Expand Down
4 changes: 3 additions & 1 deletion lib/stripe/resources/account_link.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def initialize(fields: nil, future_requirements: nil)
attr_accessor :refresh_url
# The URL that the user will be redirected to upon leaving or completing the linked flow.
attr_accessor :return_url
# The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`.
# The type of account link the user is requesting.
#
# You can create Account Links of type `account_update` only for connected accounts where your platform is responsible for collecting requirements, including Custom accounts. You can't create them for accounts that have access to a Stripe-hosted Dashboard. If you use [Connect embedded components](/connect/get-started-connect-embedded-components), you can include components that allow your connected accounts to update their own information. For an account without Stripe-hosted Dashboard access where Stripe is liable for negative balances, you must use embedded components.
attr_accessor :type

def initialize(
Expand Down
51 changes: 51 additions & 0 deletions lib/stripe/resources/account_session.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,21 @@ class Features < Stripe::StripeObject
attr_reader :features
end

class InstantPayoutsPromotion < Stripe::StripeObject
class Features < Stripe::StripeObject
# Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`.
attr_reader :disable_stripe_user_authentication
# Whether external account collection is enabled. This feature can only be `false` for accounts where you’re responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`.
attr_reader :external_account_collection
# Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`.
attr_reader :instant_payouts
end
# Whether the embedded component is enabled.
attr_reader :enabled
# Attribute for field features
attr_reader :features
end

class IssuingCard < Stripe::StripeObject
class Features < Stripe::StripeObject
# Whether to allow card management features.
Expand Down Expand Up @@ -270,6 +285,8 @@ class Features < Stripe::StripeObject; end
attr_reader :financial_account
# Attribute for field financial_account_transactions
attr_reader :financial_account_transactions
# Attribute for field instant_payouts_promotion
attr_reader :instant_payouts_promotion
# Attribute for field issuing_card
attr_reader :issuing_card
# Attribute for field issuing_cards_list
Expand Down Expand Up @@ -485,6 +502,36 @@ def initialize(enabled: nil, features: nil)
end
end

class InstantPayoutsPromotion < Stripe::RequestParams
class Features < Stripe::RequestParams
# Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`.
attr_accessor :disable_stripe_user_authentication
# Whether external account collection is enabled. This feature can only be `false` for accounts where you’re responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`.
attr_accessor :external_account_collection
# Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`.
attr_accessor :instant_payouts

def initialize(
disable_stripe_user_authentication: nil,
external_account_collection: nil,
instant_payouts: nil
)
@disable_stripe_user_authentication = disable_stripe_user_authentication
@external_account_collection = external_account_collection
@instant_payouts = instant_payouts
end
end
# Whether the embedded component is enabled.
attr_accessor :enabled
# The list of features enabled in the embedded component.
attr_accessor :features

def initialize(enabled: nil, features: nil)
@enabled = enabled
@features = features
end
end

class IssuingCard < Stripe::RequestParams
class Features < Stripe::RequestParams
# Whether to allow card management features.
Expand Down Expand Up @@ -771,6 +818,8 @@ def initialize(enabled: nil, features: nil)
attr_accessor :financial_account
# Configuration for the [financial account transactions](/connect/supported-embedded-components/financial-account-transactions/) embedded component.
attr_accessor :financial_account_transactions
# Configuration for the [instant payouts promotion](/connect/supported-embedded-components/instant-payouts-promotion/) embedded component.
attr_accessor :instant_payouts_promotion
# Configuration for the [issuing card](/connect/supported-embedded-components/issuing-card/) embedded component.
attr_accessor :issuing_card
# Configuration for the [issuing cards list](/connect/supported-embedded-components/issuing-cards-list/) embedded component.
Expand Down Expand Up @@ -800,6 +849,7 @@ def initialize(
documents: nil,
financial_account: nil,
financial_account_transactions: nil,
instant_payouts_promotion: nil,
issuing_card: nil,
issuing_cards_list: nil,
notification_banner: nil,
Expand All @@ -818,6 +868,7 @@ def initialize(
@documents = documents
@financial_account = financial_account
@financial_account_transactions = financial_account_transactions
@instant_payouts_promotion = instant_payouts_promotion
@issuing_card = issuing_card
@issuing_cards_list = issuing_cards_list
@notification_banner = notification_banner
Expand Down
2 changes: 1 addition & 1 deletion lib/stripe/resources/billing/credit_grant.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def initialize(currency: nil, value: nil)
end
# The monetary amount.
attr_accessor :monetary
# Specify the type of this amount. We currently only support `monetary` billing credits.
# The type of this amount. We currently only support `monetary` billing credits.
attr_accessor :type

def initialize(monetary: nil, type: nil)
Expand Down
48 changes: 46 additions & 2 deletions lib/stripe/resources/billing_portal/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,16 @@ class CancellationReason < Stripe::StripeObject

class SubscriptionUpdate < Stripe::StripeObject
class Product < Stripe::StripeObject
class AdjustableQuantity < Stripe::StripeObject
# If true, the quantity can be adjusted to any non-negative integer.
attr_reader :enabled
# The maximum quantity that can be set for the product.
attr_reader :maximum
# The minimum quantity that can be set for the product.
attr_reader :minimum
end
# Attribute for field adjustable_quantity
attr_reader :adjustable_quantity
# The list of price IDs which, when subscribed to, a subscription can be updated.
attr_reader :prices
# The product ID.
Expand Down Expand Up @@ -220,12 +230,29 @@ def initialize(

class SubscriptionUpdate < Stripe::RequestParams
class Product < Stripe::RequestParams
class AdjustableQuantity < Stripe::RequestParams
# Set to true if the quantity can be adjusted to any non-negative integer.
attr_accessor :enabled
# The maximum quantity that can be set for the product.
attr_accessor :maximum
# The minimum quantity that can be set for the product.
attr_accessor :minimum

def initialize(enabled: nil, maximum: nil, minimum: nil)
@enabled = enabled
@maximum = maximum
@minimum = minimum
end
end
# Control whether the quantity of the product can be adjusted.
attr_accessor :adjustable_quantity
# The list of price IDs for the product that a subscription can be updated to.
attr_accessor :prices
# The product id.
attr_accessor :product

def initialize(prices: nil, product: nil)
def initialize(adjustable_quantity: nil, prices: nil, product: nil)
@adjustable_quantity = adjustable_quantity
@prices = prices
@product = product
end
Expand Down Expand Up @@ -419,12 +446,29 @@ def initialize(

class SubscriptionUpdate < Stripe::RequestParams
class Product < Stripe::RequestParams
class AdjustableQuantity < Stripe::RequestParams
# Set to true if the quantity can be adjusted to any non-negative integer.
attr_accessor :enabled
# The maximum quantity that can be set for the product.
attr_accessor :maximum
# The minimum quantity that can be set for the product.
attr_accessor :minimum

def initialize(enabled: nil, maximum: nil, minimum: nil)
@enabled = enabled
@maximum = maximum
@minimum = minimum
end
end
# Control whether the quantity of the product can be adjusted.
attr_accessor :adjustable_quantity
# The list of price IDs for the product that a subscription can be updated to.
attr_accessor :prices
# The product id.
attr_accessor :product

def initialize(prices: nil, product: nil)
def initialize(adjustable_quantity: nil, prices: nil, product: nil)
@adjustable_quantity = adjustable_quantity
@prices = prices
@product = product
end
Expand Down
Loading