| Resumo | O plugin Discourse Subscriptions permite que os proprietários do site vendam assinaturas recorrentes e compras únicas que concedem acesso a um grupo em uma instância do Discourse. | |
| Guia de Instalação | Este plugin vem integrado ao núcleo do Discourse. Não há necessidade de instalar o plugin separadamente. |
O plugin Discourse Subscriptions permite que você crie assinaturas únicas e recorrentes que os usuários podem pagar para acessar conteúdo restrito. Esta pode ser uma ótima maneira de financiar o custo de hospedagem da sua comunidade.
Recursos
O plugin Discourse Subscriptions suporta os seguintes recursos:
- Criar novos produtos e planos no painel administrativo
- Cancelar e reembolsar assinaturas no painel administrativo
- Criar planos de compra única ou assinatura recorrente
- Adicionar testes gratuitos em assinaturas recorrentes
- Suporte a SCA/3D Secure
- Adicionar/remover usuários dos grupos de planos conforme eles se inscrevem/cancelam
- Cancelar assinatura no perfil do usuário
- Cancelamento da assinatura no final do período de assinatura
- Suporte Opcional ao Stripe Checkout
- Cálculo e cobrança automáticos de impostos sobre vendas
- Os usuários podem atualizar seu cartão para assinaturas individuais
O botão “Inscrever-se” localizado na navegação superior levará você para a página de inscrição /s, onde são listadas as assinaturas que você configurou para o seu site:
Uma vez que um usuário clica no botão “Inscrever-se” de um plano específico, a página de pagamento para esse plano será aberta:
Após um usuário preencher seus detalhes de pagamento e seu endereço e clicar em “Inscrever-se”, eles recebem uma mensagem “Obrigado!” e são levados para sua página de faturamento:
O usuário também é adicionado automaticamente a um grupo de sua escolha, para que você possa ver facilmente quais usuários se inscreveram, bem como fornecer conteúdo restrito em categorias que apenas esse grupo pode ver.
Termos
- Assinatura - As assinaturas são um plano de pagamento recorrente que permite controlar o acesso ao conteúdo da sua comunidade. Quando uma assinatura é criada ou excluída, um usuário é adicionado ou removido do grupo de usuários associado ao seu plano de assinatura. Uma assinatura é composta por um produto e planos.
- Produto - Em termos do Stripe, um produto é o que você está vendendo. Um produto pode conter um ou mais planos.
- Para adicionar uma descrição ao seu produto, adicione um campo de metadados chamado “description” e use esse em vez do padrão. Você pode usar Markdown.
- Plano - Um plano contém um preço, um ciclo recorrente e está associado a um grupo ao qual seus assinantes ganham acesso.
Tenha muito cuidado para manter suas chaves privadas do Stripe seguras e protegidas o tempo todo.
Se você desligar sua instância do Discourse, desinstalar este plugin ou se o seu site ficar offline, o Stripe continuará cobrando seus clientes pelo seu serviço até que a assinatura seja cancelada.
Configuração
- Instale e habilite o plugin
- Configure o Gateway de Pagamento (Stripe)
- Configure Webhooks e Eventos no Stripe
- Adicione suas chaves do Stripe (pública, secreta, segredo do webhook) em Admin > Plugins > Instalados > Subscriptions > Configurações
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - Crie um grupo para seus assinantes se juntarem via compra
- Crie um produto e um plano em Admin > Plugins > Subscriptions
- Lucro!
Configure seu Gateway de Pagamento.
Primeiro, você precisará de uma conta no gateway de pagamento Stripe. Para começar, você pode configurar uma conta no modo de teste e ver como tudo funciona sem fazer transações reais ou precisar configurar uma conta bancária. Não há um botão para alternar o modo de teste no plugin; em vez disso, certifique-se de usar suas chaves de desenvolvedor (elas começam com pk_test, sk_test)
Configure Webhooks e Eventos na sua conta Stripe
Webhooks são obrigatórios para que o cancelamento de assinaturas funcione totalmente. Certifique-se de tê-los configurados corretamente.
Depois de ter uma conta no Stripe, você precisará informar ao Stripe o endereço do seu site para que ele possa notificá-lo sobre certas transações. Você pode inserir isso no seu painel do Stripe em Endpoints > URL.
Endereço do Webhook: [seu endereço do servidor]/s/hooks – onde [seu endereço do servidor] é a URL da sua instalação do Discourse.
Você também precisará informar ao Stripe quais eventos ele deve notificá-lo através do URL do webhook.
Atualmente, o Discourse Subscriptions responde aos seguintes eventos:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completed
Adicione as chaves da API e do Webhook do Stripe às configurações do seu plugin
O Stripe precisa ser autorizado a se comunicar com o seu site. Para fazer isso, ele publica um par de chaves de API privada e pública e um segredo de assinatura para seus webhooks.
Para autorizar webhooks, adicione as chaves da API e o segredo do webhook do Stripe à sua página de configurações (em Desenvolvedores).
Adicionar chaves de produção fará pagamentos reais. Se você planeja testar, certifique-se de alternar para o modo
View test datae obter as chavespk_testesk_testem Desenvolvedores.
Nas configurações da sua conta Stripe, veja:
Adicione essas chaves nas configurações apropriadas em Admin > Plugins > Instalados > Subscriptions > Configurações /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
Configure seus Grupos de Usuários no Discourse
Quando um usuário se inscreve com sucesso no seu aplicativo Discourse, após a transação do cartão de crédito ser processada, ele é adicionado a um Grupo de Usuários. Ao atribuir usuários a um Grupo de Usuários, você pode gerenciar o que seus usuários têm acesso no seu site. Grupos de usuários são uma funcionalidade central do Discourse e este plugin não faz nada com eles, exceto adicionar e remover usuários do grupo que você associou ao seu Plano.
Crie um ou mais produtos com planos.
Em Admin > Plugins > Subscriptions, clique em adicionar um novo Produto. Depois de salvar um produto, você pode adicionar planos a ele. Lembre-se de que os preços e os intervalos de faturamento dos planos não podem ser alterados depois de criados. Isso é para evitar confusão em torno do gerenciamento de assinaturas.
Se você olhar para o seu Painel do Stripe, verá que todos esses produtos e planos estão listados. O Discourse Subscriptions não os cria localmente. Eles são criados no Stripe.
Testando
Teste com estes números de cartão de crédito:
- 4242 4242 4242 4242
- 4111 1111 1111 1111 (sem autenticação necessária)
- 4000 0027 6000 3184 (autenticação necessária)
Para mais números de cartões de teste: Test card numbers | Stripe Documentation
Visite /s e faça algumas transações de teste.
Indo para Produção
Quando estiver pronto para ir para produção, altere suas chaves de API e segredo do webhook para chaves de produção. Você precisará criar novos produtos e planos no modo de produção.
Esteja ciente de que, se você não configurar corretamente os webhooks do Stripe e os pagamentos recorrentes falharem por qualquer motivo (cartão de crédito expirado, etc.), os usuários ainda terão acesso ao grupo. Para que o Stripe cancele automaticamente as assinaturas, certifique-se de definir suas configurações Gerenciar pagamentos com falha semelhantes à imagem abaixo e configure os webhooks conforme descrito acima.
Atualizar Informações de Pagamento
Os usuários podem atualizar o cartão usado para assinaturas individuais visitando a página de faturamento e clicando no botão de edição ao lado da assinatura, o que abrirá esta tela:
Stripe Checkout com Tabelas de Preços do Stripe
Você também pode optar por substituir as páginas de produto e checkout do Plugin de Assinatura e usar em vez disso o Stripe Checkout com Tabelas de Preços do Stripe.
No seu Painel do Stripe:
- Depois de criar os produtos no Discourse, vá para Produtos > Catálogo de produtos
- Clique no produto que você deseja incluir na tabela de preços
- Clique em
Editar produto Mais Opçõese insira o seguinte emMetadados:- Chave:
group_name - Valor: O nome do grupo no Discourse (ex:
trust_level_0)
- Chave:
- Clique em
Atualizar produtopara salvar
Certifique-se de que o nome do grupo corresponde ao grupo selecionado em
User_Groupsno Discourse
Crie sua tabela de preços do Stripe
- Vá para Produtos > Tabelas de preços
- Crie uma nova tabela e adicione os produtos que você acabou de criar
- Após publicar a tabela, copie o ID da tabela de preços encontrado no código de incorporação (ele começa com
prctbl_...) - Cole o ID da tabela de preços no seu
discourse_subscriptions_pricing_table_ide habilite a configuração da tabela de preços de assinaturas. - Clique nas marcas de verificação verdes para salvar ambas as configurações.
Etapa recomendada:
Ao configurar a Tabela de Preços dentro do Stripe, é recomendável vincular o usuário ao seu site após a conclusão do checkout, caso contrário, eles permanecerão em uma página de confirmação do Stripe sem um link de volta para o seu site.
Redirecionar para https://<seu-site>/my/billing/subscriptions é uma boa escolha para assinaturas. Para pagamentos únicos, você pode vincular diretamente a https://<seu-site>/my/billing/payments.
Cobrança Automática de Impostos
Para habilitar a Cobrança Automática de Impostos, marque a caixa da Configuração do Site para discourse_subscriptions_enable_automatic_tax.
Se você habilitar, mas não tiver configurado sua instância do Stripe corretamente para coletar impostos, os usuários podem ver este pop-up após concluir o processo de checkout:
Há este guia para mais informações, mas não deve haver muito a fazer, já que o plugin agora está passando o parâmetro automatic_tax[enabled]=true apropriado (etapa 5).
Certifique-se de configurar seus registros (etapa 4) também:
Aqui está um exemplo de transação do Plugin Discourse Subscription no Stripe mostrando que o imposto foi coletado automaticamente:
Configurações
| Nome | Descrição |
|---|---|
| discourse subscriptions enabled | Habilita o plugin Discourse Subscriptions. |
| discourse subscriptions extra nav subscribe | Mostra o botão de inscrição na navegação principal |
| discourse subscriptions public key | Chave Publicável do Stripe |
| discourse subscriptions secret key | Chave Secreta do Stripe |
| discourse subscriptions webhook secret | Segredo do Webhook do Stripe |
| discourse subscriptions currency | Código de Moeda Padrão. Isso pode ser substituído ao criar um plano de assinatura. |
| discourse subscriptions campaign enabled | Habilita um banner de campanha para promover o apoio financeiro a esta comunidade. |
| discourse subscriptions campaign goal | A meta numérica para sua campanha de apoio (assinantes ou valor arrecadado). |
| discourse subscriptions campaign type | Seleciona o tipo de campanha para executar (assinantes ou valor mensal arrecadado). |
| discourse subscriptions campaign banner location | Seleciona a localização do banner da campanha (topo ou barra lateral). |
| discourse subscriptions campaign banner bg image | Carregue uma imagem personalizada para usar como fundo no banner da campanha. |
| discourse subscriptions campaign banner shadow color | Seleciona a cor da sombra do banner da campanha. |
| discourse subscriptions campaign show contributors | Mostra avatares das compras mais recentes de produtos de assinatura. |
| discourse subscriptions campaign product | O ID do produto Stripe para enviar apoiadores quando eles clicam no botão da campanha. Se esta configuração estiver em branco, os apoiadores serão direcionados para a página principal de produtos. |
| discourse subscriptions campaign grant | Concede ao usuário um mês gratuito de assinaturas |
| discourse subscriptions pricing table id | O ID da tabela de preços do Stripe do código de incorporação |
| discourse subscriptions pricing table enabled | Habilita o uso da tabela de preços do Stripe e substitui a página de inscrição existente |
| discourse_subscriptions_enable_automatic_tax | Alterna se o imposto sobre vendas será cobrado. Requer alguma configuração no Stripe. |
| discourse_subscriptions_enable_verbose_logging | Habilita logs mais detalhados para ajudar na depuração. Por favor, não deixe habilitado permanentemente em produção. |
Hospedado por nós? Este plugin está disponível em nossos planos de hospedagem Pro, Business e Enterprise Subscriptions | Discourse - Civilized Discussion















