ACSD-69261: cupom da regra de preço do carrinho de uso único reutilizado devido ao manuseio incorreto de times_used em fluxos de fatura parcial e cancelamento
O patch ACSD-69261 corrige o problema em que um cupom da regra de preço do carrinho configurado para uso único por cliente era reutilizado várias vezes devido ao tratamento incorreto do atributo times_used em cenários de cancelamento de fatura parcial e quantidade restante. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.76 está instalado. A ID do patch é ACSD-69261. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.9.
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.6-p13
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.4 - 2.4.8-p3
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
Um cupom da regra de preço do carrinho configurado para uso único por cliente pode ser reutilizado incorretamente várias vezes, devido ao tratamento inadequado do atributo times_used durante a criação parcial da fatura e o cancelamento da quantidade não faturada restante.
Etapas a serem reproduzidas:
-
Crie uma regra de preço do carrinho com um cupom limitado a um uso por cliente.
-
Fazer um pedido contendo dois itens.
-
Aumente a quantidade de um item para duas ou mais unidades e aplique o cupom.
-
Confirme se as seguintes tabelas de banco de dados têm entradas:
- O pedido armazena o cupom corretamente na tabela
sales_order. - A tabela
salesrule_coupon_usagemostratimes_used= 1. - A tabela
salesrule_customermostratimes_used= 1.
- O pedido armazena o cupom corretamente na tabela
-
Criar uma fatura parcial faturando apenas uma unidade do item.
-
Cancelar a quantidade não faturada restante.
-
Verifique os valores de campo
times_usednas tabelassalesrule_coupon_usageesalesrule_customer.
Resultados esperados:
O sistema diminui o valor times_used somente depois de cancelar quantidades não faturadas após uma fatura parcial, permitindo que o cupom seja usado novamente quando configurado para uso único por cliente.
Resultados reais:
Após o cancelamento, os valores times_used são redefinidos como zero, em vez de manter sua contagem de uso correta.
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: