MDVA-42768: GraphQL shows wrong price when child products are out of stock

The MDVA-42768 patch fixes the issue where GraphQL shows the wrong price when the child products a configurable product are out of stock. This patch is available when the Quality Patches Tool (QPT) 1.1.10 is installed. The patch ID is MDVA-42768. Please note that the issue is scheduled to be fixed in Adobe Commerce 2.4.5.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.2

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.3.4 - 2.4.3-p1
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

When the child products of a configurable product are out of stock and the Display Out of Stock Products setting is enabled, GraphQL query shows the regular price of the product as 0.

Prerequisites:

Sample data is installed.

Steps to reproduce:

  1. Enable the Display Out of Stock product setting in the Commerce Admin by going to Stores > Configuration > Catalog > Inventory.

  2. Create a configurable product and assign a simple child product to it.

  3. Set the inventory of the variant (simple) product to Out of Stock.

  4. Reindex.

  5. Execute the below GraphQL query:

    code language-graphql
    query {
      products(filter: { sku: { eq: "MH01" } }) {
        items {
          sku
          price_range {
            minimum_price {
              regular_price {
                value
                currency
              }
              final_price {
                value
                currency
              }
              discount {
                amount_off
                percent_off
              }
            }
            maximum_price {
              regular_price {
                value
                currency
              }
              final_price {
                value
                currency
              }
              discount {
                amount_off
                percent_off
              }
            }
          }
        }
      }
    }
    
  6. Check the response section minimum_price > regular price.

Expected results:

The minimum regular price is not displayed as 0 in response.

Actual results:

The minimum regular price = 0 in response.

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 Patches available in QPT in our developer documentation.

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