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
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## 18.4.0-beta.3 - 2026-02-17
* [#1787](https://github.com/stripe/stripe-ruby/pull/1787) Fix v2 typed params sending nil values on GET requests
- Fixes a bug on V2 GET where we were serializing `nil` query parameters as empty strings. The server would return an error in such cases like `'limit: Expected an Integer value got: .'`
- Fixes a bug on V2 GET where we were serializing `nil` query parameters as empty strings. The server would return an error in such cases like `'limit: Expected an Integer value got: .'`

## 18.4.0-beta.2 - 2026-02-03
* [#1775](https://github.com/stripe/stripe-ruby/pull/1775)
* References to Stripe objects from *Param class fields are now fully qualified in `stripe.rbi`. This ensures that the class fields in .rbi files generated with tapioca are able to refer to the correct type.
* References to Stripe objects from *Param class fields are now fully qualified in `stripe.rbi`. This ensures that the class fields in .rbi files generated with tapioca are able to refer to the correct type.

## 18.4.0-beta.1 - 2026-01-28
This release changes the pinned API version to `2026-01-28.preview`.
Expand Down Expand Up @@ -35,6 +35,10 @@ This release changes the pinned API version to `2026-01-28.preview`.
- Nil input params are now preserved when calling V2 APIs. Add additional tests for nil when calling V2 services you do not accidentally include an unintentional nil value. V1 API calls are not affected (nil values are stripped from params hashes in V1).
* [#1747](https://github.com/stripe/stripe-ruby/pull/1747) Add EventNotificationHandler example

## 18.3.1 - 2026-02-03
* [#1777](https://github.com/stripe/stripe-ruby/pull/1777)
* References to Stripe objects from *Param class fields are now fully qualified in `stripe.rbi`. This ensures that the class fields in .rbi files generated with tapioca are able to refer to the correct type.

## 18.3.0 - 2026-01-28
This release changes the pinned API version to `2026-01-28.clover`.

Expand Down
2 changes: 1 addition & 1 deletion CODEGEN_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
9d04866843864b95eb2d5dbea5923816e446f09b
35e26af8c8a4fb5988922dfcb4d9bd22f7f850c5
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2164
v2184
3 changes: 0 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -420,9 +420,6 @@ just update-certs
# or: bundle exec rake update_certs
```

Update the bundled [stripe-mock] by editing the version number found in
`.travis.yml`.

[api-keys]: https://dashboard.stripe.com/account/apikeys
[connect]: https://stripe.com/connect
[curl]: http://curl.haxx.se/docs/caextract.html
Expand Down
2 changes: 1 addition & 1 deletion lib/stripe/api_version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

module Stripe
module ApiVersion
CURRENT = "2026-01-28.preview"
CURRENT = "2026-02-25.preview"
end
end
25 changes: 25 additions & 0 deletions lib/stripe/params/account_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2175,6 +2175,8 @@ def initialize(hosted_payment_method_save: nil)
end

class Payments < ::Stripe::RequestParams
# When you enable this parameter, the customer of this Account receives an email receipt when their payment succeeds. If this parameter isn't set, the default value is `false`.
attr_accessor :email_customers_on_successful_payment
# The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don't set a `statement_descriptor_prefix`, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the `statement_descriptor` text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the [account settings documentation](https://docs.stripe.com/get-started/account/statement-descriptors).
attr_accessor :statement_descriptor
# The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
Expand All @@ -2183,10 +2185,12 @@ class Payments < ::Stripe::RequestParams
attr_accessor :statement_descriptor_kanji

def initialize(
email_customers_on_successful_payment: nil,
statement_descriptor: nil,
statement_descriptor_kana: nil,
statement_descriptor_kanji: nil
)
@email_customers_on_successful_payment = email_customers_on_successful_payment
@statement_descriptor = statement_descriptor
@statement_descriptor_kana = statement_descriptor_kana
@statement_descriptor_kanji = statement_descriptor_kanji
Expand Down Expand Up @@ -2292,6 +2296,23 @@ def initialize(additional_files: nil, goods_type: nil, site: nil)
end
end

class SmartDisputes < ::Stripe::RequestParams
class AutoRespond < ::Stripe::RequestParams
# The preference setting for auto-respond. Can be 'on', 'off', or 'inherit'.
attr_accessor :preference

def initialize(preference: nil)
@preference = preference
end
end
# Smart Disputes auto-respond settings for the account.
attr_accessor :auto_respond

def initialize(auto_respond: nil)
@auto_respond = auto_respond
end
end

class TaxForms < ::Stripe::RequestParams
# Whether the account opted out of receiving their tax forms by postal delivery.
attr_accessor :consented_to_paperless_delivery
Expand Down Expand Up @@ -2343,6 +2364,8 @@ def initialize(tos_acceptance: nil)
attr_accessor :payouts
# Settings specific to the PayPay payments method.
attr_accessor :paypay_payments
# Settings specific to the account's use of Smart Disputes.
attr_accessor :smart_disputes
# Settings specific to the account's tax forms.
attr_accessor :tax_forms
# Settings specific to the account's Treasury FinancialAccounts.
Expand All @@ -2359,6 +2382,7 @@ def initialize(
payments: nil,
payouts: nil,
paypay_payments: nil,
smart_disputes: nil,
tax_forms: nil,
treasury: nil
)
Expand All @@ -2372,6 +2396,7 @@ def initialize(
@payments = payments
@payouts = payouts
@paypay_payments = paypay_payments
@smart_disputes = smart_disputes
@tax_forms = tax_forms
@treasury = treasury
end
Expand Down
25 changes: 25 additions & 0 deletions lib/stripe/params/account_update_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2097,6 +2097,8 @@ def initialize(default_account_tax_ids: nil, hosted_payment_method_save: nil)
end

class Payments < ::Stripe::RequestParams
# When you enable this parameter, the customer of this Account receives an email receipt when their payment succeeds. If this parameter isn't set, the default value is `false`.
attr_accessor :email_customers_on_successful_payment
# The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don't set a `statement_descriptor_prefix`, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the `statement_descriptor` text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the [account settings documentation](https://docs.stripe.com/get-started/account/statement-descriptors).
attr_accessor :statement_descriptor
# The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
Expand All @@ -2105,10 +2107,12 @@ class Payments < ::Stripe::RequestParams
attr_accessor :statement_descriptor_kanji

def initialize(
email_customers_on_successful_payment: nil,
statement_descriptor: nil,
statement_descriptor_kana: nil,
statement_descriptor_kanji: nil
)
@email_customers_on_successful_payment = email_customers_on_successful_payment
@statement_descriptor = statement_descriptor
@statement_descriptor_kana = statement_descriptor_kana
@statement_descriptor_kanji = statement_descriptor_kanji
Expand Down Expand Up @@ -2214,6 +2218,23 @@ def initialize(additional_files: nil, goods_type: nil, site: nil)
end
end

class SmartDisputes < ::Stripe::RequestParams
class AutoRespond < ::Stripe::RequestParams
# The preference setting for auto-respond. Can be 'on', 'off', or 'inherit'.
attr_accessor :preference

def initialize(preference: nil)
@preference = preference
end
end
# Smart Disputes auto-respond settings for the account.
attr_accessor :auto_respond

def initialize(auto_respond: nil)
@auto_respond = auto_respond
end
end

class TaxForms < ::Stripe::RequestParams
# Whether the account opted out of receiving their tax forms by postal delivery.
attr_accessor :consented_to_paperless_delivery
Expand Down Expand Up @@ -2265,6 +2286,8 @@ def initialize(tos_acceptance: nil)
attr_accessor :payouts
# Settings specific to the PayPay payments method.
attr_accessor :paypay_payments
# Settings specific to the account's use of Smart Disputes.
attr_accessor :smart_disputes
# Settings specific to the account's tax forms.
attr_accessor :tax_forms
# Settings specific to the account's Treasury FinancialAccounts.
Expand All @@ -2281,6 +2304,7 @@ def initialize(
payments: nil,
payouts: nil,
paypay_payments: nil,
smart_disputes: nil,
tax_forms: nil,
treasury: nil
)
Expand All @@ -2294,6 +2318,7 @@ def initialize(
@payments = payments
@payouts = payouts
@paypay_payments = paypay_payments
@smart_disputes = smart_disputes
@tax_forms = tax_forms
@treasury = treasury
end
Expand Down
2 changes: 1 addition & 1 deletion lib/stripe/params/billing/alert_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def initialize(customer: nil, type: nil)
end
# The filters allows limiting the scope of this usage alert. You can only specify up to one filter at this time.
attr_accessor :filters
# Defines at which value the alert will fire.
# Defines the threshold value that triggers the alert.
attr_accessor :gte
# The [Billing Meter](/api/billing/meter) ID whose usage is monitored.
attr_accessor :meter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def initialize(
@type = type
end
end
# The ID of an existing [configuration](https://docs.stripe.com/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.
# The ID of an existing [configuration](https://docs.stripe.com/api/customer_portal/configurations) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.
attr_accessor :configuration
# The ID of an existing customer.
attr_accessor :customer
Expand Down
29 changes: 21 additions & 8 deletions lib/stripe/params/checkout/session_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ def initialize(label: nil, value: nil)
@value = value
end
end
# The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
# The value that pre-fills the field on the payment page.Must match a `value` in the `options` array.
attr_accessor :default_value
# The options available for the customer to select. Up to 200 options allowed.
attr_accessor :options
Expand All @@ -188,7 +188,7 @@ def initialize(custom: nil, type: nil)
end

class Numeric < ::Stripe::RequestParams
# The value that will pre-fill the field on the payment page.
# The value that pre-fills the field on the payment page.
attr_accessor :default_value
# The maximum character length constraint for the customer's input.
attr_accessor :maximum_length
Expand All @@ -203,7 +203,7 @@ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil)
end

class Text < ::Stripe::RequestParams
# The value that will pre-fill the field on the payment page.
# The value that pre-fills the field on the payment page.
attr_accessor :default_value
# The maximum character length constraint for the customer's input.
attr_accessor :maximum_length
Expand Down Expand Up @@ -252,7 +252,7 @@ def initialize(

class CustomText < ::Stripe::RequestParams
class AfterSubmit < ::Stripe::RequestParams
# Text may be up to 1200 characters in length.
# Text can be up to 1200 characters in length.
attr_accessor :message

def initialize(message: nil)
Expand All @@ -261,7 +261,7 @@ def initialize(message: nil)
end

class ShippingAddress < ::Stripe::RequestParams
# Text may be up to 1200 characters in length.
# Text can be up to 1200 characters in length.
attr_accessor :message

def initialize(message: nil)
Expand All @@ -270,7 +270,7 @@ def initialize(message: nil)
end

class Submit < ::Stripe::RequestParams
# Text may be up to 1200 characters in length.
# Text can be up to 1200 characters in length.
attr_accessor :message

def initialize(message: nil)
Expand All @@ -279,7 +279,7 @@ def initialize(message: nil)
end

class TermsOfServiceAcceptance < ::Stripe::RequestParams
# Text may be up to 1200 characters in length.
# Text can be up to 1200 characters in length.
attr_accessor :message

def initialize(message: nil)
Expand Down Expand Up @@ -577,6 +577,15 @@ def initialize(
end
end

class ManagedPayments < ::Stripe::RequestParams
# Set to `true` to enable [Managed Payments](https://docs.stripe.com/payments/managed-payments), Stripe's merchant of record solution, for this session.
attr_accessor :enabled

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

class NameCollection < ::Stripe::RequestParams
class Business < ::Stripe::RequestParams
# Enable business name collection on the Checkout Session. Defaults to `false`.
Expand Down Expand Up @@ -1123,7 +1132,7 @@ def initialize(capture_method: nil, setup_future_usage: nil)
class CustomerBalance < ::Stripe::RequestParams
class BankTransfer < ::Stripe::RequestParams
class EuBankTransfer < ::Stripe::RequestParams
# The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
# The desired country code of the bank account information. Permitted values include: `DE`, `FR`, `IE`, or `NL`.
attr_accessor :country

def initialize(country: nil)
Expand Down Expand Up @@ -2458,6 +2467,8 @@ def initialize(link: nil)
attr_accessor :line_items
# The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
attr_accessor :locale
# Settings for Managed Payments for this Checkout Session and resulting [PaymentIntents](/api/payment_intents/object), [Invoices](/api/invoices/object), and [Subscriptions](/api/subscriptions/object).
attr_accessor :managed_payments
# Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
attr_accessor :metadata
# The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
Expand Down Expand Up @@ -2578,6 +2589,7 @@ def initialize(
invoice_creation: nil,
line_items: nil,
locale: nil,
managed_payments: nil,
metadata: nil,
mode: nil,
name_collection: nil,
Expand Down Expand Up @@ -2628,6 +2640,7 @@ def initialize(
@invoice_creation = invoice_creation
@line_items = line_items
@locale = locale
@managed_payments = managed_payments
@metadata = metadata
@mode = mode
@name_collection = name_collection
Expand Down
6 changes: 3 additions & 3 deletions lib/stripe/params/credit_note_create_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ def initialize(amount: nil, tax_rate: nil, taxable_amount: nil)
attr_accessor :invoice_line_item
# The line item quantity to credit.
attr_accessor :quantity
# A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`.
# A list of up to 10 tax amounts for the credit note line item. Not valid when `tax_rates` is used or if invoice is set up with `automatic_tax[enabled]=true`.
attr_accessor :tax_amounts
# The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`.
# The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and `tax_amounts` is not used.
attr_accessor :tax_rates
# Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`
# Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. `custom_line_item` is not valid when the invoice is set up with `automatic_tax[enabled]=true`.
attr_accessor :type
# The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
attr_accessor :unit_amount
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ def initialize(amount: nil, tax_rate: nil, taxable_amount: nil)
attr_accessor :invoice_line_item
# The line item quantity to credit.
attr_accessor :quantity
# A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`.
# A list of up to 10 tax amounts for the credit note line item. Not valid when `tax_rates` is used or if invoice is set up with `automatic_tax[enabled]=true`.
attr_accessor :tax_amounts
# The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`.
# The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and `tax_amounts` is not used.
attr_accessor :tax_rates
# Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`
# Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. `custom_line_item` is not valid when the invoice is set up with `automatic_tax[enabled]=true`.
attr_accessor :type
# The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
attr_accessor :unit_amount
Expand Down
Loading