[僅限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
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

使用具有AsyncOrder處理的多重商店設定時,由於佇列消費者程式碼中的範圍處理問題,在主要網站以外的任何網站/商店下單的訂單會被拒絕。

要再現的步驟

  1. 安裝RabbitMQ並執行bin/magento setup:upgrade以建立RabbitMQ的佇列。

  2. 設定AsyncOrder處理方式:

    code language-bash
    bin/magento setup:config:set --checkout-async 1
    
  3. 建立次要網站、商店和商店檢視。

  4. 建立兩個網站共用的產品。

  5. 啟用條款與條件:

    1. 前往「Stores > Configuration > Sales > Checkout > Checkout Options」。
    2. 將​ Enable Terms And Conditions ​設為​
  6. 設定這兩個網站的條款與條件:

    1. 前往​ Stores > Terms And Conditions > Add New Condition

    2. 使用下列設定:

      • Condition Name任何專案
      • StatusEnabled
      • AppliedManually
      • Store ViewDefault Store View
    3. 為第二個網站/商店檢視建立另一個條件。

  7. 前往​ Stores > All Stores ​變更預設網站。 按一下第二個網站,核取​ Set as Default ​並儲存。

  8. 清除快取的方式:

    code language-bash
    bin/magento cache:clear
    
  9. 前往店面並將產品新增到購物車。 繼續結帳並下訂單(您應該會在付款方式步驟中看到核取方塊以接受條款與條件)。

  10. 下訂單後返回管理員,並將預設網站變更為原始主要網站並儲存。

  11. 清除快取:

    code language-bash
    bin/magento cache:clear
    
  12. 執行以下命令以啟動佇列取用者:

    code language-bash
    bin/magento queue:cons:start placeOrderProcessor
    

預期結果

訂單已完成;不會自動拒絕。

實際結果

訂單狀態為​ 已拒絕,附有下列註解:

未下訂單。 首先,同意條款與條件,然後嘗試再次下訂單。

套用修補程式

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

相關閱讀

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

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

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3