API Changelog Brief

Stripe API changes, October 2026: what changed

68 entries from Stripe's public changelog, published 2026-09-05 to 2026-10-05, newest first. By type: breaking: 29, change: 1, new: 38.

Every entry belongs to the 2026-09-30.endive release and carries its release date, because Stripe entry pages have no publish date. The changes apply when you upgrade to that API version or the matching Stripe.js version; one entry, on billing addresses for non-EEA SEPA Direct Debit, says it affects all API versions. The 2026-09-30.preview release is not covered.

Only the breaking changes and deprecations: Stripe API breaking changes and deprecations, Sep 5 to Oct 5, 2026.

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-30newAdds invoicing rules to Invoice Items
Invoice Items gain an invoicing_rules array; the one available rule defers credit prorations until the credited items are resolved.
2026-09-30newAdds reference and company details parameters for Billie
Optional reference and company_details parameters are available under payment_method_options.billie on PaymentIntents and Invoices, with company_details also on Subscriptions.
2026-09-30newAdds the ability to clear invoicing rules on Invoice Items
Invoice Item update accepts invoicing_rules, where an empty string clears the rules; clearing on an item already attached to an invoice returns a 400.
2026-09-30newAdds proration details for Invoice Items using classic billing mode
Proration invoice items in classic billing mode now expose proration_details.credited_items, linking each credit to the debit it offsets.
2026-09-30newMakes trial offers generally available
The ProductCatalog.TrialOffer resource is generally available for flexible billing mode, with current_trial on subscription items and a billing cycle anchor setting for trial end behavior.
2026-09-30newAdds detailed status to explain why an Invoice is uncollectable
Invoices expose status_details.uncollectible.reason, an open enum with values such as max_payment_attempts, subscription_canceled and user_forgiven.
2026-09-30newAdds support for scheduling Subscription cancellation as part of pending update
cancel_at_period_end can now be sent together with payment_behavior=pending_if_incomplete, and pending_update reports the scheduled cancellation.
2026-09-30newAdds the ability to pause and resume Subscriptions on demand
Flexible-billing subscriptions get a pause endpoint, a paused status with status_details, and pause schedules on Subscription Schedules; a paused subscription stops generating invoices.
2026-09-30newAdds the Feedback Options API
A new Billing.FeedbackOption resource lets you define custom cancellation reasons and show them in the customer portal.
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-30newAdds additional shared fields to customer sharing
Customer and payment method sharing now also syncs fields such as description, tax IDs, preferred locales, metadata, business name, shipping, tax exemption and invoice prefix across a sharing group.
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-30newAdds pending and expired statuses to Financial Connections account numbers
account_numbers[].status can now be pending or expired in addition to transactable and deactivated.
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-30newSaves Bancontact payment details for future off-session payments in Checkout
Checkout accepts setup_future_usage=off_session for Bancontact, which produces a reusable SEPA Direct Debit payment method.
2026-09-30newAdds the Standalone 3D Secure API
A new ThreeDSecure.Authentication resource lets you run 3D Secure authentication independently of a Stripe payment.
2026-09-30newAdds support for SeQura payments
SeQura, a buy-now-pay-later method in Spain, is supported through Checkout Sessions, Payment Links and PaymentIntents for single-use payments, behind a sequra_payments capability.
2026-09-30newAdds card-present payment methods to allowed payment method types
allowed_payment_method_types on PaymentIntents and SetupIntents now accepts card_present and interac_present for Terminal integrations.
2026-09-30newAdds Link funding source group details on Payment Records
Payment Records and Payment Attempt Records expose payment_method_details.link.funding_source_group.
2026-09-30newAdds early fraud warnings and fraudulent dispute signals for Payment Evaluations
Radar Payment Evaluations add early_fraud_warning and fraudulent_dispute signals, each with a risk level and score.
2026-09-30newAdds the ability to report canceled payments
Payment Record reporting endpoints accept outcome=canceled with a canceled_at timestamp.
2026-09-30changeAdds support for expanding the mandate on card payment method details
payment_method_details.card.mandate on Charges can be expanded into the full Mandate object; without expansion it still returns the ID or null.
2026-09-30newAdds the Payment Record property to the Payment Intent object
PaymentIntents gain an expandable payment_record property.
2026-09-30newAdds Link wallet details to Payment Records for card payments
Card details on Payment Records can include wallet.link with its funding source group, and wallet.type can now be link.
2026-09-30newAdds 3D Secure versions 2.3.0 and 2.3.1 to Payment Records
three_d_secure.version on Payment Records can now be 2.3.0 or 2.3.1.
2026-09-30newAdds support for BLIK recurring off-session payments
BLIK supports recurring off-session payments in Poland through mandates, with a blik_recurring_payments capability on Accounts v1 and v2.
2026-09-30newAdds PayPay support for one-time online payments in Japan
Eligible Japan-based accounts can accept one-time PayPay wallet payments through Payment Intents, Checkout, the Payment Element and Payment Links, with full and partial refunds.
2026-09-30newExposes the network response electronic commerce indicator on card charges
Charges expose payment_method_details.card.electronic_commerce_indicator for supported Visa and Mastercard authorizations; it is separate from the 3D Secure ECI and is not backfilled.
2026-09-30newAdds payment method type information for failed payments
last_payment_error on PaymentIntents, and the payment_intent.payment_failed event, now include payment_method_type, including for capture failures.
2026-09-30newAdds MoMo payment method details to Payment Records
Payment Records and Payment Attempt Records can include payment_method_details.momo with a fingerprint and optional mandate.
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-30newAdds support for new tax types
Stripe Tax adds three US tax types: digital_excise_tax, utility_users_tax and recycling_fee, visible in tax calculations; the first two can also be set on custom Tax Rates.
2026-09-30newAdds support for ticket sales to Stripe Tax
Stripe Tax can tax tickets by event venue through a new Tax.Location resource and a performance_location on calculation line items, along with event-related tax types such as admissions_tax.
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-30newAdds support for received credits sent via the Real-Time Payments network
Treasury financial accounts can receive funds over the RTP network; such Received Credits have network rtp and cannot be reversed.
2026-09-30newExposes ACH return codes on OutboundPayments, OutboundTransfers, and InboundTransfers in v1 Treasury
v1 Treasury outbound payments, outbound transfers and inbound transfers now include the raw ACH return code and reason under network_details.ach when a transfer fails or is returned.
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.
2026-09-30newMakes thin events for API v1 resources generally available
Thin events now cover supported API v1 resources; their names carry a v1. prefix (for example v1.customer.created) and point to the affected resource through related_object.
2026-09-30newAdds Satispay payments capability to Accounts v2
Accounts v2 adds a satispay_payments merchant capability that can be requested on account create or update.
2026-09-30newAdds an expiration timestamp to the Swish QR code object
The Swish QR code in a PaymentIntent next_action now includes expires_at as a Unix timestamp.
2026-09-30newAdds a new outcome type for rerouted payments to Payment Evaluations
Radar Payment Evaluations can return outcome.type rerouted when a reroute rule fires on a bank payment.
2026-09-30newAdds Balance Transaction types for provisional credits for Issuing disputes
Balance Transactions add the types issuing_dispute_provisional_credit and issuing_dispute_provisional_credit_reversal, each with its own reporting category.
2026-09-30newAdds India-specific mandate details to card payment method responses
The Mandate object adds India-specific card details, including inactive_reason, which says why a mandate became inactive.
2026-09-30newAdds the option to automatically pause subscriptions after payment failures
Stripe Billing can automatically pause eligible flexible-billing subscriptions after the first failed renewal payment or once retries are exhausted, and optionally resume them when the invoice is settled.
2026-09-30newAdds the Install API for Stripe Apps
A new Apps.Install resource lets you list, create, retrieve, reauthorize and uninstall Stripe App installs through the API, with apps.install.created, updated and deleted events.