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作為搜尋關鍵字,以尋找修補程式。問題
錯誤 要求的狀態變更無效 導致客戶無法下訂單。
要再現的步驟:
- 在
/estimate-shipping-methods
要求期間加入一點延遲,方法是在app/code/Magento/Quote/Model/GuestCart/GuestShippingMethodManagement.php::estimateByExtendedAddress()
加入sleep()
函式,這樣在結帳期間從送貨步驟到付款步驟期間,/estimate-shipping-methods
要求會在/shipping-information
之後完成。 - 將工作階段設定為使用Redis搭配 disable_locking: 1 設定。
- 開啟 Stores > Configuration > Customers 並啟用 Persistent Shopping Cart。
- 以客戶身分登入,並將產品新增至購物車。
- 讓客戶工作階段過期。 永久性Cookie和購物車仍持續存在。
- 現在前往結帳,新增運送地址並導覽至付款區段。
- 返回首頁或任何其他頁面,並使用客戶帳戶登入。
- 讓工作階段再次過期。
- 現在直接前往結帳頁面,並導覽至付款步驟。
- 嘗試下訂單。
預期結果:
- 沒有錯誤。
- 已成功下訂單,並顯示 感謝您 頁面。
實際結果:
顯示錯誤 要求的狀態變更 無效,但已下訂單。
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Quality Patches Tool指南中的Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool >使用狀況。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
- Quality Patches Tool 已發行:我們的支援知識庫提供自助式品質修補程式的新工具。
- 使用我們的支援知識庫中的 Quality Patches Tool,檢查您的Adobe Commerce問題是否有修補程式可用。
如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a