[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-57086:來自啟用條款與條件之非預設網站的訂單會遭到錯誤處理
ACSD-57086修補程式修正來自啟用條款與條件之非預設網站的訂單無法正確處理的問題。 安裝Quality Patches Tool (QPT) 1.1.49時,即可使用此修補程式。 修補程式ID為ACSD-57086。 請注意,此問題已在Adobe Commerce 2.4.7中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.5-p5
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.3 - 2.4.6-p7
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
使用具有AsyncOrder處理的多重商店設定時,由於佇列消費者程式碼中的範圍處理問題,在主要網站以外的任何網站/商店下單的訂單會被拒絕。
要再現的步驟:
-
安裝RabbitMQ並執行
bin/magento setup:upgrade以建立RabbitMQ的佇列。 -
設定AsyncOrder處理方式:
code language-bash bin/magento setup:config:set --checkout-async 1 -
建立次要網站、商店和商店檢視。
-
建立兩個網站共用的產品。
-
啟用條款與條件:
- 前往「Stores > Configuration > Sales > Checkout > Checkout Options」。
- 將 Enable Terms And Conditions 設為 是。
-
設定這兩個網站的條款與條件:
-
前往 Stores > Terms And Conditions > Add New Condition。
-
使用下列設定:
- Condition Name: 任何專案
- Status: Enabled
- Applied: Manually
- Store View: Default Store View
-
為第二個網站/商店檢視建立另一個條件。
-
-
前往 Stores > All Stores 變更預設網站。 按一下第二個網站,核取 Set as Default 並儲存。
-
清除快取的方式:
code language-bash bin/magento cache:clear -
前往店面並將產品新增到購物車。 繼續結帳並下訂單(您應該會在付款方式步驟中看到核取方塊以接受條款與條件)。
-
下訂單後返回管理員,並將預設網站變更為原始主要網站並儲存。
-
清除快取:
code language-bash bin/magento cache:clear -
執行以下命令以啟動佇列取用者:
code language-bash bin/magento queue:cons:start placeOrderProcessor
預期結果:
訂單已完成;不會自動拒絕。
實際結果:
訂單狀態為 已拒絕,附有下列註解:
未下訂單。 首先,同意條款與條件,然後嘗試再次下訂單。
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
- Quality Patches Tool 已發行:支援知識庫中的自助式品質修補程式的新工具。
- 使用 Quality Patches Tool指南中的Quality Patches Tool,檢查您的Adobe Commerce問題是否有修補程式可用。
如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的:搜尋修補程式Quality Patches Tool。