Problema de assinaturas sobrepostas

Nossa comunidade mudou recentemente as taxas de adesão. Devido à forma como o Stripe funciona, tivemos que criar um novo produto de assinatura com o novo preço e, em seguida, comunicar aos nossos membros que eles precisariam renovar manualmente este ano sob o novo produto. Tanto a assinatura antiga quanto a nova estão vinculadas ao nosso “grupo privado”, que concede aos nossos membros permissões para ver as categorias privadas.

No entanto, alguns de nossos membros estão assinando o novo produto antes que o antigo expire. Então, o que parece estar acontecendo é que o plugin está removendo nossos membros do grupo privado quando a assinatura antiga expira, mesmo que a nova ainda esteja ativa. Claro, isso está causando confusão e reclamações.

Não sei como resolver isso, então espero que alguém aqui tenha uma sugestão. Agradeço antecipadamente!

Talvez você possa associar o grupo da assinatura antiga a um grupo fictício. Então, quando esse grupo expirasse, eles seriam removidos do grupo fictício. Eles permaneceriam membros do grupo mesmo após a expiração da assinatura antiga, então você precisaria ir periodicamente e remover manualmente essas pessoas do grupo.

Outra ideia que tive foi fazer algo como o abaixo, mas eu teria que olhar o código-fonte para descobrir como fazer isso, e acho que a solução acima funcionaria e não exigiria o conhecimento dos detalhes internos.

   old_subscriptions=SubscriptionOrSomethingLikeThat.where(somefield: 'sub_xyz')
   old_subscriptions.destroy_all

Acho que a maneira “correta” de fazer isso teria sido criar um novo grupo para a nova assinatura e adicioná-lo às categorias associadas. Isso também seria um incômodo.

1 curtida