Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 9, 2025

This PR contains the following updates:

Package Change Age Confidence
stripe (source, changelog) '~> 12.0' -> '~> 17.0' age confidence

Release Notes

stripe/stripe-ruby (stripe)

v17.1.0

Compare Source

This release changes the pinned API version to 2025-10-29.clover.

  • #​1715 Update generated code
    • Improve docs for PaymentIntent related endpoints
  • #​1700 Update generated code
    • Add support for new resources PaymentAttemptRecord, PaymentIntentAmountDetailsLineItem, and PaymentRecord
    • Add support for list and retrieve methods on resource PaymentAttemptRecord
    • Add support for report_payment_attempt_canceled, report_payment_attempt_failed, report_payment_attempt_guaranteed, report_payment_attempt_informational, report_payment_attempt, report_payment, report_refund, and retrieve methods on resource PaymentRecord
    • Add support for list method on resource PaymentIntentAmountDetailsLineItem
    • Add support for representative_declaration on Account::Company, AccountCreateParams::Company, AccountUpdateParams::Company, and TokenCreateParams::Account::Company
    • Change Billing::CreditGrantCreateParams.category to be optional
    • Add support for payment_method_configuration on BillingPortal::ConfigurationCreateParams::Feature::PaymentMethodUpdate and BillingPortal::ConfigurationUpdateParams::Feature::PaymentMethodUpdate
    • Add support for twint on Checkout::Session::PaymentMethodOption and Checkout::SessionCreateParams::PaymentMethodOption
    • Add support for payment_record_refund and type on CreditNote::Refund, CreditNoteCreateParams::Refund, CreditNoteListPreviewLineItemsParams::Refund, and CreditNotePreviewParams::Refund
    • Add support for customer_sheet and mobile_payment_element on CustomerSession::Component and CustomerSessionCreateParams::Component
    • Add support for provider on Customer::Tax
    • Add support for payment_record on InvoiceAttachPaymentParams, InvoicePayment::Payment, and InvoicePaymentListParams::Payment
    • Change type of InvoicePaymentListParams::Payment.type from literal('payment_intent') to enum('payment_intent'|'payment_record')
    • Add support for amount_details on PaymentIntentCaptureParams, PaymentIntentConfirmParams, PaymentIntentCreateParams, PaymentIntentIncrementAuthorizationParams, and PaymentIntentUpdateParams
    • Add support for payment_details on PaymentIntentCaptureParams, PaymentIntentConfirmParams, PaymentIntentCreateParams, PaymentIntentIncrementAuthorizationParams, PaymentIntentUpdateParams, and PaymentIntent
    • Add support for discount_amount, line_items, shipping, and tax on PaymentIntent::AmountDetail
    • Add support for name_collection on PaymentLinkCreateParams, PaymentLinkUpdateParams, and PaymentLink
    • Add support for crypto on PaymentMethodConfigurationCreateParams, PaymentMethodConfigurationUpdateParams, PaymentMethodConfiguration, and Refund::DestinationDetail
    • Add support for mb_way on PaymentMethodConfigurationCreateParams, PaymentMethodConfigurationUpdateParams, and PaymentMethodConfiguration
    • Add support for custom on PaymentMethodCreateParams and PaymentMethod
    • Add support for excluded_payment_method_types on SetupIntentCreateParams, SetupIntentUpdateParams, and SetupIntent
    • Change SetupIntent.flow_directions to be optional
    • Add support for tw on Tax::Registration::CountryOption and Tax::RegistrationCreateParams::CountryOption
    • Add support for gip on Terminal::Configuration::Tipping, Terminal::ConfigurationCreateParams::Tipping, and Terminal::ConfigurationUpdateParams::Tipping
    • Add support for last_seen_at on Terminal::Reader
    • Add support for gt, gte, lt, lte, and types on V2::Core::EventListParams
    • Change V2::Core::EventListParams.object_id to be optional

v17.0.1

Compare Source

  • #​1705 Require V2::Amount and V2::DeletedObject in gem

v17.0.0

Compare Source

  • #​1698 Remove expanded instance variables after a resource has been updated
    • ⚠️ Removes dynamically added instance variables on subsequent non-expanded updates to a resource that had previously been expanded. For example,

v16.0.0

Compare Source

This release changes the pinned API version to 2025-09-30.clover and contains breaking changes (prefixed with ⚠️ below)

  • #​1652 ⚠️ Deserialize inner types in resources for more detailed types

    • ⚠️ Deserialize inner classes, so inner class types will now reflect generated inner classes
      • For example, Stripe::Customer.address is deserialized to specific a Stripe::Customer::Address class instead of the generic Stripe::StripeObject, as is suggested by the static type annotations
      • This should not affect any normal use cases of the SDK, as inner types remain children of Stripe::StripeObject
  • #​1649 Explicitly define methods for RBIs and ship combined RBI for Tapioca

    • Improvements for Tapioca
      • Explicitly define methods for attributes in RBIs to allow Tapioca to reflect them
      • Ship combined RBI for shorter Tapioca time
  • #​1677 Move V2.Event API resources to V2.Core.Events

    • ⚠️ Move Stripe::V2::Event and Stripe::V2::EventDestination to Stripe::V2::Core::Event and Stripe::V2::Core::EventDestination respectively. They now correctly match their API path
  • #​1664 Add StripeContext object

    • Add the StripeContext class. Previously you could set the stripe_context to only a string value. Now you can use the new class as well
    • ⚠️ Change EventNotification (formerly known as ThinEvent)'s context property from string to StripeContext
  • #​1684 ⚠️ Drop support for Ruby < 2.6 & clarify version policy

    • Read our new language version support policy
      • ⚠️ In this release, we drop support for Ruby 2.3, 2.4, and 2.5
      • Ruby 2.6 support is deprecated and will be removed in the next scheduled major release (March 2026)
  • #​1651 ⚠️ Build SDK w/ V2 OpenAPI spec

    • ⚠️ The delete methods for v2 APIs (the ones in the StripeClient.v2 namespace) now return a V2DeletedObject which has the id of the object that has been deleted and a string representing the type of the object that has been deleted.
    • ⚠️ Deeply nested param hashes with no properties no longer have classes generated for them. Instead, they're typed as T::Hash[String, T.untyped]. Because there were no params, it's unlikely you were using these classes.
  • #​1650 ⚠️ Add strongly typed EventNotifications
    We've overhauled how V2 Events are handled in the SDK! This approach should provide a lot more information at authoring and compile time, leading to more robust integrations. As part of this process, there are a number of changes to be aware of.

    • Added matching EventNotification classes to every v2 Event
      • For example, there's now a V1BillingMeterErrorReportTriggeredEventNotification to match the existing V1BillingMeterErrorReportTriggeredEvent
      • Each notification class defines a fetch_event() method to retrieve its corresponding event
      • For events with related objects, there's a fetch_related_object() method that performs the API call and casts the response to the correct type on both the EventNotification and Event.
    • ⚠️ Rename function StripeClient.parse_thin_event to StripeClient.parse_event_notification and remove the Stripe::ThinEvent class.
      • This function now returns a Stripe::V2::Core::EventNotification (which is the shared base class that all of the more specific Stripe::Event::*EventNotification classes share) instead of Stripe::ThinEvent. When applicable, these event notifications will have the relatedObject property and a fetch_related_object() function. They also have a fetch_event() method to retrieve their corresponding Stripe::Events::*Event instance.
      • If you parse an event the SDK doesn't have types for (e.g. it's newer than the SDK you're using), you'll get an instance of Stripe::Events::UnknownEventNotification instead of a more specific type. It has both the related_object property and the fetch_related_object() function (but they may be/return nil)
    • ⚠️ Move all Event Classes into the Events module
      • For example, Stripe::V1BillingMeterErrorReportTriggeredEvent is now Stripe::Events::V1BillingMeterErrorReportTriggeredEvent
  • #​1670 ⚠️ Unify resource and service method parameters into one class

    • ⚠️ Resource and service request parameter types have been moved to the top-level and are shared.
      • For example, Stripe::Account::CreateParams and Stripe::AccountService::CreateParams have moved to Stripe::AccountCreateParams
      • This change only affects users who use Sorbet types for parameters
  • #​1643, #​1667, #​1680, #​1678 Update generated code based on incoming API changes in the 2025-09-30.clover API version.

    • ⚠️ Remove support for balance_report and payout_reconciliation_report on AccountSession::Component and AccountSession::CreateParams::Component
    • Change Invoice.id to be required (i.e. not nilable).
    • Add support for new resource BalanceSettings
    • Add support for retrieve and update methods on resource BalanceSettings
    • Add support for source on Discount
    • Remove support for coupon on Discount, PromotionCode::CreateParams, and PromotionCode
    • Add support for mb_way_paymentson Account::Capability, Account::CreateParams::Capability, and Account::UpdateParams::Capability
    • Add support for trial_update_behavior on BillingPortal::Configuration::CreateParams::Feature::SubscriptionUpdate, BillingPortal::Configuration::Feature::SubscriptionUpdate, and BillingPortal::Configuration::UpdateParams::Feature::SubscriptionUpdate
    • Add support for mb_way on Charge::PaymentMethodDetail, ConfirmationToken::CreateParams::PaymentMethodDatum, ConfirmationToken::PaymentMethodPreview, PaymentIntent::ConfirmParams::PaymentMethodDatum, PaymentIntent::ConfirmParams::PaymentMethodOption, PaymentIntent::CreateParams::PaymentMethodDatum, PaymentIntent::CreateParams::PaymentMethodOption, PaymentIntent::PaymentMethodOption, PaymentIntent::UpdateParams::PaymentMethodDatum, PaymentIntent::UpdateParams::PaymentMethodOption, PaymentMethod::CreateParams, PaymentMethod, SetupIntent::ConfirmParams::PaymentMethodDatum, SetupIntent::CreateParams::PaymentMethodDatum, and SetupIntent::UpdateParams::PaymentMethodDatum
    • Add support for branding_settings and name_collection on Checkout::Session::CreateParams and Checkout::Session
    • Add support for excluded_payment_method_types on Checkout::Session::CreateParams, Checkout::Session, PaymentIntent::ConfirmParams, and PaymentIntent::UpdateParams
    • Add support for unit_label on Checkout::Session::CreateParams::LineItem::PriceDatum::ProductDatum, Invoice::AddLinesParams::Line::PriceDatum::ProductDatum, Invoice::UpdateLinesParams::Line::PriceDatum::ProductDatum, InvoiceLineItem::UpdateParams::PriceDatum::ProductDatum, and PaymentLink::CreateParams::LineItem::PriceDatum::ProductDatum
    • Add support for alma, billie, and satispay on Checkout::Session::CreateParams::PaymentMethodOption and Checkout::Session::PaymentMethodOption
    • Add support for demo_pay on Checkout::Session::CreateParams::PaymentMethodOption
    • Add support for capture_method on Checkout::Session::CreateParams::PaymentMethodOption::Affirm, Checkout::Session::CreateParams::PaymentMethodOption::AfterpayClearpay, Checkout::Session::CreateParams::PaymentMethodOption::AmazonPay, Checkout::Session::CreateParams::PaymentMethodOption::Card, Checkout::Session::CreateParams::PaymentMethodOption::Cashapp, Checkout::Session::CreateParams::PaymentMethodOption::Klarna, Checkout::Session::CreateParams::PaymentMethodOption::Link, Checkout::Session::CreateParams::PaymentMethodOption::Mobilepay, Checkout::Session::CreateParams::PaymentMethodOption::RevolutPay, Checkout::Session::PaymentMethodOption::Affirm, Checkout::Session::PaymentMethodOption::AfterpayClearpay, Checkout::Session::PaymentMethodOption::AmazonPay, Checkout::Session::PaymentMethodOption::Card, Checkout::Session::PaymentMethodOption::Cashapp, Checkout::Session::PaymentMethodOption::Klarna, Checkout::Session::PaymentMethodOption::Link, Checkout::Session::PaymentMethodOption::Mobilepay, and Checkout::Session::PaymentMethodOption::RevolutPay
    • Add support for flexible on Checkout::Session::CreateParams::SubscriptionDatum::BillingMode, Invoice::CreatePreviewParams::ScheduleDetail::BillingMode, Invoice::CreatePreviewParams::SubscriptionDetail::BillingMode, Quote::CreateParams::SubscriptionDatum::BillingMode, Quote::SubscriptionDatum::BillingMode, Subscription::BillingMode, Subscription::CreateParams::BillingMode, Subscription::MigrateParams::BillingMode, SubscriptionSchedule::BillingMode, and SubscriptionSchedule::CreateParams::BillingMode
    • Add support for business_name and individual_name on Checkout::Session::CollectedInformation, Checkout::Session::CustomerDetail, Customer::CreateParams, Customer::UpdateParams, and Customer
    • Add support for chargeback_loss_reason_code on Dispute::PaymentMethodDetail::Klarna
    • Add support for net_amount and proration_details on InvoiceItem
    • Remove support for iterations on Invoice::CreatePreviewParams::ScheduleDetail::Phase, SubscriptionSchedule::CreateParams::Phase, and SubscriptionSchedule::UpdateParams::Phase
    • Add support for fraud_disputability_likelihood and risk_assessment on Issuing::Authorization::CreateParams
    • Add support for second_line on Issuing::Card
    • Add support for fr_meal_voucher_conecs on PaymentMethodConfiguration::CreateParams and PaymentMethodConfiguration::UpdateParams
    • Remove support for link and pay_by_bank on PaymentMethod::UpdateParams
    • Add support for promotion on PromotionCode::CreateParams and PromotionCode
    • Add support for provider on Tax::Settings::Default
    • Add support for bbpos_wisepad3 on Terminal::Configuration::CreateParams, Terminal::Configuration::UpdateParams, and Terminal::Configuration
    • Add support for address_kana, address_kanji, display_name_kana, display_name_kanji, and phone on Terminal::Location::CreateParams, Terminal::Location::UpdateParams, and Terminal::Location
    • Change Terminal::Location::CreateParams.address to be optional
    • Change Terminal::Location::CreateParams.display_name to be optional

v15.5.0

Compare Source

  • #​1638 Add section on private preview SDKs in readme
  • #​1631 Update generated code. This release changes the pinned API version to 2025-08-27.basil.
    • Add support for balance_report, payout_details, and payout_reconciliation_report on AccountSession::Component and AccountSession::CreateParams::Component
    • Add support for name on BillingPortal::Configuration::CreateParams, BillingPortal::Configuration::UpdateParams, and BillingPortal::Configuration
    • Add support for installments on Charge::PaymentMethodDetail::Alma
    • Add support for transaction_id on Charge::PaymentMethodDetail::Alma, Charge::PaymentMethodDetail::AmazonPay, Charge::PaymentMethodDetail::Billie, Charge::PaymentMethodDetail::KakaoPay, Charge::PaymentMethodDetail::KrCard, Charge::PaymentMethodDetail::NaverPay, Charge::PaymentMethodDetail::Payco, Charge::PaymentMethodDetail::RevolutPay, Charge::PaymentMethodDetail::SamsungPay, and Charge::PaymentMethodDetail::Satispay
    • Add support for location and reader on Charge::PaymentMethodDetail::Paynow
    • Add support for amount_includes_iof on Checkout::Session::CreateParams::PaymentMethodOption::Pix, Checkout::Session::PaymentMethodOption::Pix, PaymentIntent::ConfirmParams::PaymentMethodOption::Pix, PaymentIntent::CreateParams::PaymentMethodOption::Pix, PaymentIntent::PaymentMethodOption::Pix, and PaymentIntent::UpdateParams::PaymentMethodOption::Pix
    • Add support for metadata and period on Invoice::CreatePreviewParams::ScheduleDetail::Phase::AddInvoiceItem, Subscription::CreateParams::AddInvoiceItem, Subscription::UpdateParams::AddInvoiceItem, SubscriptionSchedule::CreateParams::Phase::AddInvoiceItem, SubscriptionSchedule::Phase::AddInvoiceItem, and SubscriptionSchedule::UpdateParams::Phase::AddInvoiceItem
    • Add support for exp_month and exp_year on Issuing::Card::CreateParams
    • Add support for excluded_payment_method_types on PaymentIntent::CreateParams and PaymentIntent
    • Add support for payout_method on Payout::CreateParams and Payout
    • Add support for mxn on Terminal::Configuration::CreateParams::Tipping, Terminal::Configuration::Tipping, and Terminal::Configuration::UpdateParams::Tipping
    • Add support for card on Terminal::Reader::PresentPaymentMethodParams
  • #​1637 Add stripe_client usage tracking for StripeClient
  • #​1633 Remove double T.nilable before every emptyable field in update methods

v15.4.0

Compare Source

This release changes the pinned API version to 2025-07-30.basil.

  • #​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

v15.3.0

Compare Source

This release changes the pinned API version to 2025-06-30.basil.

  • #​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
    • Add support for crypto_payments on Account::Capability, Account::CreateParams::Capability, and Account::UpdateParams::Capability
    • Add support for proof_of_address on Account::CreateParams::Document and Account::UpdateParams::Document
    • Add support for monthly_payout_days and weekly_payout_days on Account::CreateParams::Setting::Payout::Schedule, Account::Setting::Payout::Schedule, and Account::UpdateParams::Setting::Payout::Schedule
    • Change Account::Setting::Invoice.hosted_payment_method_save to be required
    • Add support for crypto on Charge::PaymentMethodDetail, ConfirmationToken::CreateParams::PaymentMethodDatum, ConfirmationToken::PaymentMethodPreview, PaymentIntent::ConfirmParams::PaymentMethodDatum, PaymentIntent::ConfirmParams::PaymentMethodOption, PaymentIntent::CreateParams::PaymentMethodDatum, PaymentIntent::CreateParams::PaymentMethodOption, PaymentIntent::PaymentMethodOption, PaymentIntent::UpdateParams::PaymentMethodDatum, PaymentIntent::UpdateParams::PaymentMethodOption, PaymentMethod::CreateParams, PaymentMethod, SetupIntent::ConfirmParams::PaymentMethodDatum, SetupIntent::CreateParams::PaymentMethodDatum, and SetupIntent::UpdateParams::PaymentMethodDatum
    • Change type of Charge::PaymentMethodDetail::Card::Installment::Plan.type, ConfirmationToken::CreateParams::PaymentMethodOption::Card::Installment::Plan.type, ConfirmationToken::PaymentMethodOption::Card::Installment::Plan.type, Invoice::CreateParams::PaymentSetting::PaymentMethodOption::Card::Installment::Plan.type, Invoice::UpdateParams::PaymentSetting::PaymentMethodOption::Card::Installment::Plan.type, PaymentIntent::ConfirmParams::PaymentMethodOption::Card::Installment::Plan.type, PaymentIntent::CreateParams::PaymentMethodOption::Card::Installment::Plan.type, PaymentIntent::PaymentMethodOption::Card::Installment::AvailablePlan.type, PaymentIntent::PaymentMethodOption::Card::Installment::Plan.type, and PaymentIntent::UpdateParams::PaymentMethodOption::Card::Installment::Plan.type from literal('fixed_count') to enum('bonus'|'fixed_count'|'revolving')
    • Add support for subscriptions on Checkout::Session::CreateParams::PaymentMethodOption::Klarna, PaymentIntent::ConfirmParams::PaymentMethodOption::Klarna, PaymentIntent::CreateParams::PaymentMethodOption::Klarna, and PaymentIntent::UpdateParams::PaymentMethodOption::Klarna
    • Add support for billing_mode on Checkout::Session::CreateParams::SubscriptionDatum, Invoice::CreatePreviewParams::ScheduleDetail, Invoice::CreatePreviewParams::SubscriptionDetail, Quote::CreateParams::SubscriptionDatum, Quote::SubscriptionDatum, Subscription::CreateParams, SubscriptionSchedule::CreateParams, SubscriptionSchedule, and Subscription
    • Change type of Dispute.enhanced_eligibility_types from literal('visa_compelling_evidence_3') to enum('visa_compelling_evidence_3'|'visa_compliance')
    • Add support for related_person on Identity::VerificationSession::CreateParams and Identity::VerificationSession
    • Add support for matching on Identity::VerificationSession::Option
    • Add support for klarna on Mandate::PaymentMethodDetail, SetupIntent::ConfirmParams::PaymentMethodOption, SetupIntent::CreateParams::PaymentMethodOption, SetupIntent::PaymentMethodOption, and SetupIntent::UpdateParams::PaymentMethodOption
    • Add support for on_demand on PaymentIntent::ConfirmParams::PaymentMethodOption::Klarna, PaymentIntent::CreateParams::PaymentMethodOption::Klarna, and PaymentIntent::UpdateParams::PaymentMethodOption::Klarna
    • Change type of PaymentIntent::ConfirmParams::PaymentMethodOption::Klarna.setup_future_usage, PaymentIntent::CreateParams::PaymentMethodOption::Klarna.setup_future_usage, PaymentIntent::PaymentMethodOption::Klarna.setup_future_usage, and PaymentIntent::UpdateParams::PaymentMethodOption::Klarna.setup_future_usage from literal('none') to enum('none'|'off_session'|'on_session')
    • Add support for ua on Tax::Registration::CountryOption and Tax::Registration::CreateParams::CountryOption
    • Change type of Terminal::Location::UpdateParams.display_name from string to emptyable(string)
    • Add support for collect_payment_method and confirm_payment_intent on Terminal::Reader::Action
    • Add support for status on Treasury::FinancialAccount::ListParams
  • #​1615 Update README to mention that APIResource.request was removed
  • #​1619 Updated StripeClient snippets in README
  • #​1620 Fix raw_request example in README

v15.2.1

Compare Source

  • #​1617 Fix nil requestor in Webhook.construct_event to allow for event data refresh
    • Fix bug where Event constructed from Webhook.construct_event could not be refreshed due to a nil APIRequestor

v15.2.0

Compare Source

This release changes the pinned API version to 2025-05-28.basil.

  • #​1605 Update generated code
    • Add support for attach_payment method on resource Invoice
    • Add support for collect_inputs method on resource Terminal::Reader
    • Add support for succeed_input_collection and timeout_input_collection test helper methods on resource Terminal::Reader
    • Add support for pix_payments on Account::Capability, Account::CreateParams::Capability, and Account::UpdateParams::Capability
    • Add support for disputes_list and payment_disputes on AccountSession::Component and AccountSession::CreateParams::Component
    • Add support for refund_and_dispute_prefunding on Balance
    • Add support for balance_type on BalanceTransaction
    • Change Billing::Alert::CreateParams::UsageThreshold.meter to be required
    • Add support for location and reader on Charge::PaymentMethodDetail::Affirm and Charge::PaymentMethodDetail::WechatPay
    • Add support for payment_method_remove on Checkout::Session::CreateParams::SavedPaymentMethodOption
    • Add support for setup_future_usage on Checkout::Session::PaymentMethodOption::NaverPay
    • Change ConfirmationToken::PaymentMethodPreview::NaverPay.buyer_id and PaymentMethod::NaverPay.buyer_id to be required
    • Add support for post_payment_amount and pre_payment_amount on CreditNote
    • Add support for sex, unparsed_place_of_birth, and unparsed_sex on Identity::VerificationReport::Document and Identity::VerificationSession::VerifiedOutput
    • Add support for billing_thresholds on Invoice::CreatePreviewParams::ScheduleDetail::Phase::Item, Invoice::CreatePreviewParams::ScheduleDetail::Phase, Invoice::CreatePreviewParams::SubscriptionDetail::Item, Subscription::CreateParams::Item, Subscription::CreateParams, Subscription::UpdateParams::Item, Subscription::UpdateParams, SubscriptionItem::CreateParams, SubscriptionItem::UpdateParams, SubscriptionItem, SubscriptionSchedule::CreateParams::DefaultSetting, SubscriptionSchedule::CreateParams::Phase::Item, SubscriptionSchedule::CreateParams::Phase, SubscriptionSchedule::DefaultSetting, SubscriptionSchedule::Phase::Item, SubscriptionSchedule::Phase, SubscriptionSchedule::UpdateParams::DefaultSetting, SubscriptionSchedule::UpdateParams::Phase::Item, SubscriptionSchedule::UpdateParams::Phase, and Subscription
    • Add support for satispay on PaymentIntent::ConfirmParams::PaymentMethodOption, PaymentIntent::CreateParams::PaymentMethodOption, PaymentIntent::PaymentMethodOption, and PaymentIntent::UpdateParams::PaymentMethodOption
    • Add support for capture_method on PaymentIntent::PaymentMethodOption::Billie
    • Add support for kakao_pay, kr_card, naver_pay, payco, and samsung_pay on PaymentMethodConfiguration::CreateParams, PaymentMethodConfiguration::UpdateParams, and PaymentMethodConfiguration
    • Add support for network_decline_code on Refund::DestinationDetail::Paypal
    • Add support for metadata on Tax::Calculation::CreateParams::LineItem and Tax::CalculationLineItem
    • Add support for return_url on Terminal::Reader::Action::ProcessPaymentIntent::ProcessConfig and Terminal::Reader::ProcessPaymentIntentParams::ProcessConfig
    • Add support for collect_inputs on Terminal::Reader::Action
  • #​1601 Adds CONTRIBUTING.md

v15.1.0

Compare Source

This release changes the pinned API version to 2025-04-30.basil.

  • #​1566 Update generated code
    • Add support for minority_owned_business_designation on Account::BusinessProfile, Account::CreateParams::BusinessProfile, and Account::UpdateParams::BusinessProfile
    • Add support for registration_date on Account::Company, Account::CreateParams::Company, Account::UpdateParams::Company, and Token::CreateParams::Account::Company
    • Add support for us_cfpb_data on Account::CreateParams, Account::UpdateParams, AccountPerson::CreateParams, AccountPerson::UpdateParams, Person, and Token::CreateParams::Person
    • Add support for tax_id on Charge::BillingDetail, ConfirmationToken::CreateParams::PaymentMethodDatum::BillingDetail, ConfirmationToken::PaymentMethodPreview::BillingDetail, PaymentIntent::ConfirmParams::PaymentMethodDatum::BillingDetail, PaymentIntent::CreateParams::PaymentMethodDatum::BillingDetail, PaymentIntent::UpdateParams::PaymentMethodDatum::BillingDetail, PaymentMethod::BillingDetail, PaymentMethod::CreateParams::BillingDetail, PaymentMethod::UpdateParams::BillingDetail, SetupIntent::ConfirmParams::PaymentMethodDatum::BillingDetail, SetupIntent::CreateParams::PaymentMethodDatum::BillingDetail, SetupIntent::UpdateParams::PaymentMethodDatum::BillingDetail, TestHelpers::ConfirmationToken::CreateParams::PaymentMethodDatum::BillingDetail, and Treasury::OutboundPayment::CreateParams::DestinationPaymentMethodDatum::BillingDetail
    • Add support for wallet_options on Checkout::Session::CreateParams and Checkout::Session
    • Add support for provider on Checkout::Session::AutomaticTax, Invoice::AutomaticTax, and Quote::AutomaticTax
    • Add support for payment_method_options on ConfirmationToken::CreateParams and TestHelpers::ConfirmationToken::CreateParams
    • Add support for installments on ConfirmationToken::PaymentMethodOption::Card
    • Add support for context on Event
    • Change type of InvoiceLineItem::Parent::SubscriptionItemDetail.subscription from string to nullable(string)
    • Add support for billie on PaymentIntent::ConfirmParams::PaymentMethodOption, PaymentIntent::CreateParams::PaymentMethodOption, PaymentIntent::PaymentMethodOption, and PaymentIntent::UpdateParams::PaymentMethodOption
    • Add support for pix on PaymentMethodConfiguration::CreateParams, PaymentMethodConfiguration::UpdateParams, and PaymentMethodConfiguration
    • Add support for klarna on PaymentMethodDomain
    • Add support for pending_reason on Refund
    • Change type of Tax::CalculationLineItem.reference from nullable(string) to string
    • Add support for aw, az, bd, bf, bj, cm, cv, et, in, kg, la, and ph on Tax::Registration::CountryOption and Tax::Registration::CreateParams::CountryOption
  • #​1585 Updated rubocop from 1.57.2 to 1.75.2
  • #​1583 Include new Ruby 3.4 in CI
  • #​1581 Added rubocop exclusion for generated tests

v15.0.0

Compare Source

Breaking change
  • #​1574 Rename object_id in V2::Core::EventService::ListParams to object_id_

    • ⚠️ Change name of parameter from object_id to object_id_ on Stripe::V2::Core::EventService::ListParams to avoid conflict with Ruby native attribute, as found in #​1567
    • This is a no-op unless you are using this specific parameter that was introduced in v14.0.0
  • #​1576 Explicitly pass through custom headers in retrieve

    • Fix custom options passing for resource-based retrieve
  • #​1571 Validate all instance variable keys returned from the API

    • Validate all keys returned from the API, including custom response fields, to make sure they can be set in an instance variable, as brought up in #​1564
      • We do not set instance variables for invalid field names (as defined by the Ruby spec). We recommend for custom hash map response fields, use the [] accessor.
        c = client.v1.customers.retrieve("cus_123")
        c.metadata["invalid-variable-name!"]
        c.metadata["valid_key_name_works_too"]
  • #​1575 Remove unused youtube playlist link

  • #​1573 Remove link for stale youtube video playlist

v14.0.0

Compare Source

  • #​1559 Add RBI annotations for fields and params

    • Adds explicit field types for resources and parameters for methods, and add RBI static annotations for all resources and services
      image
    • See the wiki for more details
  • #​1543 Support for APIs in the new API version 2025-03-31.basil

    This release changes the pinned API version to 2025-03-31.basil.

⚠️ Breaking changes due to changes in the Stripe API

Please review details for the breaking changes and alternatives in the Stripe API changelog before upgrading.

  • Remove support for resources SubscriptionItemUsageRecordSummary and SubscriptionItemUsageRecord
  • Remove support for create method on resource SubscriptionItemUsageRecord
  • Remove support for list method on resource SubscriptionItemUsageRecordSummary
  • Remove support for upcomingLines and upcoming methods on resource Invoice
⚠️ Other breaking changes in the SDK
  • #​1553 Remove public idempotent_replayed? method
    • ⚠️ Remove the idempotent_replayed? method on StripeError
      • The information is accessible indirectly via the raw response headers, StripeResponse.http_headers. For example, use resource.last_response.http_headers['Idempotent-Replayed']
Additions to the Stripe API
  • Add support for new resource InvoicePayment
  • Add support for list and retrieve methods on resource InvoicePayment

v13.5.1

Compare Source

  • #​1576 Explicitly pass through custom headers in retrieve

See the changelog for more details.

v13.5.0

Compare Source

  • #​1534 Update generated code
    • Fixed Stripe::InvoiceLineItem.update method.
  • #​1536 Fix InvoiceLineItem parent class
    • Fix bug where Stripe::InvoiceLineItem had the incorrect parent class, making it error when update was called
  • #​1533 add codeowners file

v13.4.1

Compare Source

  • #​1528 Update generated code
    • ⚠️ Bugfix: invoice and line_item_id can be passed to update method in InvoiceLineItem.

v13.4.0

Compare Source

  • #​1510 Update generated code
    • Add support for close method on resource Treasury.FinancialAccount
  • #​1521 pipe rubocop output to devnull
  • #​1519 Fixed typos in CONTRIBUTING.MD
  • #​1513 add justfile
  • #​1515 Added CONTRIBUTING.md file

v13.3.1

Compare Source

  • #​1512 Import global configuration for options not available on StripeClient options
    • Fixes bug where StripeClient was not falling back to global options for options that are not available to be set per-client
  • #​1516 ThinEvent reason and livemode
    • Add livemode and optional reason fields to ThinEvent
  • #​1518 Pin ubuntu version in Test action
  • #​1508 Added pull request template

v13.3.0

Compare Source

  • #​1500 This release changes the pinned API version to 2024-12-18.acacia.

  • #​1507 Pass requestor to all deserialized objects including lists

    • Fixes bug where StripeObject retrieved from lists could not be used to make requests, such as refresh

v13.2.0

Compare Source

  • #​1486 This release changes the pinned API version to 2024-11-20.acacia.
    • Add support for respond test helper method on resource Issuing.Authorization

v13.1.2

Compare Source

  • #​1488 Fix incorrect key in param encoding

v13.1.1

Compare Source

  • #​1483 Fix APIResource#retrieve not sending stripe_version

v13.1.0

Compare Source

  • #​1472 This release changes the pinned API version to 2024-10-28.acacia.
    • Add support for submit_card test helper method on resource Issuing.Card
    • Add support for new resource V2.EventDestinations
    • Add support for create, retrieve, update, list, delete, disable, enable and ping methods on resource V2.EventDestinations
  • #​1476 Fix APIResource#retrieve bug not returning instance of custom resources
    • Fix bug in APIResource#refresh and APIResource#retrieve where they returned an instance of StripeObject for custom resources. They should now return the instance of the custom resource.

v13.0.2

Compare Source

  • #​1473 Always return the result of APIResource#refresh in APIResource.retrieve

    • Fix bug where we would not return the mutated self object when calling APIResource.retrieve

v13.0.1

Compare Source

  • #​1471 update object tags for meter-related classes

    • fixes a bug where the object property of the MeterEvent, MeterEventAdjustment, and MeterEventSession didn't match the server.
  • #​1470 Cleaned up examples and added documentation

v13.0.0

Compare Source

  • #​1458 Support for APIs in the new API version 2024-09-30.acacia

    This release changes the pinned API version to 2024-09-30.acacia. Please read the API Changelog and carefully review the API changes before upgrading.

⚠️ Breaking changes

Please refer to our migration guide for v13 for more information about the backwards incompatible changes.

StripeClient and related changes
  • Move StripeClient and requestor logic to APIRequestor.
    • StripeClient#request is still available, but is deprecated and will be removed. We encourage StripeClient#raw_request as a replacement (see other breaking changes for more detail).
  • Repurpose and introduce StripeClient as the the entry-point to the service-based pattern, a new interface for calling the Stripe API with many benefits over the existing resource-based paradigm. Services are available under the v1 and v2 accessors.
    • No global config: you can simultaneously use multiple clients with different configuration options (such as API keys)
    • No extra API calls. All API endpoints can be accessed with a single method call. You don't have to call retrieve before doing an update.
    • No static methods. Much easier mocking.
Other breaking changes
  • Adjust default values around retries for HTTP requests. You can use the old defaults by setting them explicitly. New values are:
    • max retries: 0 -> 2
    • max retry delay (seconds) 2 -> 5
  • Remove StripeClient#connection_manager. This was a legacy method from years ago.
  • Singleton retrieve method now requires params to be passed as the first argument. Existing calls to singleton retrieve method with only opts argument will have to be updated to account for the addition of params argument.
    params = { expand: ["available"] }
    opts = { stripe_account: "acct_123" }

❌ No longer works

  Stripe::Balance.retrieve(opts)

✅ Correct way to call retrieve method

  Stripe::Balance.retrieve(params, opts)
  ```
  • Moved the Stripe.raw_request() method that was recently added to StripeClient. This will use the configuration set on the StripeClient instead of the global configuration used before.
  • Remove APIResource.request. Instead, use StripeClient#raw_request now.

Instead of

  Stripe::APIResource.request(:get, "/v1/endpoint", params, opts)

do

  client = Stripe::StripeClient.new(...)
  resp = client.raw_request(:get, "/v1/endpoint", params: params, opts: opts)
  ```
  • Add an additional parameter to APIResource.execute_resource_request. However, we discourage use of this in favor of StripeClient#raw_request.
    APIResource.execute_resource_request(method, url, params = {}, opts = {}, usage = [])

is now, with base_address being one of [:api, :files, :connect, :meter_events]

  APIResource.execute_resource_request(method, url, base_address = :api, params = {}, opts = {}, usage = [])
  ```
  • Change parameters to APIRequestor.execute_request (previously StripeClient.execute_request). It now returns all request options from our internal request framework as the second value in the returned tuple, instead of only the API key used:

Before

obj, api_key = StripeClient.execute_request(method, path, api_base: nil,
                                            api_key: nil, headers: {}, params: {}, usage: [])

is now, with base_address being one of [:api, :files, :connect, :meter_events]

obj, opts = APIRequestor.execute_request(method, path, base_address,
                                        params: {}, opts: {}, usage: [])
puts(opts) # will output {api_key: "sk_test_123", stripe_account: "acct_123"}
```
Additions
  • Add support for new Usage Billing APIs Billing.MeterEvent, Billing.MeterEventAdjustments, Billing.MeterEventSession, Billing.MeterEventStream and the new Events API Core.Events in the v2 namespace
  • Add method parse_thin_event() on the StripeClient class to parse thin events.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/stripe-17.x branch from 1901fca to 78e62fc Compare October 16, 2025 23:09
@renovate renovate bot force-pushed the renovate/stripe-17.x branch from 78e62fc to 7848479 Compare October 30, 2025 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant