ACSD-48694: Invalid state change requested error prevents customer from placing order

The ACSD-48694 patch fixes the issue where the error Invalid state change requested prevents a customer from placing an order. This patch is available when the Quality Patches Tool (QPT) 1.1.27 is installed. The patch ID is ACSD-48694. Please note that the issue is scheduled to be fixed in Adobe Commerce 2.4.7.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.4

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.3.7 - 2.37-p4, 2.4.1 - 2.4.6
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

The error Invalid state change requested prevents a customer from placing an order.

Steps to reproduce:

  1. Add a slight delay during the /estimate-shipping-methods request by including a sleep() at app/code/Magento/Quote/Model/GuestCart/GuestShippingMethodManagement.php::estimateByExtendedAddress() function, so the /estimate-shipping-methods request is completed after the /shipping-information when going from shipping step to payment step during checkout.
  2. Configure the session to use Redis with the disable_locking: 1 setting.
  3. Open Stores > Configuration > Customers and enable Persistent Shopping Cart.
  4. Log in as a customer and add a product to the cart.
  5. Let the customer session expire. Persistent cookie and the cart still persists.
  6. Now go to checkout, add the shipping address and navigate to the payment section.
  7. Go back to the home page or any other page and log in with the customer account.
  8. Let the session expire again.
  9. Now go directly to the checkout page and navigate to the payment step.
  10. Try to place the order.

Expected results:

  • There is no error.
  • Order is placed successfully and a Thank you page is shown.

Actual results:

The error Invalid state change requested is displayed, but the order is placed.

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

For info about other patches available in QPT, refer to Quality Patches Tool: Search for patches in the Quality Patches Tool guide.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a