Usar Firebase Functions seria a melhor escolha por questões de segurança e controle. Você pode configurar funções que são ativadas pelos eventos do Stripe (como expiração ou cancelamento de assinatura), automatizando o downgrade e evitando que qualquer lógica importante fique exposta no client-side. Isso também facilita a manutenção do sistema no futuro, centralizando a lógica de verificação.
2
1
Eu estava vendo aqui que essas ações são controladas por webhooks da Stripe. As functions seriam para substituir isso? Ainda não está claro pra mim...
1
Os webhooks do Stripe recebem os eventos (tipo quando um plano expira), e as Firebase Functions entram pra processar esses eventos. Elas não substituem os webhooks, só usam as infos que chegam pra fazer coisas como atualizar o plano do usuário. Assim, tudo rola no back-end, mais seguro e sem risco de manipulação no front.