QUALITY PATCH

MDVA-29400: Duplicated orders are created when users place orders with PayPal Express Checkout

Duplicated orders are created when users place orders with PayPal Express Checkout. Quality patch MDVA-29400 for magento/module-paypal applies to Magento Open Source and Adobe Commerce 2.3.0 to 2.4.0-p1.

Categories
Order/Checkout, Payments
Components
magento/module-paypal
Origin
adobe-commerce-support
Since QPT
1.1.4

Issue

Duplicated orders are created when users place orders with PayPal Express Checkout.

Steps to reproduce

1. Add a product to Cart. 1. Go to the Checkout Page and use PayPal Express as the payment method. 1. It will redirect to paypal/express/review/ page. 1. Place order. You will be redirected to Success Page. 1. Go back to PayPal/express/review/ Page. 1. Click on the Place Order button.

Adobe's page lists 2.3.0 - 2.3.7-p1, 2.4.0 - 2.4.0-p1 as compatible; the versions below are resolved from the current QPT constraints and are the ones the tool will offer.

Install

Install the Quality Patches Tool with composer require magento/quality-patches, apply the prerequisites listed for all files applicable to your distribution and version first, then run vendor/bin/magento-patches apply MDVA-29400. On Cloud, add MDVA-29400 under stage.build.QUALITY_PATCHES in .magento.env.yaml.

For cweagans/composer-patches, choose a compatible version below and download the bundle. Copy its MDVA-29400/ folder into patches/composer/, merge composer.patches.json into composer.json, then run composer install. Bundle prerequisites the same way and list them first. Paths are relative to each package root, using the default -p1 level. Prefer local files when configuring composer-patches; a remote URL can change.

Patch files and compatible versions

Packages across compatible versions (1): magento/module-paypal
Packages across compatible versions (1): magento/module-paypal

magento/magento2-base >=2.3.0 <=2.3.7-p1 || >=2.4.0 <=2.4.0-p1

Magento Open Source
2.4.0-p1, 2.4.0, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0
Adobe Commerce
2.4.0-p1, 2.4.0, 2.3.7-p1, 2.3.7, 2.3.6-p1, 2.3.6, 2.3.5-p2, 2.3.5-p1, 2.3.5, 2.3.4-p2, 2.3.4-p1, 2.3.4, 2.3.3-p2, 2.3.3, 2.3.2-p2, 2.3.2-p1, 2.3.2, 2.3.1, 2.3.0
Patch file
patches/os/MDVA-29400_2.3.4.patch
  • vendor/magento/module-paypal/Controller/Express/AbstractExpress/Cancel.php
  • vendor/magento/module-paypal/Controller/Express/AbstractExpress/PlaceOrder.php

Sources

Łukasz Bajsarowicz
Built by

Łukasz Bajsarowicz, e-commerce architect

Magento and Adobe Commerce architecture, upgrades, performance and audits for merchants and agencies since 2015; magento.watch is the tooling I use on those projects.

Open source, maintained on weekends.