| Resumo | O plugin Discourse Subscriptions permite que os proprietários do site vendam assinaturas recorrentes e de compra única que concedem acesso a um grupo em uma instância do Discourse. | |
| Guia de Instalação | Este plugin é incluído no núcleo do Discourse. Não é necessário instalar o plugin separadamente. |
O plugin Discourse Subscriptions permite criar assinaturas de compra única e recorrentes que os usuários podem pagar para acessar conteúdo restrito. Esta pode ser uma ótima maneira de financiar os custos de hospedagem da sua comunidade.
Recursos
O plugin Discourse Subscriptions suporta os seguintes recursos:
- Criar novos produtos e planos a partir do painel administrativo
- Cancelar e reembolsar assinaturas a partir do painel administrativo
- Criar planos de assinatura de compra única ou recorrentes
- Adicionar períodos de teste gratuitos em assinaturas recorrentes
- Suporte a SCA/3D Secure
- Adicionar/remover usuários dos grupos de planos conforme eles assinam/cancelam
- Cancelar assinatura a partir do perfil do usuário
- Cancelamento da assinatura ao final do período de assinatura
- Suporte opcional ao Stripe Checkout
- Cálculo e coleta automática de imposto sobre vendas
- Os usuários podem atualizar seu cartão para assinaturas individuais
O botão “Assinar” localizado na navegação superior levará você à página de Assinatura /s, onde estão listadas as assinaturas que você configurou para o seu site:
Quando um usuário clica em um dos botões “Assinar” para um plano específico, será aberta a página de pagamento para aquele plano:
Após o usuário preencher seus detalhes de pagamento e endereço e clicar em “Assinar”, uma mensagem de “Obrigado!” é exibida e ele é levado à 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 na 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 - Nos 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 outro. 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 em todo momento.
Se você desligar sua instância do Discourse, desinstalar este plugin ou seu site ficar offline, o Stripe continuará cobrando seus clientes pelo seu serviço até que a assinatura seja cancelada.
Configuração
- Instale e ative 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 > Installed > Subscriptions > Settings
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - Crie um grupo para seus assinantes entrarem por meio da 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 em modo de teste e ver como tudo funciona sem fazer transações reais ou precisar configurar uma conta bancária. Não há uma alternância para 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 em sua conta do Stripe
Webhooks são necessários para que os cancelamentos de assinatura funcionem totalmente. Certifique-se de que eles estejam configurados corretamente.
Depois que você tiver uma conta no Stripe, 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 dos Webhooks: [endereço do seu servidor]/s/hooks – onde [endereço do seu servidor] é a URL da sua instalação do Discourse.
Você também precisará informar ao Stripe quais eventos ele deve notificá-lo por meio da URL do webhook.
Atualmente, o Discourse Subscriptions responde aos seguintes eventos:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completedcheckout.session.async_payment_succeeded
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 privadas e públicas 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 Developers).
Adicionar chaves de produção resultará em pagamentos reais. Se você planeja testar, certifique-se de alternar para o modo
View test datae obter as chavespk_testesk_testem Developers.
Nas configurações da sua conta do Stripe, veja:
Adicione essas chaves nas configurações apropriadas em Admin > Plugins > Installed > Subscriptions > Settings /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 ter sido processada, ele é adicionado a um Grupo de Usuários. Ao atribuir usuários a um Grupo de Usuários, você pode gerenciar a quais partes do seu site seus usuários têm acesso. Os 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 para adicionar um novo Produto. Depois que você salvar um produto, poderá adicionar planos a ele. Tenha em mente que o preço e os intervalos de faturamento dos planos não podem ser alterados depois de criados. Isso é para evitar confusão no 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.
Testes
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ão de teste: Test card numbers | Stripe Documentation
Visite /s e insira algumas transações de teste.
Colocando em Produção
Quando você estiver pronto para colocar em produção, altere suas chaves de API e segredo do webhook para chaves de produção. Você precisará criar novos produtos e planos em 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 configurar suas configurações de Gerenciar pagamentos falhos de forma semelhante à imagem abaixo e configurar 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 Assinaturas e usar o Stripe Checkout com Tabelas de Preços do Stripe.
No seu Painel do Stripe:
- Depois de ter criado os produtos no Discourse, vá para Products > Product catalog
- Clique no produto que você deseja incluir na tabela de preços
- Clique em
Edit product More Optionse insira o seguinte emMetadata:- Chave:
group_name - Valor: O nome do grupo no Discourse (ex.:
trust_level_0)
- Chave:
- Clique em
Update productpara salvar
Certifique-se de que o nome do grupo corresponda ao grupo selecionado em
User_Groupsno Discourse
Crie sua tabela de preços do Stripe
- Vá para Products > Pricing tables
- Crie uma nova tabela e adicione os produtos que você acabou de criar
- Depois de publicar a tabela, copie o ID da tabela de preços encontrado dentro do código de incorporação (começa com
prctbl_...) - Cole o ID da tabela de preços em
discourse_subscriptions_pricing_table_ide ative a configuração da tabela de preços de assinaturas. - Clique nos sinais 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 ao seu site.
Redirecionar para https://<seu-site>/my/billing/subscriptions é uma boa escolha para assinaturas. Para pagamentos únicos, você pode vincular diretamente para https://<seu-site>/my/billing/payments.
Coleta Automática de Impostos
Para ativar a Coleta Automática de Impostos, marque a caixa de configuração do site para discourse_subscriptions_enable_automatic_tax.
Se você ativá-lo, 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, pois o plugin agora está passando o parâmetro apropriado automatic_tax[enabled]=true (etapa 5).
Certifique-se de configurar seus registros (etapa 4) também:
Aqui está um exemplo de transação do Plugin de Assinatura do Discourse no Stripe mostrando que o imposto foi coletado automaticamente:
Configurações
| Nome | Descrição |
|---|---|
| discourse subscriptions enabled | Ativa o plugin Discourse Subscriptions. |
| discourse subscriptions extra nav subscribe | Mostra o botão de assinar na navegação primária |
| 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 sobrescrito ao criar um plano de assinatura. |
| discourse subscriptions campaign enabled | Ativa 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 a ser executada (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 | Envie 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 do Stripe a enviar aos apoiadores quando eles clicarem no botão na 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 | Ativa 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á coletado. Requer alguma configuração no Stripe. |
| discourse_subscriptions_enable_verbose_logging | Ativa um log mais detalhado para auxiliar na depuração. Por favor, não deixe permanentemente ativado 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




















