ACSD-56158: Falscher Steuerwert in GraphQL-Antwort, wenn mehrere Steuerregeln auf den Warenkorb angewendet werden

Der Patch ACSD-56158 behebt das Problem, bei dem das Steuerwertrendering in der GraphQL-Antwort falsch ist, wenn mehrere Steuerregeln auf den Warenkorb angewendet werden. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.44 installiert ist. Die Patch-ID ist ACSD-56158. Bitte beachten Sie, dass das Problem in Adobe Commerce 2.4.7 behoben sein soll.

Betroffene Produkte und Versionen

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

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5-p5

Kompatibel mit Adobe Commerce-Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5-p5 - 2.4.6-p3
NOTE
Der Patch kann für andere Versionen mit neuen Quality Patches Tool -Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das Paket magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Suchen nach Patches. Verwenden Sie die Patch-ID als Suchschlüsselwort, um den Patch zu finden.

Problem

Die Darstellung des Steuerwerts in der GraphQL-Antwort ist falsch, wenn mehrere Steuerregeln auf den Warenkorb angewendet werden.

Zu reproduzierende Schritte:

  1. Erstellen Sie einen Kunden mit einer US-Adresse.

  2. Navigieren Sie zum Admin-Bedienfeld.

  3. Erstellen Sie ein Produkt mit einem Preis von 100 USD.

  4. Erstellen Sie zwei Steuersätze für die US-Adresse: einen für 10 % und einen für 5 %.

  5. Konfigurieren Sie zwei Steuerregeln für USA von Stores > Taxes > Tax Rule.

  6. Einer Regel einen Steuersatz zuweisen.

  7. Melden Sie sich von der Frontend-Seite aus als Kunde mit der US-Adresse an und fügen Sie das Produkt zum Warenkorb hinzu.

  8. Generieren Sie ein Kunden-Token über GraphQL.

  9. Generieren Sie eine Warenkorb-ID über GraphQL.

  10. Überprüfen Sie, ob die angewendete Steuer richtig ist, indem Sie den Warenkorb des Kunden über GraphQL abrufen:

    code language-graphql
    {
        cart(cart_id: "o3Yqt6zkn8ncOzFxGnR1IWdT..") {
            id
            email
            billing_address {
                city
                country {
                    code
                    label
                }
                firstname
                lastname
                company
                postcode
                vat_id
                region {
                    code
                    label
                }
                street
                telephone
            }
            shipping_addresses {
                firstname
                lastname
                company
                street
                city
                postcode
                vat_id
                region {
                    code
                    label
                }
                country {
                    code
                    label
                }
                telephone
                available_shipping_methods {
                    amount {
                        currency
                        value
                    }
                    available
                    carrier_code
                    carrier_title
                    error_message
                    method_code
                    method_title
                    price_excl_tax {
                        value
                        currency
                    }
                    price_incl_tax {
                        value
                        currency
                    }
                }
                selected_shipping_method {
                    amount {
                        value
                        currency
                    }
                    carrier_code
                    carrier_title
                    method_code
                    method_title
                }
            }
            available_payment_methods {
                code
                title
            }
            selected_payment_method {
                code
                title
            }
            applied_coupons {
                code
            }
            prices {
                grand_total {
                    value
                    currency
                }
                subtotal_excluding_tax {
                    value
                    currency
                }
                subtotal_including_tax {
                    value
                    currency
                }
                applied_taxes {
                    label
                    amount {
                        currency
                        value
                    }
                }
            }
        }
    }
    

Erwartete Ergebnisse:

Jeder Steuersatz zeigt seinen eigenen Steuerbetrag an:

"applied_taxes": [
    {
        "label": "US-CA-*-Rate 1",
        "amount": {
            "currency": "USD",
            "value": 10
        }
    },
    {
        "label": "US-CA-*-Rate 2",
        "amount": {
            "currency": "USD",
            "value": 5
        }
    }
]

Tatsächliche Ergebnisse:

Gesamtbetrag der für jede Regel zurückgegebenen Steuern:

"applied_taxes": [
    {
        "label": "US-CA-*-Rate 1",
        "amount": {
            "currency": "USD",
            "value": 15
        }
    },
    {
        "label": "US-CA-*-Rate 2",
        "amount": {
            "currency": "USD",
            "value": 15
        }
    }
]

Wenden Sie den Patch an

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

Verwandtes Lesen

Weitere Informationen zu Quality Patches Tool finden Sie unter:

Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool -Handbuch.

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