25.0.0
25.0.0 2025-11-03
This major version introduces many small breaking changes. Please see MIGRATING.md to help you migrate.
All
- [Added] You can now access the HTTP status code of failed API requests by inspecting
userInfo[STPError.httpStatusCodeKey]on the error. - [Added] You can now access the Stripe request ID of failed API requests by inspecting
userInfo[STPError.stripeRequestIDKey]on the error. - [Changed] Most delegate protocols are now marked as
@MainActor @preconcurrencyto improve support for Swift strict concurrency. This includes:STPApplePayContextDelegate,STPAuthenticationContext,STPPaymentCardTextFieldDelegate,STPCardFormViewDelegate,AddressViewControllerDelegate, andSTPAUBECSDebitFormViewDelegate.
PaymentSheet
- [Fixed] PaymentSheet, PaymentSheet.FlowController, and EmbeddedPaymentElement return errors when loading with invalid configuration instead of loading in a degraded state.
- [Added] Added async versions of all completion-block-based PaymentSheet and PaymentSheet.FlowController methods.
- [Added] CustomerSessions is now generally available.
- [Added] ConfirmationTokens is now generally available.
- [Changed] Replaced
ExternalPaymentMethodConfirmHandlerwith an async equivalent. - [Changed] Replaced
IntentConfiguration.ConfirmHandlerwith an async equivalent. - [Changed] Replaced
PaymentSheet.ApplePayConfiguration.Handlerscompletion-block basedauthorizationResultHandlerwith an async equivalent. - [Removed] Removed
PaymentSheet.reset()in favor ofPaymentSheet.resetCustomer(). - [Removed] Removed
PaymentSheet.CustomerConfiguration.ephemeralKeySecret.
Financial Connections
- [Added] Added async versions of
present(from:)andpresentForToken(from:).
CustomerSheet
- [Added] Added an async version of
present(from:). - [Added] CustomerSessions is now generally available.
STPApplePayContext
- [Added] Added async delegate methods.
- [Changed] Replaces the
ApplePayContextDelegate.didCreatePaymentMethodmethod with an async version.
Payments
- [Added]
STPPaymentHandlerandSTPAPIClientmethods with completion blocks now have async equivalents. - [Changed]
STPPaymentIntent.paymentMethodTypesandSTPSetupIntent.paymentMethodTypesnow return[STPPaymentMethodType]instead of[NSNumber]in Swift for better ergonomics. - [Changed]
STPSetupIntentConfirmParams.useStripeSDK,STPPaymentIntentConfirmParams.useStripeSDK,STPConnectAccountCompanyParams.directorsProvided,STPConnectAccountCompanyParams.ownersProvided, andSTPConnectAccountParams.tosShownAndAcceptednow usesBool?instead ofNSNumber?in Swift for better ergonomics. - [Changed] Renamed STPPaymentHandler's
confirmandhandleNextActionmethods and added async versions. - [Changed] Renamed STPPaymentIntentParams to STPPaymentIntentConfirmParams
- [Changed]
linkedAccountonSTPPaymentMethodUSBankAccounthas been renamed tofinancialConnectionsAccount. - [Changed] Changed
STPPaymentMethodType.descriptionto be more consistent. - [Removed] Removed
requiresSourceandrequiresSourceActionstatuses fromSTPPaymentIntentStatus. Also removedSTPPaymentIntentSourceActionType. - [Removed] Removed deprecated
STPPaymentIntentParams.saveSourceToCustomerproperty. UsesavePaymentMethodinstead. - [Removed] Removed
singleUsePaymentMethodSTPPaymentMethodParams initializer. - [Removed] Removed STPPaymentMethod
metadata. - [Removed] Sources are no longer supported for non-card payment methods or cards that require 3DS authentication. Please migrate to the Payment Methods API.
- [Removed] Removed Sofort. Migrate to SEPA Debit or other EU payment methods. See this page for more information.
- [Removed] Removed Giropay. Use alternative payment methods instead. See this page for more information.