Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correção dos descontos nas taxas de inscrição e somatória dos cupons #178

Merged
merged 109 commits into from
Jun 27, 2024

Conversation

lucastgama
Copy link
Contributor

O que mudou

O sistema agora aplica descontos na taxa de inscrição caso o valor do cupom seja maior que o da assinatura. Quando aplicados múltiplos cupons, a soma dos descontos é calculada corretamente. Além disso, ao adicionar mais de um item igual com taxa de inscrição, a quantidade e o valor são corrigidos.

Motivação

Um cliente enfrentou problemas com a aplicação de descontos em suas taxas de inscrição. Quando o valor do cupom era maior que o da assinatura, o valor final na Vindi não refletia o desconto na taxa de inscrição, gerando uma discrepância entre os valores no WP e no sistema da Vindi. Além disso, a aplicação de múltiplos cupons resultava em cálculos incorretos, causando divergências nos valores finais entre a plataforma Vindi e o WP. Por fim, ao adicionar mais de um item igual com taxa de inscrição no carrinho, o valor da taxa na plataforma Vindi ficava incorreto, pois o sistema enviava apenas uma taxa em vez da quantidade correta.

Solução proposta

  • Nova função calculate_discount: Recebe os valores das assinaturas e dos cupons. Se o valor dos cupons for maior que o das assinaturas, o restante será aplicado como desconto nas taxas de inscrição. Caso um cupom seja em porcentagem, o desconto será aplicado nas assinaturas e diretamente na taxa de inscrição, garantindo valores compatíveis no segundo ciclo.

  • Melhoria na função build_discount_item_for_subscription: Foram feitas melhorias nas fórmulas de gerenciamento dos cupons. Antes, diversos cupons eram englobados na mesma condição, mas agora novas fórmulas consideram cada tipo de cupom individualmente, tornando os cálculos mais precisos. Com a função calculate_discount, a soma dos valores dos cupons se tornou mais assertiva.

  • Melhoria na função build_sign_up_fee_item: Antes, o array da taxa de inscrição inseria um valor estático na quantidade. Agora, ele recebe um valor dinâmico, ajustando-se à quantidade de itens no carrinho e gerando o valor correto das taxas de inscrição.

Como testar

1. Desconto na taxa de inscrição

  • Adicione uma assinatura com taxa de inscrição ao seu pedido.
  • Adicione um cupom cujo valor seja maior que o da assinatura, mas inferior ao valor total da assinatura com a taxa de inscrição.
  • Finalize a compra e acesse o sistema da Vindi.
  • Encontre a assinatura de teste.
  • Verifique se a taxa de inscrição recebeu o desconto restante do cupom no sistema da Vindi.

2. Aplicação de múltiplos cupons

  • Adicione qualquer item ao seu carrinho.
  • Adicione mais de um cupom ao pedido, de preferência cupons variados (fixo no carrinho, porcentagem, etc.).
  • Finalize a compra e acesse o sistema da Vindi.
  • Encontre a assinatura de teste.
  • Verifique se todos os cupons somados refletem o valor removido do produto.

3. Valor da taxa de inscrição

  • Adicione dois ou mais itens iguais com taxa de inscrição.
  • Verifique se o valor está correto na nota do WP.
  • Finalize a compra e acesse o sistema da Vindi.
  • Encontre a assinatura de teste.
  • Verifique se a taxa de inscrição possui o valor correto.

…com as novas versões do PHP 8.3 e do WC 8.5.2
…remainder na condiçao quando o resto menor ou igual ao preço total, antes tinha um else e esse else foi removido para que o code climate pare com a issue
…era remainder - fullprice agora é apenas fullprice
… duplicação do desconto e na aplicação incorreta do desconto percentual em produtos simples.
Copy link

codeclimate bot commented Jun 20, 2024

Code Climate has analyzed commit 5742ebb and detected 0 issues on this pull request.

View more on Code Climate.

Copy link

@jose-honjoya-vindi jose-honjoya-vindi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revisado

@leticia-santos-vindi leticia-santos-vindi merged commit 027c3fd into vindi:master Jun 27, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants