MDVA-31363 patch: Cart price rule does not apply (GraphQL)

A new patch called MDVA-33975 fixes GraphQL price calculation issues. MDVA-31363 is depreciated and it is recommended that you apply the patch MDVA-33975. To access this patch, refer to MDVA-33975 patch: GraphQL price calculations.

The MDVA-31363 patch fixes the issue where the cart price rule with coupon does not apply via GraphQL when the ‘Fixed amount discount for whole cart’ action is used. This patch is available when the Quality Patches Tool (QPT) 1.0.9 is installed. The issue is scheduled to be fixed in Adobe Commerce version 2.4.2.

Affected products and versions

The patch is created for Adobe Commerce version:

Adobe Commerce on cloud infrastructure 2.4.0

Compatible with Adobe Commerce versions:

Adobe Commerce on cloud infrastructure and Adobe Commerce on-premises 2.3.2 - 2.4.1

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.


Recalculating quote totals before giving a response about quote prices causes applied rules to be lost.

Steps to reproduce:

  1. Create a simple product.
  2. Create a cart price rule with a fixed amount discount for the whole cart.
  3. Create a new shopping cart using GraphQL.
  4. Save the card_id from the response and add the product from step 1 to the cart using GraphQL.
  5. Activate the cart price rule by adding the coupon code to cart using GraphQL.
  6. Check price in response.

Expected results:

Discount is applied.

Actual results:

Discount is not applied.

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