Adicionar assinante a um grupo é compatível com a tabela de preços do Stripe?

Usando o plugin Subscriptions com a tabela de preços do Stripe, ainda é possível adicionar assinantes a grupos?

Mudei para usar a tabela de preços do Stripe para listar meus produtos, em vez do plugin Subscriptions. Os assinantes não estão mais sendo adicionados ao meu grupo de usuários especificado (para a assinatura original criada no Discourse, desde que adicionada à minha tabela de preços). Novos produtos criados no Stripe também não estão aparecendo no plugin de assinaturas do Discourse, como eu pensava que faziam antes de mudar para a tabela de preços.

Este é o comportamento esperado, ou eu quebrei algo no processo?

Se for esperado, posso ajudar a adicionar uma linha ao guia do plugin, para destacar as consequências de mudar para a tabela de preços?

Vou analisar o conselho sobre webhooks e integração, mas qualquer dica sobre como automatizar a adição de assinantes a um grupo é muito apreciada :pray:

Obrigado

1 curtida

Sim, mas você precisa garantir que criou os produtos a partir do Discourse, não do Stripe.

Criando o produto a partir do Discourse primeiro:

Depois de criar o produto no Discourse, você criará um plano para ele, onde especificará o preço e o grupo:

Em seguida, no Stripe, ao criar a tabela de preços, você deve selecionar apenas os produtos criados no Discourse:

Então, quando um usuário se inscrever, ele será adicionado ao grupo escolhido:

2 curtidas

E se você tiver coisas que não criou com o Discourse e que deseja que o Discourse saiba (e você está auto-hospedado), pode tentar rake subscriptions:subscriptions_import

2 curtidas

Obrigado por esta resposta detalhada, @blake! Vou configurar os produtos e planos no Discourse e marcar isto como a solução após os testes.

Parece que os cupons e códigos promocionais são transferidos corretamente entre Stripe e Discourse. Meu teste final é se a integração ainda se comporta após adicionar uma descrição e recursos de marketing ao produto no Stripe (para preencher a tabela de preços).

2 curtidas

Obrigado pela dica adicional, @pfaffman :smiley:

1 curtida

Alguém comprou meu produto+plano criado no Discourse durante o fim de semana e não foi adicionado ao meu grupo especificado. Portanto, parece que editar o produto+plano no Stripe após criá-lo no Discourse de alguma forma quebra essa integração.

Também testei isso agora mesmo comprando uma assinatura e não fui adicionado ao grupo especificado.

Se alguém puder aconselhar como testar isso ainda mais para descobrir onde as coisas dão errado, ficarei feliz em fazê-lo.

Também vou investigar outras formas de integrar pagamentos do Stripe com o Discourse.

1 curtida

Desculpe, isso ainda não está funcionando :thinking:

Ainda bem que você mencionou isso, acho que pode haver um problema separado com pagamentos únicos. Acabei de testar localmente e estou vendo um erro com a chamada do webhook, provavelmente fazendo com que ele não adicione o usuário ao grupo ou que a transação apareça na página de faturamento do usuário.

Vou ver se consigo criar uma correção de código para que as transações futuras funcionem.

2 curtidas

Ok, criei um correção de código para este problema. Se você atualizar seu plugin de assinaturas para a versão mais recente, ele deverá funcionar para todos os novos pagamentos únicos com a tabela de preços.

2 curtidas

Brilhante! Obrigado pela correção rápida :smiley:

Vou testá-lo pessoalmente e com clientes, e marcarei isso como a solução assim que tiver certeza de que está funcionando como esperado.

1 curtida

Lamento informar que a correção do seu código não resolveu o problema. Tive quatro compras de dois clientes separados desde a atualização, e nenhuma foi adicionada a grupos. Também não consigo ver nenhum pagamento ou assinatura nas páginas de faturamento deles.

Acredito que a correção do código mudou uma coisa: os produtos que criei no Discourse desde a atualização do plugin de Assinaturas agora estão marcados com os metadados repurchaseable: false no Stripe. No entanto, o produto criado antes da correção do código não teve esses metadados adicionados (ele foi comprado).

Me diga o que posso fazer para ajudar a diagnosticar o problema!

Primeiramente, parabéns por todas as inscrições que você está recebendo, isso é muito legal! Desculpe que as coisas ainda não estejam funcionando corretamente com o plugin de assinatura. Na minha configuração local, os usuários são adicionados a grupos assim que se inscrevem, então sei que isso pode funcionar. Vou investigar mais um pouco e depois enviarei uma mensagem privada para perguntar sobre alguns detalhes da sua configuração para que possamos chegar ao fundo disso.

2 curtidas

Ok, consegui replicar seus problemas em um ambiente de produção que configurei para testar o plugin. Sei que a primeira coisa a corrigir é adicionar checkout.session.completed como um evento para o seu webhook existente.

Se isso estiver faltando, o Stripe não enviará as informações de checkout da Tabela de Preços para o Discourse.

Isso deve ser tudo o que você tem a fazer, mas pode haver outra correção de código que eu precise fazer, na qual estou investigando atualmente.

2 curtidas

Olá Blake,

Tive o mesmo problema. Após a compra, que é mostrada com sucesso no Stripe, a atualização do usuário não funciona:

Espero que você possa ajudar!

Muito obrigado desde já!

1 curtida

Obrigado por investigar isso mais a fundo, Blake. Atualizei meu webhook do Stripe para adicionar checkout.session.completed

Voltarei quando tiver notícias de sucesso/falha!

Nota para mim mesmo - encontrar webhooks em https://dashboard.stripe.com/webhooks/. Instalei o plugin de Assinaturas pela primeira vez há vários anos, então estava um pouco enferrujado na configuração…

A Stripe informa que não houve tentativas de webhook nos últimos 15 dias, então obviamente há um bloqueio nas comunicações em algum lugar.

Na sua página de webhooks, você tem um URL como https://seu-site-discourse/s/hooks?

Você também precisará garantir que o segredo de assinatura do webhook corresponda ao que você tem no Discourse:

Não tenho certeza se esta é uma pergunta para mim ou para o @marpoe, mas sim - tenho a URL correta do Discourse no Stripe e o segredo correto do Stripe no Discourse. Sei que o webhook está quase funcionando porque o Stripe cria produtos e planos em resposta à minha configuração deles no Discourse :smiley:

Adicionar o evento checkout.session.completed ao webhook funcionou! :partying_face:

Acabei de fazer uma compra de teste e meu usuário foi adicionado com sucesso ao grupo

Obrigado pelo tempo e pela atenção que você dedicou para corrigir este bug com pagamentos únicos.

3 curtidas

Isso funcionou para mim também! Muito obrigado!

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.