Stripe - Como lidar com assinatura com um plano gratuito e sem necessidade de cartão de crédito no momento da inscrição

Nós começamos a implementar Stripe emRedsmin (um dos nossos projetos) e acho que podemos ter perdido alguma coisa. Aqui está como isso funciona:

Para usar o nosso produto, o usuário deve selecionar um plano (free, s, m, xl, xxl ...), em seguida, digite seu login / senha e, em seguida, é bom ir para um teste gratuito de 30 dias. Quando o usuário envia o formulário, nosso servidor chama Stripecreate_customer com o plano especificado e sem cartão de crédito (porque queremos oferecer 30 dias grátis sem necessidade de cartão de crédito) e atualizamos o modelo de usuário do nosso lado com o retornocustomer_id esubscription_id.

Nós criamos um webhook para receber eventos de stripe, então depois de 30 dias nosso webhookdevemos receber umcustomer.subscription.updated evento com umobject.status == active. Estou certo?

No entanto, como não especificamos um cartão associado para o usuário no momento da inscrição,devemos receber rapidamente após o outrocustomer.subscription.updated evento comobject.status == unpaid certo? Então, do nosso lado, desativamos a conta do usuário e a forçamos a ir para a nossa página de seleção de planos.

A partir de então, o usuário poderá selecionar o plano gratuito ou um de nossos planos premium:

#Cenário 1 Se o usuário seleciona o plano gratuito, apenas reativamos sua conta do nosso lado e não fazemos mais nada porque configuramos o plano gratuito na faixa para custar 0 $.Nós implementamos o processo certo com nosso plano gratuito? Existem melhores maneiras?

#Scenario 2 Se o usuário selecionar um plano premium, o redirecionaremos para um formulário de cartão de crédito, que será enviado para o Stripe, e atualizaremos a conta do cliente de distribuição com o token de cartão temporário.O que devemos fazer em seguida ?:

Devemos esperar pela faixa para nos enviar um evento? Se sim, que evento?customer.subscription.updated? charge.succeeded? Qual será o valor deobject.status então ?Devemos reativar diretamente a conta de usuário do nosso lado e aguardar uma confirmação da distribuição? Se sim, qual seria o nome do evento e os dados que deveríamos esperar?

questionAnswers(1)

yourAnswerToTheQuestion