ACSD-56158: Felaktigt momsvärde i GraphQL-svar när flera momsregler tillämpas på kundvagn

Korrigeringen ACSD-56158 åtgärdar ett problem där återgivningen av momsvärdet i GraphQL-svaret är felaktig när flera momsregler tillämpas på kundvagnen. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.44 har installerats. Korrigerings-ID är ACSD-56158. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.7.

Berörda produkter och versioner

Korrigeringen har skapats för Adobe Commerce-version:

  • Adobe Commerce (alla distributionsmetoder) 2.4.5-p5

Kompatibel med Adobe Commerce-versioner:

  • Adobe Commerce (alla distributionsmetoder) 2.4.5-p5 - 2.4.6-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

Återgivningen av momsvärdet i GraphQL-svaret är felaktig när flera momsregler tillämpas på kundvagnen.

Steg som ska återskapas:

  1. Skapa en kund med en amerikansk adress.

  2. Navigera till panelen Admin.

  3. Skapa en produkt till priset 100 USD.

  4. Skapa två skattesatser för den amerikanska adressen: en för 10 % och den andra för 5 %.

  5. Konfigurera två momsregler för USA från Stores > Taxes > Tax Rule.

  6. Tilldela en momssats till en regel.

  7. Logga in som kund med den amerikanska adressen och lägg till produkten i kundvagnen.

  8. Generera en kundtoken via GraphQL.

  9. Generera ett kundvagn-ID via GraphQL.

  10. Kontrollera att momsen är korrekt genom att hämta kundens kundvagn via GraphQL:

    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
                    }
                }
            }
        }
    }
    

Förväntade resultat:

Varje momssats visar sitt eget momsbelopp:

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

Faktiska resultat:

Totalt momsbelopp returnerat för varje regel:

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

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:

Mer information om andra tillgängliga korrigeringsfiler i QPT finns i Quality Patches Tool: Söka efter korrigeringsfileri Quality Patches Tool-handboken.

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