[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

ACSD-69261: Preisregelcoupon für einmaligen Warenkorb wird aufgrund falscher times_used in Teilrechnungs- und Stornierungsflüssen wiederverwendet

Mit dem Patch ACSD-69261 wird das Problem behoben, dass ein Warenkorbpreisregelcoupon, der für den einmaligen Gebrauch pro Kunde konfiguriert ist, mehrmals wiederverwendet wurde, da das Attribut times_used in Szenarien mit Teilrechnung und Restmengenstornierung falsch verarbeitet wurde. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.76 installiert ist. Die Patch-ID ist ACSD-69261. Dieses Problem wird voraussichtlich in Adobe Commerce 2.4.9 behoben.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.6-p13

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.4 - 2.4.8-p3
NOTE
Der Patch könnte mit neuen Quality Patches Tool-Versionen auch für andere Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.

Problem

Ein Warenkorb-Preisregelcoupon, der für den einmaligen Gebrauch pro Kunde konfiguriert wurde, kann aufgrund einer fehlerhaften Handhabung des times_used-Attributs während der teilweisen Rechnungserstellung und Stornierung der verbleibenden nicht fakturierten Menge fälschlicherweise mehrmals wiederverwendet werden.

Schritte zur Reproduktion:

  1. Erstellen Sie eine Warenkorb-Preisregel mit einem Coupon, der auf eine Verwendung pro Kunde beschränkt ist.

  2. Bestellung mit zwei Artikeln aufgeben.

  3. Erhöhen Sie die Menge eines Artikels auf zwei oder mehr Einheiten und wenden Sie den Coupon an.

  4. Vergewissern Sie sich, dass die folgenden Datenbanktabellen Einträge aufweisen:

    1. Die Bestellung speichert den Coupon korrekt in der sales_order.
    2. Die salesrule_coupon_usage Tabelle zeigt times_used = 1.
    3. Die salesrule_customer Tabelle zeigt times_used = 1.
  5. Erstellen Sie eine Teilrechnung, indem Sie nur eine Einheit des Artikels fakturieren.

  6. Stornieren Sie die verbleibende nicht fakturierte Menge.

  7. Überprüfen Sie die times_used Feldwerte in den Tabellen salesrule_coupon_usage und salesrule_customer .

Erwartete Ergebnisse:

Das System senkt den times_used erst, nachdem nicht fakturierte Mengen nach einer Teilrechnung storniert wurden, sodass der Coupon erneut verwendet werden kann, wenn er für eine einmalige Verwendung pro Kunde konfiguriert ist.

Tatsächliche Ergebnisse:

Nach dem Abbruch werden die times_used auf "" zurückgesetzt anstatt die korrekte Nutzungsanzahl beizubehalten.

Patch anwenden

Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

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