vindi / vindi-woocommerce

Plugin Vindi para pagamento recorrente no Woocommerce
https://vindi.com.br
GNU General Public License v3.0
6 stars 12 forks source link

Insere suporte a +1 assinatura no mesmo pedido (mesmo com periodicidades diferentes) #39

Closed luizdalcicoapisys closed 3 years ago

luizdalcicoapisys commented 3 years ago

O que mudou

O plugin estava criando uma única assinatura em caso do usuário comprar dois ou mais produtos de assinatura, porém esse agrupamento só pode ocorrer se forem produtos com periodicidade igual.

Motivação

Resolver a issue 30 reportada pelo cliente

Solução proposta

Unificação da criação de assinaturas apenas nos casos de periodicidade igual.

Como testar

Criar pedidos com 2+ assinaturas, em que haja diferença de periodicidade entre alguma delas. Observar a criação das assinaturas na Vindi conforme agrupamento.

Closes #30 Closes #44

leo-araujo commented 3 years ago

@laerte-guimaraes @luizdalcicoapisys Realizando a compra de 2 assinaturas no método boleto bancário um dos botões para acesso ao PDF do boleto está dando redirect pra página de conclusão de compra.

image

Apenas o botão do boleto anual de fato funciona.

Neste exemplo eu fiz a compra de 3 assinaturas porém somente para anual gerou o link corretamente:

image

Devido ao prazo de entrega, não se seria um impeditivo para merge do PR devido ao não funcionamento atual mas se tornaria uma nova issue pra uma correção futura.

O que acham?

luizdalcicoapisys commented 3 years ago

Por mim tudo bem @LeoAraujo01 , eu corrijo essa nova issue muito em breve

laerte-guimaraes commented 3 years ago

Não gosto muito dessa ideia, podemos tocar as outras demandas e entregar essa quando estiver concluída 👍🏾

leo-araujo commented 3 years ago

@laerte-guimaraes Faz sentido!

Tenho alguns pontos de atenção que podem gerar problemas futuros. São estes:

Seguindo o exemplo que eu compartilhei no comentário anterior:

Entendo que a criação de um único pedido por carrinho é uma limitação do WooCommerce e isso é o maior influenciador destes pontos, mas conseguimos tratar/mitigar estes problemas de alguma forma? Acredito que se mantermos a funcionalidade desta forma teremos problemas futuros nos pontos citados.

laerte-guimaraes commented 3 years ago

@LeoAraujo01 e @luizdalcicoapisys fiz uma nova branch com algumas alterações nesse mecanismo.

O problema é que como estamos considerando apenas a periodicidade, o intervalo pode gerar assinaturas equivocadas. ⚠️

Ex:

Deveriam ser cobranças diferentes, e nesse caso estão sendo realizadas em conjunto ❌

Já a solução que propus é que sempre criemos uma nova assinatura para cada produto do WooCommerce.

Se fizer sentido para vocês eu mesclo a solução nesse PR e finalizamos esse ponto ✔️

luizdalcicoapisys commented 3 years ago

@laerte-guimaraes @LeoAraujo01 , realmente o PR só trata periodicidades e não intervalos, mas acredito que isso já atenderia a demanda reportada na issue. A mudança de criar uma assinatura por produto ao meu ver precisa ser melhor entendida, pois temos visualizações no wp-admin que podem ser impactadas, como por exemplo a função de reembolso, além dos webhooks. Deixaria isso para uma nova issue.

@laerte-guimaraes @LeoAraujo01 aproveitando, nesse mesmo PR eu acabei tratando melhor os casos de falha na criação de alguma assinatura do carrinho. O @laerte-guimaraes tinha me sugerido criar um PR a parte para linkar com a nova issue de rejeição que ele criou, mas ficou difícil separar em um novo PR pois o trecho já estava bastante alterado por conta dessa alteração de assinatura. Vou apenas linkar a issue com esse PR.