Olá pessoal! Estou com um problema e tenho tentado resolvê-lo há alguns dias, sem sucesso, então espero que alguém aqui possa ajudar ![]()
Discourse 3.4.0.beta1-dev
Subscriptions 2.8.1 - f0b4984
Instalação Docker em VM Linux
Instalei e ativei o plugin de assinaturas, e ele funciona na maioria das vezes ao usar a tabela de preços integrada (ocasionalmente um usuário não é adicionado aos grupos após uma assinatura, mas isso é um problema separado, eu acho).
No entanto, eu realmente preciso usar a tabela de preços e o checkout do Stripe pela UX familiar e pela confiança que eles trazem. Para isso, tenho tudo configurado para webhooks, com todos os segredos etc. configurados (atualmente usando o modo de teste, então usando chaves e segredos do modo de teste).
Consigo ir com sucesso para a página de assinatura, passar pelo fluxo de checkout da tabela de preços e finalizar a compra com os cartões de teste.
No entanto, isso resulta em nenhuma assinatura sendo criada no Discourse e nenhuma alteração nos grupos do usuário, e olhando os webhooks no painel do Stripe, vejo que eles estão recebendo uma resposta 422 com o corpo:
{
"errors": [
"customer not found"
]
}
Já tentei isso com alguns usuários diferentes, e o resultado é sempre o mesmo.
Tendo olhado no banco de dados, não estou vendo os clientes mencionados no webhook do Stripe na tabela discourse_subscriptions_customers, e nenhuma assinatura correspondente na tabela discourse_subscriptions_subscriptions também - o que eu acho que pode ser esperado, já que a chamada do webhook nunca está sendo processada?
Para constar, verifiquei que as chamadas de webhook do Stripe podem ter sucesso em geral - se eu tiver a configuração “usar tabela de preços do Stripe” desativada, e passar pelo checkout integrado para criar uma assinatura, então tudo está bem - e se eu cancelar a assinatura do Stripe, o webhook customer.subscription.deleted chega sem problemas.
Espero que eu tenha feito algo bobo aqui e que não esteja configurado corretamente, mas estou realmente lutando para descobrir o que preciso fazer para fazê-lo funcionar.
Obrigado antecipadamente!
Ross

