ACSD-48694: 要求的狀態變更無效 ​錯誤導致客戶無法下訂單

ACSD-48694修補程式修正錯誤​ 要求的無效狀態變更 ​導致客戶無法下單的問題。 安裝Quality Patches Tool (QPT) 1.1.27時,即可使用此修補程式。 修補程式ID為ACSD-48694。 請注意,此問題已排程在Adobe Commerce 2.4.7中修正。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.4

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.3.7 - 2.37-p4, 2.4.1 - 2.4.6
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

錯誤​ 要求的狀態變更無效 ​導致客戶無法下訂單。

要再現的步驟

  1. /estimate-shipping-methods要求期間加入一點延遲,方法是在app/code/Magento/Quote/Model/GuestCart/GuestShippingMethodManagement.php::estimateByExtendedAddress()加入sleep()函式,這樣在結帳期間從送貨步驟到付款步驟期間,/estimate-shipping-methods要求會在/shipping-information之後完成。
  2. 將工作階段設定為使用Redis搭配​ disable_locking: 1 ​設定。
  3. 開啟​ Stores > Configuration > Customers ​並啟用​ Persistent Shopping Cart
  4. 以客戶身分登入,並將產品新增至購物車。
  5. 讓客戶工作階段過期。 永久性Cookie和購物車仍持續存在。
  6. 現在前往結帳,新增運送地址並導覽至付款區段。
  7. 返回首頁或任何其他頁面,並使用客戶帳戶登入。
  8. 讓工作階段再次過期。
  9. 現在直接前往結帳頁面,並導覽至付款步驟。
  10. 嘗試下訂單。

預期結果

  • 沒有錯誤。
  • 已成功下訂單,並顯示​ 感謝您 ​頁面。

實際結果

顯示錯誤​ 要求的狀態變更 ​無效,但已下訂單。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式

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