ACSD-64431: A mutação "placeOrder" com código de cupom na solicitação lança um erro interno do servidor
O patch ACSD-64431 corrige o problema em que a mutação placeOrder que contém as informações do código do cupom na solicitação lança um erro interno do servidor em vez de fazer o pedido com êxito. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.61 está instalado. A ID do patch é ACSD-64431. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.8.
Produtos e versões afetados
O patch foi criado para a versão do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.7-p3
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.7 - 2.4.7-p4
magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.Problema
A mutação placeOrder que contém as informações do código do cupom na solicitação lança um erro interno, em vez de fazer o pedido com êxito.
Etapas a serem reproduzidas:
-
Crie um produto simples com SKU 2836611.
-
Crie um Cart Price Rule, defina Coupon como
Specific Coupone insira TEST1234 como o código do cupom. -
Criar um cliente:
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 } } } -
Gere um token de cliente. Você pode usar esse token para solicitações subsequentes.
code language-none mutation { generateCustomerToken(email: "john.doe@example.com", password: "b1b2b3l@w+") { token } } -
Crie um carrinho vazio. Salve a ID do carrinho e use-a para as solicitações subsequentes.
code language-none mutation { createEmptyCart } -
Adicionar o produto ao carrinho:
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 } } } -
Aplique o cupom:
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 } } } } } -
Defina um endereço de entrega:
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 } } } } } -
Defina um método de envio:
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 } } } } } } -
Defina um endereço de cobrança:
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 } } } } } -
Defina um método de pagamento:
code language-none mutation { setPaymentMethodOnCart( input: { cart_id: "xxxx", payment_method: { code: "checkmo" } } ) { cart { selected_payment_method { code } } } } -
Coloque o pedido:
code language-none mutation { placeOrder( input: { cart_id: "{{cart_id}}" } ) { orderV2 { number token } errors { message code } } }
Resultados esperados:
O pedido deve ser feito.
Resultados reais:
A seguinte mensagem de erro é exibida:"message": "Internal server error"
exception.log contém o seguinte erro:
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 } } }
Aplicar o patch
Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool.
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem.
Leitura relacionada
Para saber mais sobre Quality Patches Tool, consulte:
- Quality Patches Tool: uma ferramenta de autoatendimento para patches de qualidade no guia Ferramentas.