[Endast PaaS]{class="badge informative" title="Gäller endast Adobe Commerce i molnprojekt (Adobe-hanterad PaaS-infrastruktur) och lokala projekt."}

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
NOTE
Korrigeringen kan bli tillämplig för andra versioner med nya Quality Patches Tool-versioner. Om du vill kontrollera om korrigeringen är kompatibel med din Adobe Commerce-version uppdaterar du 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:

  1. Skapa en kundvagnsprisregel med en kupong begränsad till en användning per kund.

  2. Placera en order som innehåller två artiklar.

  3. Öka kvantiteten för en artikel till två eller flera enheter och tillämpa kupongen.

  4. Bekräfta att följande databastabeller har poster:

    1. I ordningen lagras kupongen korrekt i tabellen sales_order.
    2. Tabellen salesrule_coupon_usage visar times_used = 1.
    3. Tabellen salesrule_customer visar times_used = 1.
  5. Skapa en partiell faktura genom att endast fakturera en enhet av artikeln.

  6. Avbryt den återstående ej fakturerade kvantiteten.

  7. Kontrollera fältvärdena times_used i tabellerna salesrule_coupon_usage och salesrule_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:

Relaterad läsning

Mer information om Quality Patches Tool finns i:

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