ACSD-69261: Kupongen för engångsavgiftsregel återanvänds på grund av felaktig times_used-hantering i partiella faktura- och annulleringsflöden
Korrigeringen ACSD-69261 åtgärdar ett problem där en kundvagnsregelkupong som konfigurerats för engångsbruk per kund återanvänds flera gånger på grund av felaktig hantering av attributet times_used i scenarier med partiella fakturor och återstående kvantitetsåterkallning. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.76 har installerats. Korrigerings-ID är ACSD-69261. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.9.
Berörda produkter och versioner
Korrigeringen har skapats för Adobe Commerce-version:
- Adobe Commerce (alla distributionsmetoder) 2.4.6-p13
Kompatibel med Adobe Commerce-versioner:
- Adobe Commerce (alla distributionsmetoder) 2.4.4 - 2.4.8-p3
magento/quality-patches-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler . Använd patch-ID:t som söknyckelord för att hitta patchen.Problem
En kupong med kundprisregel som konfigurerats för engångsbruk per kund kan återanvändas felaktigt flera gånger på grund av felaktig hantering av attributet times_used när partiella fakturor skapas och annullering av återstående ofakturerade kvantitet.
Steg som ska återskapas:
-
Skapa en kundvagnsprisregel med en kupong begränsad till en användning per kund.
-
Placera en order som innehåller två artiklar.
-
Öka kvantiteten för en artikel till två eller flera enheter och tillämpa kupongen.
-
Bekräfta att följande databastabeller har poster:
- I ordningen lagras kupongen korrekt i tabellen
sales_order. - Tabellen
salesrule_coupon_usagevisartimes_used= 1. - Tabellen
salesrule_customervisartimes_used= 1.
- I ordningen lagras kupongen korrekt i tabellen
-
Skapa en partiell faktura genom att endast fakturera en enhet av artikeln.
-
Avbryt den återstående ej fakturerade kvantiteten.
-
Kontrollera fältvärdena
times_usedi tabellernasalesrule_coupon_usageochsalesrule_customer.
Förväntade resultat:
Systemet minskar endast värdet times_used efter att ofakturerade kvantiteter annullerats efter en partiell faktura, vilket gör att kupongen kan användas igen när den är konfigurerad för en engångsanvändning per kund.
Faktiska resultat:
Efter annulleringen återställs värdena times_used till noll i stället för att deras korrekta användningsantal behålls.
Tillämpa korrigeringen
Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:
- Lokal användning för Adobe Commerce eller Magento Open Source: Quality Patches Tool > Användning i guiden Quality Patches Tool
- Adobe Commerce om molninfrastruktur: Uppgraderingar och korrigeringar > Tillämpa korrigeringar i guiden för Commerce om molninfrastruktur
Relaterad läsning
Mer information om Quality Patches Tool finns i:
- Quality Patches Tool: Ett självbetjäningsverktyg för kvalitetspatchar i verktygshandboken