[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

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
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote 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:

  1. Crie uma regra de preço do carrinho com um cupom limitado a um uso por cliente.

  2. Fazer um pedido contendo dois itens.

  3. Aumente a quantidade de um item para duas ou mais unidades e aplique o cupom.

  4. Confirme se as seguintes tabelas de banco de dados têm entradas:

    1. O pedido armazena o cupom corretamente na tabela sales_order.
    2. A tabela salesrule_coupon_usage mostra times_used = 1.
    3. A tabela salesrule_customer mostra times_used = 1.
  5. Criar uma fatura parcial faturando apenas uma unidade do item.

  6. Cancelar a quantidade não faturada restante.

  7. Verifique os valores de campo times_used nas tabelas salesrule_coupon_usage e salesrule_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:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

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