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

ACSD-64431: mutationen"placeOrder" med kupongkod i begäran orsakar ett internt serverfel

Korrigeringen ACSD-64431 åtgärdar ett problem där mutationen placeOrder som innehåller kupongkodsinformationen i begäran genererar ett internt serverfel i stället för att beställningen kan utföras. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.61 har installerats. Korrigerings-ID är ACSD-64431. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.8.

Berörda produkter och versioner

Korrigeringen har skapats för Adobe Commerce-version:

  • Adobe Commerce (alla distributionsmetoder) 2.4.7-p3

Kompatibel med Adobe Commerce-versioner:

  • Adobe Commerce (alla distributionsmetoder) 2.4.7 - 2.4.7-p4
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

mutationen placeOrder som innehåller kupongkodsinformationen i begäran genererar ett internt fel i stället för att ordern kan placeras.

Steg som ska återskapas:

  1. Skapa en enkel produkt med SKU 2836611.

  2. Skapa en Cart Price Rule, ange Coupon till Specific Coupon och ange TEST1234 som kupongkod.

  3. Skapa en kund:

    code language-none
    mutation {
    createCustomer(
        input: {
        firstname: "John"
        lastname: "Doe"
        email: "john.doe@example.com"
        password: "b1b2b3l@w+"
        is_subscribed: true
        }
    ) {
        customer {
        firstname
        lastname
        email
        is_subscribed
        }
    }
    }
    
  4. Generera en kundtoken. Du kan använda denna token för efterföljande begäranden.

    code language-none
    mutation {
    generateCustomerToken(email: "john.doe@example.com", password: "b1b2b3l@w+") {
        token
    }
    }
    
  5. Skapa en tom kundvagn. Spara kundvagn-ID:t och använd det för efterföljande begäranden.

    code language-none
    mutation {
        createEmptyCart
    }
    
  6. Lägg produkten i kundvagnen:

    code language-none
    mutation {
        addProductsToCart(
            cartId: "xxxx"
            cartItems: [{ quantity: 1, sku: "2836611" }]
        ) {
            cart {
                itemsV2 {
                    items {
                        product {
                            name
                            sku
                        }
                        ... on ConfigurableCartItem {
                            configurable_options {
                                configurable_product_option_uid
                                value_label
                            }
                        }
                        quantity
                    }
                    total_count
                    page_info {
                        page_size
                        current_page
                        total_pages
                    }
                }
            }
            user_errors {
                code
                message
            }
        }
    }
    
  7. Använd kupongen:

    code language-none
    mutation {
        applyCouponToCart(input: { cart_id: "xxxx", coupon_code: "TEST1234" }) {
            cart {
                itemsV2 {
                    items {
                        product {
                            name
                        }
                        quantity
                    }
                    total_count
                    page_info {
                        page_size
                        current_page
                        total_pages
                    }
                }
                applied_coupons {
                    code
                }
                prices {
                    grand_total {
                        value
                        currency
                    }
                }
            }
        }
    }
    
  8. Ange en leveransadress:

    code language-none
    mutation {
        setShippingAddressesOnCart(
            input: {
                cart_id: "xxxxx"
                shipping_addresses: [
                    {
                        address: {
                            firstname: "John"
                            lastname: "Doe"
                            company: "Company Name"
                            street: ["3320 N Crescent Dr", "Beverly Hills"]
                            city: "Los Angeles"
                            region: "CA"
                            region_id: 12
                            postcode: "90210"
                            country_code: "US"
                            telephone: "123-456-0000"
                            save_in_address_book: false
                        }
                    }
                ]
            }
        ) {
            cart {
                shipping_addresses {
                    firstname
                    lastname
                    company
                    street
                    city
                    region {
                        code
                        label
                    }
                    postcode
                    telephone
                    country {
                        code
                        label
                    }
                    available_shipping_methods {
                        carrier_code
                        carrier_title
                        method_code
                        method_title
                    }
                }
            }
        }
    }
    
  9. Ange leveranssätt:

    code language-none
    mutation {
        setShippingMethodsOnCart(
            input: {
                cart_id: "xxxx"
                shipping_methods: [{ carrier_code: "flatrate", method_code: "flatrate" }]
            }
        ) {
            cart {
                shipping_addresses {
                    selected_shipping_method {
                        carrier_code
                        carrier_title
                        method_code
                        method_title
                        amount {
                            value
                            currency
                        }
                    }
                }
            }
        }
    }
    
  10. Ange en faktureringsadress:

    code language-none
    mutation {
        setBillingAddressOnCart(
            input: {
                cart_id: "xxxx"
                billing_address: {
                    address: {
                        firstname: "John"
                        lastname: "Doe"
                        company: "Company Name"
                        street: ["64 Strawberry Dr", "Beverly Hills"]
                        city: "Los Angeles"
                        region: "CA"
                        region_id: 12
                        postcode: "90210"
                        country_code: "US"
                        telephone: "123-456-0000"
                        save_in_address_book: true
                    }
                }
            }
        ) {
            cart {
                billing_address {
                    firstname
                    lastname
                    company
                    street
                    city
                    region {
                        code
                        label
                    }
                    postcode
                    telephone
                    country {
                        code
                        label
                    }
                }
            }
        }
    }
    
  11. Ange en betalningsmetod:

    code language-none
    mutation {
        setPaymentMethodOnCart(
            input: { cart_id: "xxxx", payment_method: { code: "checkmo" } }
        ) {
            cart {
                selected_payment_method {
                    code
                }
            }
        }
    }
    
  12. Beställ:

    code language-none
    mutation {
    placeOrder(
        input: {
        cart_id: "{{cart_id}}"
        }
    ) {
        orderV2 {
        number
        token
        }
        errors {
        message
        code
        }
    }
    }
    

Förväntade resultat:

Beställningen ska placeras.

Faktiska resultat:

Följande felmeddelande visas:
"message": "Internal server error"

exception.log innehåller följande fel:

    report.ERROR: "discount_model" value should be specifiedGraphQL (1:135)
    1: mutation { placeOrder(input: {cart_id: "xxxx"}) { orderV2 { total { discounts { amount { currency value } coupon { code } } } } errors { message code } } }

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