Skip to content

Releases: woocommerce/woocommerce-gateway-stripe

Version 10.6.1

23 Apr 11:27

Choose a tag to compare

  • Fix - Fix Optimized Checkout Suite bugs that could result in duplicate subscription charges and generic payment methods names

Version 10.6.0

20 Apr 18:39

Choose a tag to compare

New Features

  • Add - Support for Adaptive Pricing
  • Add - Allow payment methods for other currencies to be enabled when Adaptive Pricing is enabled
  • Add - Add exit survey to capture merchant feedback on plugin deactivation and gateway disablement
  • Add - New promotional banner to highlight the Stripe Tax extension for OCS-enabled merchants
  • Add - Add an admin notice and one-click action to move Stripe payment methods to the top of WooCommerce payment gateway order for Optimized Checkout

Important Fixes and Updates

  • Add - Support express checkout for free trial subscription products that require shipping
  • Add - Allow additional font domains to be included in Stripe fonts
  • Fix - Accept regional language names for Spanish provinces (e.g., Basque "Gipuzkoa") in Apple Pay and express checkout address validation
  • Fix - Restore missing saved payment tokens when Optimized Checkout Suite is enabled
  • Fix - Hide duplicate store-level save checkbox when Stripe Link is enabled on checkout
  • Update - Show "Payment Options" as the Optimized Checkout title on classic checkout and "Payment Methods" on Blocks checkout instead of "Stripe"
  • Fix - Update Stripe Fee and Stripe Payout values correctly after partial capture by replacing authorization-phase values instead of adding to them
  • Fix - Add defensive checks before running renewal meta cleanup when renewal/subscription objects are missing or invalid
  • Fix - Use the order currency instead of the global store currency when creating a payment intent, resolving incorrect charges in multicurrency setups
  • Fix - Resolve intermittent "Missing required customer field: address->line1" error during checkout with auto-account creation
  • Update - Add deprecation notices to methods and properties that were deprecated without them in older versions
  • Update - Disable the Optimized Checkout Suite in the "Add Payment Method" and "Change Subscription Payment Method" screens
  • Fix - Add order and payment method validation to prevent errors
  • Fix - Ensure that we enqueue all needed scripts on payment pages
  • Fix - Wrap express checkout add-to-cart in try/catch to prevent errors
  • Fix - Treat customer-initiated Klarna (and other redirect BNPL) cancellations as recoverable so the order stays retryable and shoppers can complete checkout with another payment method
  • Fix - Put subscription on hold when Stripe Radar blocks a renewal payment to prevent WC Subscriptions from scheduling further retry attempts
  • Fix - Prevent TypeError when processing deferred webhooks using Action Scheduler
  • Fix - Prevent JavaScript error in elements.update when using checkout sessions with adaptive pricing
  • Fix - Keep adaptive pricing amount in sync on checkout after order total changes
  • Fix - Better background color detection for block themes and allow fonts from fonts.bunny.net
  • Fix - Re-block UI during express checkout post-modal processing so shoppers see a loading state while the checkout API call completes
  • Fix - Use floating labels and correct field spacing on Blocks checkout
  • Fix - Hide Stripe's testing assistant on checkout page

Other Fixes and Updates

  • Fix - Re-compute Stripe PE appearance after web fonts load to prevent fallback font rendering
  • Fix - Prevent brief display of wrong title on classic checkout when Optimized Checkout is enabled
  • Fix - Normalize express checkout button spacing on the block cart page in Safari
  • Update - Express Checkout button logging will only occur when verbose debug mode is enabled
  • Fix - Improve default layout when Optimized Checkout is disabled
  • Fix - Improve performance of CSS style lookups
  • Fix - Fix UPE style transition keys for font smoothing properties
  • Update - Shorten test mode messaging, add Test Mode badge on Blocks checkout, and add copy-to-clipboard for test card numbers
  • Fix - Use a single Checkout Session line item priced at the full payable cart total so adaptive pricing sessions match checkout totals
  • Fix - Improve UX for the "Stripe first method" notice for Optimized Checkout

Internal Changes and Upcoming Features

  • Add - Initial implementation of always-expanded Optimized Checkout Suite in shortcode checkout
  • Add - Process payment with adaptive pricing in the classic checkout
  • Add - Process payment with adaptive pricing in the blocks checkout
  • Add - Allow customers to save payment methods during checkout with adaptive pricing
  • Add - Include specific information on converted currency for adaptive pricing in order confirmation emails
  • Add - Include specific information on converted currency for adaptive pricing in the order received page and order details page
  • Add - Show ECB interbank rate conversion fee notice to EEA-based shoppers on the order received page and in customer order confirmation emails
  • Add - Handle redirect payment flow in classic checkout for Checkout Sessions
  • Add - Handle Checkout Session failure webhook events for expired and async failed payments
  • Add - Process Checkout Session async payment success webhooks
  • Add - Add Ajax endpoint to update line items in a checkout session
  • Remove - Remove EU adaptive pricing disclosure component from classic and Blocks checkout as it is shown natively within the Stripe currency selector element
  • Update - Defer checkout sessions webhook processing via Action Scheduler to prevent race conditions when webhook events arrive before order metadata is stored
  • Update - Show Express Checkout on block checkout when Adaptive Pricing is enabled
  • Fix - Fix checkout session creation for guest users
  • Update - Hide Adaptive Pricing option for Stripe accounts based in India and European Economic Area countries
  • Fix - Restrict Checkout Session saved payment method options to logged-in customers so guest checkout session creation succeeds
  • Update - Allow Adaptive Pricing for merchant accounts based in EEA countries
  • Fix - Confirm checkout session with user data in classic checkout for guest user
  • Fix - Move test mode instructions above the Adaptive Pricing currency selector in classic checkout
  • Fix - Render the Adaptive Pricing currency selector immediately above the payment element in classic checkout
  • Tweak - Hide pay and cancel actions for pending orders processed via Checkout Session in order received page and My Account orders list
  • Tweak - Hide the Adaptive Pricing currency selector from classic checkout when a saved payment method is selected
  • Fix - Only collect and send payer phone in Checkout Sessions when the WooCommerce phone field is required
  • Fix - Change Checkout Sessions (Adaptive Pricing) redirect-based flow to match the existing PaymentIntent flow (redirect to checkout page)
  • Fix - Ensure currency selector appears after saved payment methods in classic checkout
  • Dev - Add paratest for parallel PHP unit test execution
  • Dev - Autoload all Agentic Commerce classes via Composer classmap, removing manual require_once calls
  • Dev - Separate Agentic Commerce merchant-controlled is_enabled setting from the developer feature flag
  • Dev - Add metadata accessor methods for subscription objects to WC_Stripe_Order_Helper, centralizing subscription-specific metadata handling
  • Dev - Rename and move the new Checkout Sessions ajax handler class to be autoloaded
  • Dev - Add WC_Stripe_Country_Code constants class and replace hardcoded country code strings
  • Dev - Update WC_Stripe_Currency_Code constants class with zero-decimal and three-decimal currency lists and replace legacy no_decimal_currencies() usage
  • Dev - Add product deletion tracking to Agentic Commerce inventory sync: product deletes and trash events are batched and uploaded to Stripe as a product_catalog_feed with delete:true
  • Dev - Rename PHPUnit test files and directories to match the WordPress kebab-case naming convention used in includes/
  • Dev - Remove unused frontend code: legacy blocks payment request API helpers, related normalize utilities, and unused Stripe icon component
  • Dev - Add incremental inventory sync for Agentic Commerce: tracks stock changes via WooCommerce hooks and uploads a minimal inventory_feed CSV to Stripe one minute after the first change
  • Dev - Skip registering Stripe email classes when WooCommerce email class is not loaded
  • Dev - Remove @woocommerce/currency dev dependency to resolve locutus CVE-2026-32304 (GHSA-vh9h-29pq-r5m8)
  • Dev - Collapse PHPUnit tests using data providers to reduce duplication and improve test isolation
  • Dev - Treat misaligned statements as errors in PHPCS ruleset
  • Dev - Remove checkout sessions feature flag and make the feature available by default
  • Dev - Add automatic changelog entry suggestions to bin/changelog.js

Version 10.5.3

19 Mar 13:18

Choose a tag to compare

  • Fix - Restore default layout when Optimized Checkout is disabled
  • Fix - Prevent incorrect re-enablement of express checkout methods during upgrades

Version 10.5.2

13 Mar 08:12

Choose a tag to compare

  • Fix - Ensure that we enqueue all needed scripts on payment pages

Version 10.5.1

11 Mar 17:02

Choose a tag to compare

  • Fix - Reinstate custom appearance logic
  • Fix - Refactor some Amazon Pay helpers to prevent an infinite loop
  • Fix - Clear customer cache after saving a new payment method so the Stripe payment method list has correct data

Version 10.5.0

09 Mar 18:12

Choose a tag to compare

  • Update - Add missing metadata to checkout session objects when processing webhook events
  • Fix - Update deprecated WooCommerce block checkout hook from onCheckoutAfterProcessingWithSuccess to onCheckoutSuccess in the saved token handler
  • Add - Display adaptive pricing currency selector on blocks checkout page
  • Dev - Remove unit tests that no longer make sense after recent file removals
  • Update - Include additional customer information when creating checkout sessions
  • Fix - Allow subscription edits when mandates are present, except for mandates from India
  • Update - Remove the deferred intent flag (wc-stripe-is-deferred-intent) and the non-deferred intent code path
  • Dev - Deprecate old unused feature flag backend methods and remove related code from the frontend
  • Dev - Remove unused frontend code related to block checkout
  • Update - Move class instantiations from their definition files to the plugin initialization code
  • Update - Deprecate unused non-deferred intent methods in WC_Stripe_UPE_Payment_Gateway
  • Dev - Remove unused frontend code related to UPE
  • Tweak - Update PHPDoc in admin REST controllers and related code
  • Tweak - Improve PHPDoc for migration and notes; minor notes refactor
  • Tweak - Update PHPDoc for express checkout classes, block support class, and intent controller
  • Tweak - Update PHPDoc for UPE payment method classes
  • Add - Display adaptive pricing currency selector on classic checkout page
  • Dev - Fix WC beta version resolution in tests
  • Update - Update Stripe API to 2025-09-30.clover and dynamic Javascript to Clover
  • Tweak - Update PHPDoc and fix minor issues for subscriptions and pre-order compatibility
  • Add - Add method to check if adaptive pricing is supported and pass the flag to checkout page
  • Dev - Upgrade @stripe/react-stripe-js to ^5.4.1 and @stripe/stripe-js to ^8.6.0 in JavaScript dependencies
  • Dev - Fix becs e2e tests
  • Add - Add the base CSV feed for agentic commerce
  • Update - Reconfigure webhooks to include Checkout Session events when Adaptive Pricing is enabled via settings
  • Dev - Upgrade @types/react to ^18.3.7 in JavaScript dependencies
  • Dev - Add CodeRabbit configuration with Stripe-focused review guidance
  • Dev - Expand AI agent guidance with directory-level AGENTS and CLAUDE context files
  • Fix - Prevent fatal error when order ID in webhook references a refund
  • Tweak - Refactor order helper class to use constants for lock meta keys and reduce code duplication in meta getters
  • Dev - Update dependencies for building translations
  • Fix - Hide all payment methods on Add Payment Method page when saved payment methods are disabled
  • Add - Backend support for processing payments with Checkout Session when using Adaptive Pricing
  • Fix - Fix currency formatting issue with ISK for express checkouts
  • Dev - Extract shared banner styled components and dismissNotice utility to eliminate frontend duplication
  • Tweak - Add missing JSDoc comments to client-side utility, API, and payment-flow functions
  • Update - Use iDEAL | Wero co-branding to comply with branding changes
  • Dev - Use PaymentGatewayFeature constants instead of raw strings for payment gateway feature declarations in UPE payment method classes and traits
  • Fix - Only load Stripe JS (not the full UPE bundle) on product and cart pages when express checkout is disabled
  • Fix - Fix script dependencies and script cache versioning for classic checkout
  • Fix - Remove transient style caching in favor of a simple in-memory frontend cache
  • Fix - Improve Stripe element appearance on non-checkout pages
  • Fix - Remove WooCommerce session creation on product page load to improve cacheability

Version 10.4.0

09 Feb 19:04

Choose a tag to compare

  • Add - Introduce an endpoint to create Checkout Sessions tokens
  • Add - New setting to control Adaptive Pricing
  • Add - Map Norwegian nb-NO to generic no-NO locale
  • Update - Redirect merchants to the Stripe settings screen upon plugin activation
  • Fix - Fix Stripe client API calls with wrong amount when rendering the express checkout buttons in block
  • Fix - Validate product exists before accessing product methods in express checkout to prevent fatal errors
  • Update - Ensure the customer_name metadata sent to Stripe does not have leading or trailing spaces
  • Update - Move all logic from WC_Gateway_Stripe to WC_Stripe_UPE_Payment_Gateway as part of deprecation
  • Update - Remove the main Payment Request Buttons backend class, WC_Stripe_Payment_Request, which was deprecated in 10.2.0
  • Dev - Replace deprecated logger method calls with severity specific methods
  • Dev - Ensure PHPStan runs when pushing changes
  • Dev - Add PHPStan stub for WC_Subscription class
  • Dev - Remove the deprecated WC_Stripe_Apple_Pay class
  • Fix - Prevent Optimized Checkout from showing unsupported payment methods
  • Dev - Unit tests to cover address normalization
  • Fix - Add order validation in Multibanco email instructions to prevent fatal error when order is invalid
  • Fix - Add validation to prevent fatal error when setting default payment token if token doesn't exist
  • Fix - Validate order object before accessing methods in my account orders actions to prevent fatal errors
  • Dev - Use WC_STRIPE_PLUGIN_PATH constant instead of DIR for more reliable file path resolution
  • Dev - Automate release note creation PR
  • Fix - Resolve false incompatibility warnings for Block Editor payment methods
  • Dev - Introduce a feature flag for the Stripe checkout sessions feature
  • Dev - Improve the pre-push hook
  • Fix - Prevent credit card input fields from being cleared in the Optimized Checkout Suite (OCS) when the "Save payment method" checkbox is selected on classic checkout
  • Fix - Better error handling when token creation fails
  • Tweak - Improve PHPDoc for payment token code
  • Tweak - Update PHPDoc for email notification classes
  • Add - Admin notice for merchants potentially affected by the express checkout button location issue in versions 10.1.0 to 10.2.x
  • Add - Support Amazon Pay as an express checkout method
  • Add - Enable Amazon Pay for eligible new installs
  • Update - Stop auto-enabling Optimized Checkout Suite for new installs

Version 10.3.1

15 Jan 21:20

Choose a tag to compare

  • Fix - Fatal error when using express payment method with certain addresses

Version 10.3.0

13 Jan 09:10

Choose a tag to compare

  • Update - Increase Afterpay/Clearpay maximum transaction amount to 4,000 AUD and 4,000 NZD
  • Dev - Require milestones to be set on pull requests
  • Update - Remove legacy checkout payment method classes
  • Dev - Rename the express checkout frontend main setting key
  • Update - Deprecate and replace Payment Request Button classes with Express Checkout equivalents
  • Dev - Rename the express checkout customization route
  • Dev - Rename all express checkout related frontend hooks
  • Dev - Remove deprecated legacy checkout settings retrieval methods
  • Dev - Remove all references to the UPE-enabled feature flag
  • Dev - Remove deprecated promotional banners (related to legacy checkout)
  • Fix - Error when using Puerto Rico addresses with express checkouts
  • Tweak - Improve error messages when Stripe API requests fail to better distinguish between request and retrieval errors
  • Fix - Resolve Level3 data validation error caused by rounding precision when shipping rates have 3+ decimal places
  • Tweak - Change BLIK confirmation webhook processing from deferred to immediate
  • Fix - Preserve express checkout button location settings when upgrading from older plugin versions
  • Fix - Fix some initialization bugs for reconnections
  • Fix - Update Ukraine state mapping list
  • Fix - Use same default locations for Amazon Pay express checkout
  • Dev - Add configuration and workflow for PHPStan
  • Fix - Calculate subtotal correctly in express checkout
  • Dev - Improve PHPStan handling of plugin constants
  • Fix - Ensure that 'Link' and 'Stripe Link' are not translated
  • Fix - Fix situation where Stripe errors were not translated
  • Dev - Ensure multiple subdirectories are not exposed via Docker container
  • Dev - Fix ACH E2E tests for updated Stripe test flow
  • Tweak - Simplify logic for default settings and wc_stripe_settings filter
  • Tweak - Update PHPDoc for WC_Stripe_Payment_Gateway->get_intent_from_order()
  • Tweak - Fix return type for WC_Stripe_Order_Helper::get_instance()
  • Fix - Ensure express checkout is enabled in current context before registering the express checkout script
  • Fix - Prevent warnings for Amazon Pay in Express Checkout block

Version 10.2.0

08 Dec 21:06
8b6c6d7

Choose a tag to compare

New Features

  • Update - Enable the Optimized Checkout Suite feature for all new installations
  • Update - Add minimum transaction amounts for BRL, INR, NZD, THB, CZK, HUF, AED, MYR, PLN, RON

Important Fixes and Updates

  • Add - Implement cache prefetch for account data
  • Add - Allow cache prefetch window to be adjusted via the wc_stripe_database_cache_prefetch_window filter
  • Add - Add wc_stripe_express_checkout_normalize_address filter for express checkout address normalization
  • Update - Include customer data in wc_stripe_create_customer_required_fields filter
  • Fix - Ensure state and postal code are optional in express checkout for Gulf countries (UAE, Bahrain, Kuwait, Oman, Qatar)
  • Fix - Ensure correct express checkout prices in block cart and checkout with non-default decimal configuration
  • Fix - Don't allow WP-Cron jobs to detach payment methods on staging sites
  • Fix - Generate OAuth URLs on-demand when connecting to Stripe instead of pre-generating them on page load
  • Fix - Always use the current payment method configuration in Optimized Checkout
  • Fix - Generate OAuth URLs on-demand when connecting to Stripe instead of pre-generating them on page load

Other Fixes

  • Update - Changes the list of payment methods shown in the Stripe account connection modal
  • Update - Better notices and interactions for disabled express checkout methods
  • Update - Changes labels related to saved payment methods from "cards" to "payment methods"
  • Fix - Allow payment methods to be disabled when they are not available
  • Fix - Ensure Amazon Pay, Apple Pay, and Google Pay display settings are managed correctly
  • Fix - Ensure express payment methods are processed correctly when Optimized Checkout is enabled
  • Fix - Fix error handling when processing subscription renewals
  • Fix - Prefill customer billing information on the Pay for Order and Change Payment Method pages
  • Fix - Respect button.radius value of 0 in Express Checkout Element appearance settings
  • Fix - Fix revoked secret_key error during the OAuth account connection flow
  • Fix - Exclude order parameter from customer creation request arguments

Internal Changes and Upcoming Features

  • Update - Improves the error log for SSL connection missing when trying to render the express checkout buttons
  • Update - Expand Amazon Pay support for all permitted currencies and countries
  • Fix - Make token detachment checks use shared logic for detaching payment methods
  • Fix - Disable express checkout when Amazon Pay is disabled and the only method
  • Fix - Use the built-in Database Cache for the Connect flow data
  • Tweak - Hide Amazon Pay from the standard payments in Optimized Checkout
  • Dev - Refactor display logic for payment method issue pills
  • Dev - Deprecates all the legacy checkout payment method classes
  • Dev - Deprecates all the LPM class constants
  • Dev - Remove all references to the UPE-enabled feature flag
  • Dev - Removing all usages of the is_stripe_ece_enabled feature flag method
  • Dev - Expands the Stripe Order Helper class to handle mandate ID, Multibanco data, refund status, card brand, charge captured flag, status final flag, and the refund failure reason
  • Dev - Remove the merchant email address from the System Status Report
  • Dev - Replace the constant reference for the legacy SEPA payment method
  • Dev - Add logging with DNS resolution diagnostics for URL validation issues when calling Stripe API
  • Dev - Removes the _wcstripe_feature_upe feature flag and the related method from the WC_Stripe_Feature_Flags class
  • Dev - Fixes some incorrect subscriptions support implementations for payment methods
  • Dev - Add additional context data to the OAuth connect flow verbose debug logging mode