API Changelog Brief

Stripe API breaking changes and deprecations, Sep 5 to Oct 5, 2026

29 entries on Stripe's public changelog, published 2026-09-05 to 2026-10-05, are typed as breaking and none as a deprecation. All 29 belong to the 2026-09-30.endive release and carry its release date, 2026-09-30, as explained on method.html.

The data records no deadline date for any of the 29. One entry is titled "Deprecates the payment request button": it carries Stripe's breaking-change label and is counted here as breaking.

See also: all 68 Stripe entries, breaking changes across the four vendors and the index of this issue.

Read on 2026-10-05: https://docs.stripe.com/changelog

DateTypeChange
2026-09-30breakingUnifies the billing cycle anchor format across Subscriptions and Invoices
In API version 2026-09-30.endive, billing_cycle_anchor on Subscription update and resume and on Invoice preview subscription_details takes an object with a type field instead of a string, enum or timestamp.
2026-09-30breakingAdds address validation errors for CMRAs and registered agents to Accounts v1 and Accounts v2
Requirement errors can now carry invalid_address_cmra_address and invalid_address_registered_agent_address on Accounts, Persons, Capabilities and bank accounts.
2026-09-30breakingAdds rejected status for Accounts v2 capabilities
Accounts v2 capabilities can report a rejected status with eight new status_details codes that separate Stripe rejections from platform rejections.
2026-09-30breakingReplaces the generic fraud rejection reason with specific fraud reasons
The Account reject reason becomes an enum: fraud is removed and returns a 400, replaced by specific fraud reasons plus credit, while terms_of_service and other remain.
2026-09-30breakingRemoves the configurations parameter from the Account Links v2 API
The configurations parameter is removed from the account_onboarding and account_update use cases of v2 Account Links; Stripe now determines the configurations itself.
2026-09-30breakingStandardizes SEPA Direct Debit payment settings in the Accounts API
settings.sepa_debit_payments.creditor_id now returns Stripe's shared SEPA Creditor Identifier instead of being omitted, and a custom creditor ID can be set on account create (v1) and create or update (v2).
2026-09-30breakingShows errors for eventually due requirements
requirements.errors and future_requirements.errors on Accounts, Persons and Capabilities, and their updated events, can now include errors for eventually_due requirements.
2026-09-30breakingDistinguishes platform-initiated account rejections from Stripe rejections
disabled_reason on v1 Account requirements now returns rejected.platform_fraud, rejected.platform_terms_of_service or rejected.platform_other when the platform rejected the account.
2026-09-30breakingRenames the countries filter to country on Financial Connections Sessions
filters.countries (an array) is replaced by filters.country (a single string) on Financial Connections Sessions, and the old name is rejected.
2026-09-30breakingUpdates Financial Connections Session defaults
Financial Connections Sessions get new defaults: no account limit, manual entry disabled, no payment-method-support requirement, all account subcategories, and the merchant country as the country filter.
2026-09-30breakingRemoves the payment method types parameter from Checkout Sessions
payment_method_types is removed from Checkout Session creation and now returns a 400; a new allowed_payment_method_types parameter filters out incompatible types without erroring.
2026-09-30breakingAdds support for Data Share Only for 3D Secure authentication
three_d_secure.result can be data_share_only on Charges, SetupAttempts and Payment Records, and the three_d_secure object is now populated for those payments instead of null.
2026-09-30breakingMakes Payment Evaluation signal scores nullable
Radar Payment Evaluation signal scores are nullable, with an unavailable score returned as null instead of -1; Radar Standard users get null scores and need this API version or later for Payment Evaluations.
2026-09-30breakingRemoves PayTo-specific fields from Payment Methods
The payto parameter is removed from Payment Method update and is now rejected; the values it accepted were never stored.
2026-09-30breakingEnforces collection of billing address parameters for non-EEA SEPA Direct Debit payments
SEPA Direct Debit with non-EEA IBANs (including UK and Swiss) now requires billing address city and postal code in addition to line1 and country; the entry states this affects all API versions.
2026-09-30breakingRemoves the payment method types parameter from Payment Intents and Setup Intents
payment_method_types can no longer be written on PaymentIntents and SetupIntents (400 with payment_method_types_no_longer_supported); it stays as a read-only property.
2026-09-30breakingReturns specific decline codes for BLIK payment failures
BLIK failures return specific decline codes such as code_invalid, code_expired, insufficient_funds and customer_declined instead of generic_decline.
2026-09-30breakingDeprecates the payment request button
From the Endive Stripe.js version, creating a paymentRequestButton element (or the React PaymentRequestButtonElement) throws; earlier Stripe.js versions still support it.
2026-09-30breakingShows pending-authorization UI for MB WAY, Bizum, and BLIK with stripe.handleNextAction
stripe.handleNextAction now displays Stripe's own pending-authorization modal for MB WAY, Bizum and BLIK.
2026-09-30breakingRemoves support for the payment method types option in Elements
Setting paymentMethodTypes when creating Elements without an Intent, or in elements.update(), now throws an integration error.
2026-09-30breakingAdds Failed Tax Calculation error
A failed_tax_calculation error code is returned when automatic tax cannot be calculated for an undetermined reason, on tax calculations, invoice finalize and pay, and subscription create and update.
2026-09-30breakingRenames the Reserve Release reason enum value
On Reserve Releases, the reason value bulk_hold_expiry is renamed to hold_expired.
2026-09-30breakingAdds destination property and new enum values to Reserve Plans, Holds and Releases
Reserve Plans, Holds and Releases gain a destination property that separates risk reserves from settlement reserves, and Reserve Plans add manual_release and other types plus an other status.
2026-09-30breakingAdds page limit validation for dispute evidence
Updating a Dispute with evidence whose estimated compiled page count exceeds the network limit now fails with a 400 and code dispute_evidence_page_limit_exceeded, whether or not submit is true.
2026-09-30breakingRejects duplicate references for pending India card mandates
Creating a PaymentIntent or SetupIntent that reuses a reference tied to a pending India recurring card mandate now returns resource_already_exists; previously only active mandates were checked.
2026-09-30breakingSurfaces India card mandates on Charges and SetupIntents even when inactive
For India recurring card payments, the mandate on Charges and SetupIntents is returned even when registration failed and the mandate is inactive, and a new mandate can start out inactive.
2026-09-30breakingSets canConfirm to false while updates are pending in Elements with Checkout Sessions
In Elements with Checkout Sessions, canConfirm is now false while a server update is queued or in progress.
2026-09-30breakingAllows empty optional address fields in Elements with Checkout Sessions
Elements with Checkout Sessions no longer applies format validation to empty optional address fields, so customers can confirm without them.
2026-09-30breakingRequires billing details when Payment Element collection is disabled
With Elements and Checkout Sessions, checkout.confirm() throws an integration error if a required billing field set to never on the Payment Element was not supplied another way.