Assinaturas de problemas, modo de teste e opção de faturamento

Olá,

Estou tentando usar assinaturas (tabela de preços) na minha instância auto-hospedada. Configurei e testei no modo de teste do Stripe, no entanto, quando vou para o modo ativo, embora pareça funcionar, a aba “cobrança” no meu perfil está relatando um erro.

:frowning:
Erro
ao tentar carregar /s/user/subscriptions
Algo deu errado.

Quando verifico o console JavaScript, vejo:

“um objeto semelhante existe no modo de teste, mas uma chave do modo ativo foi usada”

Isso me faz pensar que há um problema de consistência ao alternar entre os modos. Agora que sei que este é um problema, posso ter cuidado com quais contas eu testo, mas minha pergunta é: como resolvo isso para usuários que assinaram no modo de teste, que agora querem fazer uma assinatura real no modo ativo?

(ou seja, como resolvo esse erro)

Haverá uma consulta de banco de dados que posso executar ou algo semelhante para limpar todas as assinaturas de um usuário, incluindo aquelas que podem causar um problema?
Obrigado.

Ok, acho que consertei (!).

Em resumo, o uso do modo de teste parece ter deixado artefatos em usuários que tentaram assinaturas de teste, imagino que as assinaturas não foram canceladas da maneira certa ou esperada. Ao mudar para o modo de produção, a aba de faturamento apresenta erros.

O que eu tentei…

Primeiro, não leve isso literalmente, estou adivinhando com base em outras postagens e estes são os comandos que usei, embora eu possa ter usado literais e ter que repetir alguns… mas esta é a ideia geral;

./launcher enter app
rails c
u = User.find_by_username(<username>)
c = DiscourseSubscriptions::Customer.find_by(user_id: u.id)
subscription = DiscourseSubscriptions::Subscription.where(customer_id: c[:customer_id])
subscription.destroy_all
c.destroy

Parece que “subscription.destroy_all” remove referências externas pendentes ao Stripe, e “c.destroy” remove a assinatura local. Isso foi OK, ou eu quebrei algo internamente?

3 curtidas

Sim, totalmente ok para limpar assinaturas de usuários de teste.

Aliás, um dos problemas que tive com Assinaturas é que ele realmente só faz assinaturas (!) não é tão bom em adicionar alguns produtos aleatórios (canecas, camisetas etc)… argumentavelmente pode fazer isso, mas a apresentação usando tabelas de preços não funciona bem ao lado de assinaturas reais. (e há um limite de 4 produtos)

Para esse fim, consegui encontrar uma maneira de adicionar um “botão” a uma página que insere “uma” tabela de preços em “uma” página, o que remove os limites no número de tabelas de preços que você pode usar e significa que você pode usá-las em linha nas páginas… o que lhes dá algum contexto. (A página de assinaturas parece um pouco “fora” de contexto em termos de garantir que o usuário saiba o que está por vir quando clica em “comprar”… :slight_smile: )

São cerca de 25 linhas e feito via UI como Admin… nenhum plugin externo necessário… parece uma solução genericamente útil que não consegui encontrar em outro lugar… onde seria o melhor lugar para publicá-la para consumo público?