Releases: woocommerce/woocommerce-gateway-stripe
Releases · woocommerce/woocommerce-gateway-stripe
Version 9.9.0-test
- Fix - Use the item name as fallback when normalizing line items for the express checkout
- Update - Upgrade React to v18 and related dependencies
- Dev - Simplifies the way test payment instructions are built when the Optimized Checkout is enabled
- Dev - Upgrades the ESLint packages and their related libraries
- Dev - Upgrade the Prettier package and related libraries, and apply updated formatting rules
- Dev - Extracts Optimized Checkout logic from card payment method into new WC_Stripe_UPE_Payment_Method_OC class
- Fix - The availability of the Link payment method when the Optimized Checkout is enabled
- Dev - Update Javascript unit tests for compatibility with Node 20
- Dev - Replaces some payment method instantiation logic for the Optimized Checkout with calls to the
get_payment_method_instance
method - Dev - Multiple lint fixes in preparation for the Node 20 upgrade
- Dev - Introduces a new helper method to identify Stripe orders
- Add - Setting to allow merchants to control the layout of the Optimized Checkout payment element on the checkout page
- Fix - Removes the credit card payment method requirement for the Optimized Checkout feature
- Fix - Payment method test instructions not showing up for the Optimized Checkout payment element
- Add - Includes a new notice to highlight the Optimized Checkout feature above the payment methods list in the Stripe settings page
- Update - Increases the default font size for the Optimized Checkout payment element to match the rest of the checkout form
- Fix - Checks for the subscription payment method (if it is Stripe) when verifying for the payment method detachment
- Dev - Implements WooCommerce constants for the tax statuses
- Fix - Ensure all Javascript strings use the correct text domain for translation
- Tweak - Use more specific selector in express checkout e2e tests
- Tweak - Small improvements to e2e tests
- Fix - Fix unnecessary Stripe API calls when rendering subscription details
- Add - Adds a new action (
wc_stripe_webhook_received
) to allow additional actions to be taken for webhook notifications from Stripe - Fix - Allow checkout for logged-in users without an email in their account when a billing email is provided
- Update - Show all available payment methods before unavailable payment methods
- Tweak - Use smaller image for Optimized Checkout banner
- Dev - Update WooCommerce Subscriptions e2e tests after 7.8.0 release
- Fix - Display only Apple Pay and Google Pay buttons in the Customize page preview
- Update - Add nightly task and WooCommerce tool to remove stale entries from our database cache
- Dev - Make 'Add to cart' more robust in e2e tests
- Dev - Ensure e2e tests enable or disable Optimized Checkout during setup
Version 9.8.1
- Fix - Remove connection type requirement from PMC sync migration attempt
- Fix - Relax customer validation that was preventing payments from the pay for order page
- Fix - Prevent the PMC migration to run when the plugin is not connected to Stripe
- Fix - Fixes a fatal error in the OC inbox note when the new checkout is disabled
Version 9.8.0
- Add - Adds the current setting value for the Optimized Checkout to the Stripe System Status Report data
- Add - A new pill to the payment methods page to indicate the credit card requirement when the Optimized Checkout feature is enabled
- Add - Tracks the toggle of the Optimized Checkout feature in the promotional banner
- Fix - Force the card payment method to be enabled when the Optimized Checkout is enabled in the merchant's Payment Method Configuration
- Update - Deactivates Affirm or Klarna when other official plugins are active in merchant's Payment Method Configuration
- Fix - Fixes issues related to booking multiple slots with express checkout payment methods enabled
- Fix - Update the Optimized Checkout promotional inbox note to link to the relevant section in the Stripe settings page
- Add - Makes the Optimized Checkout feature available for all merchants by default
- Add - Adds a new bulk action option to the subscriptions listing screen to check for detached payment methods
- Dev - Use product type constants that were added in WooCommerce 9.7
- Dev - Removes the inclusion of the deprecated WC_Stripe_Order class
- Add - Introduces a new banner to promote the Optimized Checkout feature in the Stripe settings page for versions 9.8 and above
- Add - Introduces a new inbox note to promote the Optimized Checkout feature on version 9.8 and later
- Tweak - Use wp_ajax prefix for its built-in security for Add Payment Method action
- Update - Improve Stripe API connector logging to include request/response context
- Fix - Prevent Stripe API calls after several consecutive 401 (Unauthorized) responses
- Fix - 3DS authentication modal not shown when using Google Pay
- Update - Improve Stripe API connector logging to include request/response context
- Fix - Require credit cards to be enabled before Apple Pay and Google Pay can be enabled in PMC
- Fix - Free trial subscription orders with payment methods that require redirection (eg: iDeal, Bancontact)
- Tweak - Update checkout error message for invalid API key to be more generic and user-friendly
- Tweak - Disable Amazon Pay in the merchant's Payment Method Configuration object if it is still behind a feature flag
- Fix - Only clear customer cache when an action has been performed
- Fix - Remove validation error check from classic checkout before payment method creation
- Dev - Clean up LPM (Local Payment Method) feature flags and related code
- Dev - Move some testing and compiler node dependencies to devDependencies
- Dev - Minor CSS change to comply with a SASS rule deprecation
- Dev - Update SCSS to replace @import with @use and @forward
- Update - Copy for the Optimized Checkout settings and notices
- Update - Removes the ability to change the title for the Optimized Checkout payment element, as it is now set to "Stripe" by default
- Fix - Handle missing customer when calling payment_methods API
- Fix - Reduce number of calls to Stripe payment_methods API
- Fix - Add
get_icon_url()
to Payment Method base class
Version 9.8.0-test
- Add - Adds the current setting value for the Optimized Checkout to the Stripe System Status Report data
- Add - A new pill to the payment methods page to indicate the credit card requirement when the Optimized Checkout feature is enabled
- Add - Tracks the toggle of the Optimized Checkout feature in the promotional banner
- Add - Makes the Optimized Checkout feature available for all merchants by default
- Add - Adds a new bulk action option to the subscriptions listing screen to check for detached payment methods
- Add - Introduces a new banner to promote the Optimized Checkout feature in the Stripe settings page for versions 9.8 and above
- Add - Introduces a new inbox note to promote the Optimized Checkout feature on version 9.8 and later
- Fix - Prevent Stripe API calls after several consecutive 401 (Unauthorized) responses
- Fix - 3DS authentication modal not shown when using Google Pay
- Fix - Require credit cards to be enabled before Apple Pay and Google Pay can be enabled in PMC
- Fix - Free trial subscription orders with payment methods that require redirection (eg: iDeal, Bancontact)
- Fix - Only clear customer cache when an action has been performed
- Fix - Remove validation error check from classic checkout before payment method creation
- Fix - Force the card payment method to be enabled when the Optimized Checkout is enabled in the merchant's Payment Method Configuration
- Fix - Fixes issues related to booking multiple slots with express checkout payment methods enabled
- Fix - Update the Optimized Checkout promotional inbox note to link to the relevant section in the Stripe settings page
- Tweak - Update checkout error message for invalid API key to be more generic and user-friendly
- Tweak - Disable Amazon Pay in the merchant's Payment Method Configuration object if it is still behind a feature flag
- Tweak - Use wp_ajax prefix for its built-in security for Add Payment Method action
- Update - Improve Stripe API connector logging to include request/response context
- Update - Improve Stripe API connector logging to include request/response context
- Update - Deactivates Affirm or Klarna when other official plugins are active in merchant's Payment Method Configuration
- Dev - Clean up LPM (Local Payment Method) feature flags and related code
- Dev - Move some testing and compiler node dependencies to devDependencies
- Dev - Minor CSS change to comply with a SASS rule deprecation
- Dev - Update SCSS to replace
@import
with@use
and@forward
- Dev - Use product type constants that were added in WooCommerce 9.7
- Dev - Removes the inclusion of the deprecated WC_Stripe_Order class
Version 9.7.1
- Add - Add state mapping for Lithuania in express checkout
- Tweak - Check for checkout validation error before creating a payment method in Stripe
- Fix - Prevent multiple save appearance AJAX calls on Block Checkout
- Fix - Fix required field error message and PHP warning for custom checkout fields that don't have a label
- Fix - Fix fatal when processing setup intents for free subscriptions via webhooks
- Dev - Fix WooCommerce version fetching in GitHub workflows
- Dev - Fix failing test cases associated with WooCommerce 10.0.x
Version 9.7.0
- Update - Removes BNPL payment methods (Klarna and Affirm) when other official plugins are active
- Fix - Moves the existing order lock functionality earlier in the order processing flow to prevent duplicate processing requests
- Add - Adds two new safety filters to the subscriptions detached debug tool:
wc_stripe_detached_subscriptions_maximum_time
andwc_stripe_detached_subscriptions_maximum_count
- Add - Show a notice when editing an active subscription that has no payment method attached
- Fix - Fixes a possible fatal error when trying to generate the order signature for a
WC_Order_Refund
object - Add - New WooCommerce Debug Tool to list subscriptions without a payment method attached
- Fix - Fixes a possible error notice when the
payment_request
Stripe setting key is not defined - Fix - Prevent irrelevant payment method update requests to Stripe during checkout
- Add - A notice to take user back to WC onboarding flow after connecting the Stripe account
- Tweak - Deprecate wc_connect_* filters
- Fix - Prevent text field reset while editing Optimized Checkout title
- Update - Improvements to custom checkout fields support for express checkout
- Tweak - Use the Database Cache for the Stripe Account Data
- Update - Update filter names to use the wc_stripe_* prefix
- Add - Show payment methods sync status on the UI
- Fix - No such customer error when creating a payment method with a new Stripe account
- Fix - Validate create customer payload against required billing fields before sending to Stripe
- Update - Enhanced logging system with support for all log levels and improved context handling
- Fix - Fixes wrong price formatting in express checkout
- Fix - Require email address only for Stripe customer validation when request is from the Add Payment Method page
- Fix - Set default values for custom field options
- Fix - Enforce rate limiter for failed add payment method attempts
- Update - Add the number of pending webhooks to the Account status section
- Fix - Prevent "Undefined array key charges_enabled" PHP warning when determining live‑mode status
- Update - Deprecate
wc_gateway_stripe_process_payment
,wc_gateway_stripe_process_redirect_payment
andwc_gateway_stripe_process_webhook_payment
actions in favour ofwc_gateway_stripe_process_payment_charge
Version 9.7.0-test
- Fix - Moves the existing order lock functionality earlier in the order processing flow to prevent duplicate processing requests
- Add - Adds two new safety filters to the subscriptions detached debug tool:
wc_stripe_detached_subscriptions_maximum_time
andwc_stripe_detached_subscriptions_maximum_count
- Add - Show a notice when editing an active subscription that has no payment method attached
- Fix - Fixes a possible fatal error when trying to generate the order signature for a
WC_Order_Refund
object - Add - New WooCommerce Debug Tool to list subscriptions without a payment method attached
- Fix - Fixes a possible error notice when the
payment_request
Stripe setting key is not defined - Fix - Prevent irrelevant payment method update requests to Stripe during checkout
- Add - A notice to take user back to WC onboarding flow after connecting the Stripe account
- Tweak - Deprecate wc_connect_* filters
- Fix - Prevent text field reset while editing Optimized Checkout title
- Update - Improvements to custom checkout fields support for express checkout
- Tweak - Use the Database Cache for the Stripe Account Data
- Update - Update filter names to use the wc_stripe_* prefix
- Add - Show payment methods sync status on the UI
- Fix - No such customer error when creating a payment method with a new Stripe account
- Fix - Validate create customer payload against required billing fields before sending to Stripe
- Update - Enhanced logging system with support for all log levels and improved context handling
- Fix - Require email address only for Stripe customer validation when request is from the Add Payment Method page
- Fix - Set default values for custom field options
- Fix - Enforce rate limiter for failed add payment method attempts
- Update - Add the number of pending webhooks to the Account status section
- Fix - Prevent "Undefined array key charges_enabled" PHP warning when determining live‑mode status
- Update - Deprecate
wc_gateway_stripe_process_payment
,wc_gateway_stripe_process_redirect_payment
andwc_gateway_stripe_process_webhook_payment
actions in favour ofwc_gateway_stripe_process_payment_charge
Version 9.6.0
- Dev - Re-include the deprecated WC_Stripe_Order class to avoid breaking changes for merchants using it
- Update - Removes the change display order feature from the settings page when the Optimized Checkout is enabled
- Update - Removes the customization of individual payment method titles and descriptions
- Fix - Fixes some inconsistencies related to the Optimized Checkout feature and improves its unit tests
- Add - Introduces a new marketing note to promote BNPLs (Buy Now Pay Later) payment methods (Klarna and Affirm) on WooCommerce admin home page
- Fix - Throws a specific exception on an edge case where a saved payment method could not be found when processing an order in the new checkout experience
- Fix - Checks if the store has other BNPL extensions installed before displaying the promotional banner
- Fix - Correctly notifies customers and merchants of a failed refund and reverts the refunded status
- Update - Legacy checkout experience has been deprecated, new checkout experience is now the default for all sites
- Fix - Fixes an edge case where the express payment method buttons would not be displayed on the checkout if taxes used to be enabled
- Add - Voucher payment methods (Boleto, Multibanco, and Oxxo) can now be used when purchasing subscriptions if manual renewals are enabled or required
- Add - Adds a new filter (
wc_stripe_is_optimized_checkout_available
) to allow merchants to test the Optimized Checkout feature earlier - Fix - Restricts the BNPLs promotional banner to only be displayed after version 9.7.0
- Add - Adds a new promotional banner to promote the BNPL payment methods (Klarna, Afterpay, and Affirm) on the settings page.
- Dev - Deprecates the WC_Stripe_Order class and removes its inclusion call.
- Fix - Fixes the availability of the saving payment method checkbox in the classic checkout when the Optimized Checkout is enabled and signup is disabled during checkout.
- Dev - Implements the PSR-4 autoloading standard for the plugin unit tests (PHP).
- Fix - Sends missing information to Stripe when completing transactions with WeChat Pay, Blik and Klarna, using the Optimized Checkout.
- Dev - Moves the main Stripe class to a new file.
- Dev - Renames all PHP Unit test files to follow the PSR-4.
- Dev - Dynamically retrieves versions of WooCommerce and WordPress to use in the PHP code coverage GitHub Actions Workflow.
- Fix - Makes payment methods dynamically available on the shortcode checkout when the Optimized Checkout is enabled depending on the saving method checkbox value.
- Fix - Fixes a fatal error when the fingerprint property is not available for a card payment method.
- Add - Show an icon beside the payment methods that support automatic recurring payments.
- Fix - Fixes the payment method title when using the classic checkout with the Optimized Checkout enabled.
- Update - Remove BACS from the unsupported 'change payment method for subscription' page.
- Fix - Fix payment method title display when new payment settings experience is enabled
- Fix - Prevent styles from non-checkout pages affecting the appearance of Stripe element.
- Dev - Add e2e tests for BLIK
- Dev - Add e2e tests for BECS
- Fix - Send correct attribute when setting the default payment method.
- Dev - Build dynamic WordPress and WooCommerce dependencies for unit tests.
- Fix - Void intent when cancelling an uncaptured order
- Fix - Hide future payments message from payment element when manual renewal is required
- Tweak - Fix a rare warning when searching customers with missing name
- Fix - Apply shipping country restrictions to Express Checkout
- Dev - Prevent changelog entries with trailing periods
- Fix - Fix legacy deprecation notice displayed on new plugin installs
- Update - Remove verification steps for Apple Pay domain registration, as this is no longer required by Stripe
- Fix - When the user is deleted via WP CLI, take into account the environment type before detaching their payment methods
- Tweak - Add prefix to the custom database cache keys
- Update - Support block checkout custom fields when using express payment methods like Apple Pay and Google Pay
- Dev - Fix failing optimized checkout e2e test due to incorrect order of operations
- Tweak - Remove Payment Method Configurations fallback cache
- Dev - Add Klarna e2e tests
- Tweak - Update deprecation notice message to specify that legacy checkout experience has been deprecated since version 9.6.0
- Update - Remove legacy checkout checkbox from settings
- Add - Introduced
wc_stripe_force_save_payment_method
filter - Update - Express Checkout: introduce new WP actions for supporting custom checkout fields for classic, shortcode-based checkout
- Fix - Fixes page crash when Klarna payment method is not supported in the merchant's country by returning an empty array instead of throwing an error
- Fix - Fix payment processing for $0 subscription with recurring coupon
- Dev - Add e2e tests to cover Affirm purchase flow
- Dev - Improve e2e tests of some of the LPMs
- Fix - Add safety check when checking error object
- Fix - Correctly handle countries without states when using the express payment methods
- Update - Include extension data from block checkout when submitting an express checkout order
- Fix - Add order locking when processing payment redirects, to mitigate cases of double status updates
- Fix - Register Express Checkout script before use to restore buttons on “order-pay” pages
Version 9.6.0-test
New Features
- Legacy checkout experience has been deprecated, new checkout experience is now the default for all sites
- Voucher payment methods (Boleto, Multibanco, and Oxxo) can now be used when purchasing subscriptions if manual renewals are enabled or required
- Adds a new filter (wc_stripe_is_optimized_checkout_available) to allow merchants to test the Optimized Checkout feature earlier
- Show an icon beside the payment methods that support automatic recurring payments
Important Fixes and Updates
- Update - Remove BACS from the unsupported ‘change payment method for subscription’ page
- Update - Remove verification steps for Apple Pay domain registration, as this is no longer required by Stripe
- Update - Add prefix to the custom database cache keys
- Update - Support block checkout custom fields when using express payment methods like Apple Pay and Google Pay
- Update - Remove Payment Method Configurations fallback cache
- Update - Update deprecation notice message to specify that legacy checkout experience has been deprecated since version 9.6.0
- Update - Remove legacy checkout checkbox from settings
- Fix - Correctly notifies customers and merchants of a failed refund and reverts the refunded status
- Fix - Sends missing information to Stripe when completing transactions with WeChat Pay, Blik and Klarna, using the Optimized Checkout.
- Fix - Void intent when cancelling an uncaptured order
- Fix - Apply shipping country restrictions to Express Checkout
Other Fixes
- Fix - Fixes an edge case where the express payment method buttons would not be displayed on the checkout if taxes used to be enabled
- Fix - Fixes a fatal error when the fingerprint property is not available for a card payment method
- Fix - Fix payment method title display when new payment settings experience is enabled
- Fix - Prevent styles from non-checkout pages affecting the appearance of Stripe element
- Fix - Send correct attribute when setting the default payment method
- Fix - Hide future payments message from payment element when manual renewal is required
- Fix - Fix a rare warning when searching customers with missing name
- Fix - Fix legacy deprecation notice displayed on new plugin installs
- Fix - When the user is deleted via WP CLI, take into account the environment type before detaching their payment methods
- Fix - Throws a specific exception on an edge case where a saved payment method could not be found when processing an order in the new checkout experience
Internal Changes and Upcoming Features
- Add - Adds a new promotional banner to promote the BNPL payment methods (Klarna, Afterpay, and Affirm) on the settings page.
- Fix - [OC] Fixes the availability of the saving payment method checkbox in the classic checkout when the Optimized Checkout is enabled and signup is disabled during checkout
- Fix - [OC] Makes payment methods dynamically available on the shortcode checkout when the Optimized Checkout is enabled depending on the saving method checkbox value
- Fix - [OC] Fixes the payment method title when using the classic checkout with the Optimized Checkout enabled
- Dev - Deprecates the WC_Stripe_Order class and removes its inclusion call
- Dev - Implements the PSR-4 autoloading standard for the plugin unit tests (PHP)
- Dev - Moves the main Stripe class to a new file
- Dev - Renames all PHP Unit test files to follow the PSR-4
- Dev - Dynamically retrieves versions of WooCommerce and WordPress to use in the PHP code coverage GitHub Actions Workflow.
- Dev - Add e2e tests for BLIK
- Dev - Add e2e tests for BECS
- Dev - Build dynamic WordPress and WooCommerce dependencies for unit tests
- Dev - Prevent changelog entries with trailing periods
- Dev - Fix failing optimized checkout e2e test due to incorrect order of operations
Version 9.5.3
- Fix - Reimplement mapping of Express Checkout state values to align with WooCommerce's expected state formats
- Fix - Adds an exception to be thrown when the order item quantity is zero, during the retrieval of level 3 data from an order.
- Tweak - Track charge completed via webhooks in order notes
- Fix - Ensure that we migrate payment_request_button_size=medium on upgrade
- Fix - Show correct price in express checkout for zero decimal currencies
- Fix - Fixes a possible fatal error with Multibanco purchases when generating the email instructions.
- Fix - Fix buggy unsaved changes warning in settings page
- Fix - Use the platform's payment method configuration id constant when rendering the Optimized Checkout
- Update - Improve checks in voucher purchase flow