Plugin per le sottoscrizioni Discourse

:discourse2: Riepilogo Il plugin Discourse Subscriptions consente ai proprietari del sito di vendere abbonamenti ricorrenti e acquisti una tantum che concedono l’accesso a un gruppo su un’istanza di Discourse.
:open_book: Guida all’installazione Questo plugin è incluso nel nucleo di Discourse. Non è necessario installarlo separatamente.

Il plugin Discourse Subscriptions ti permette di creare abbonamenti una tantum e ricorrenti che gli utenti possono pagare per accedere a contenuti protetti. Questo può essere un ottimo modo per finanziare i costi di hosting della tua community.

Funzionalità

Il plugin Discourse Subscriptions supporta le seguenti funzionalità:

Il pulsante “Iscriviti” situato nella barra di navigazione superiore ti porterà alla pagina Iscriviti /s, dove vengono elencati gli abbonamenti configurati per il tuo sito:

Una volta che un utente clicca sul pulsante “Iscriviti” per un piano specifico, si aprirà la pagina di pagamento per quel piano:

Dopo che un utente ha compilato i propri dati di pagamento e l’indirizzo e ha cliccato su “Iscriviti”, gli viene mostrata un messaggio “Grazie!” e viene reindirizzato alla sua pagina di fatturazione:

L’utente viene anche aggiunto automaticamente a un gruppo a tua scelta, in modo da poter facilmente vedere quali utenti si sono abbonati e fornire contenuti protetti nelle categorie visibili solo a quel gruppo.

Termini

  • Abbonamento - Gli abbonamenti sono piani di pagamento ricorrenti che ti consentono di controllare l’accesso ai contenuti sulla tua community. Quando un abbonamento viene creato o eliminato, un utente viene aggiunto o rimosso dal gruppo utenti associato al tuo piano di abbonamento. Un abbonamento è composto da un prodotto e da piani.
  • Prodotto - Un prodotto, secondo i termini di Stripe, è ciò che stai vendendo. Un prodotto può contenere uno o più piani.
    • Per aggiungere una descrizione al tuo prodotto, aggiungi un campo metadati denominato “description” e utilizza quello. Puoi usare Markdown.
  • Piano - Un piano contiene un prezzo, un ciclo ricorrente ed è associato a un gruppo al quale gli abbonati ottengono l’accesso.

:police_car_light: Fai molta attenzione a mantenere le tue chiavi private di Stripe sicure e protette in ogni momento.

:warning: Se dovessi spegnere la tua istanza di Discourse, disinstallare questo plugin o il tuo sito andasse offline, Stripe continuerà a fatturare i tuoi clienti per il tuo servizio fino a quando l’abbonamento non verrà annullato.

Configurazione

  1. Installa e abilita il plugin
  2. Configura il gateway di pagamento (Stripe)
  3. Configura Webhook ed Eventi in Stripe
  4. Aggiungi le tue chiavi Stripe (pubblica, segreta, segreto webhook) sotto Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
  5. Crea un gruppo a cui gli abbonati possono unirsi tramite acquisto
  6. Crea un prodotto e un piano sotto Admin > Plugins > Subscriptions
  7. Guadagna!

Configura il tuo Gateway di Pagamento.

Per prima cosa, avrai bisogno di un account con il gateway di pagamento Stripe. Per iniziare, puoi configurare un account in modalità di prova e vedere come funziona tutto senza effettuare transazioni reali o dover configurare un conto bancario. Non c’è un interruttore per la modalità di prova nel plugin; invece, assicurati di utilizzare le tue chiavi per sviluppatori (iniziano con pk_test, sk_test)

Configura Webhook ed Eventi nel tuo account Stripe

:bomb: I Webhook sono necessari per far funzionare completamente le cancellazioni degli abbonamenti. Assicurati di averli configurati correttamente.

Una volta che hai un account su Stripe, dovrai dire a Stripe l’indirizzo del tuo sito web in modo che possa notificarti su determinate transazioni. Puoi inserirlo nella dashboard di Stripe sotto Endpoints > URL.

Indirizzo Webhook: [il tuo indirizzo server]/s/hooks – dove [il tuo indirizzo server] è l’URL della tua installazione di Discourse.

Dovrai anche dire a Stripe quali eventi deve notificarti tramite l’URL del webhook.

Attualmente, Discourse Subscriptions risponde ai seguenti eventi:

  • customer.subscription.deleted
  • customer.subscription.updated
  • checkout.session.completed

Aggiungi le chiavi API e Webhook di Stripe alle impostazioni del tuo plugin

Stripe deve essere autorizzato a comunicare con il tuo sito web. Per fare questo, pubblica una coppia di chiavi API private e pubbliche e un segreto di firma per i tuoi webhook.

Per autorizzare i webhook, aggiungi le chiavi API e il segreto webhook da Stripe alla tua pagina delle impostazioni (sotto Sviluppatori).

:warning: L’aggiunta di chiavi di produzione effettuerà pagamenti reali. Se prevedi di testare, assicurati di passare alla modalità View test data e ottenere le chiavi pk_test e sk_test sotto Sviluppatori.

Nelle impostazioni del tuo account Stripe, vedi:

Aggiungi queste chiavi nelle impostazioni appropriate in Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.

Configura i tuoi Gruppi Utenti in Discourse

Quando un utente si abbona con successo alla tua applicazione Discourse, dopo che la transazione con la carta di credito è stata elaborata, viene aggiunto a un Gruppo Utenti. Assegnando gli utenti a un Gruppo Utenti, puoi gestire a cosa gli utenti hanno accesso sul tuo sito web. I gruppi utenti sono una funzionalità fondamentale di Discourse e questo plugin non fa altro che aggiungere e rimuovere utenti dal gruppo associato al tuo Piano.

Crea uno o più prodotti con piani.

Sotto Admin > Plugins > Subscriptions, clicca su Aggiungi un nuovo Prodotto. Una volta salvato un prodotto, puoi aggiungere piani ad esso. Tieni presente che i prezzi e gli intervalli di fatturazione dei piani non possono essere modificati una volta creati. Questo per evitare confusione nella gestione degli abbonamenti.

Se dai un’occhiata alla tua Dashboard Stripe, vedrai che tutti quei prodotti e piani sono elencati. Discourse Subscriptions non li crea localmente. Vengono creati in Stripe.

Test

Testa con questi numeri di carta di credito:

  • 4242 4242 4242 4242
  • 4111 1111 1111 1111 (nessuna autenticazione richiesta)
  • 4000 0027 6000 3184 (autenticazione richiesta)

Per altri numeri di carta di prova: Test card numbers | Stripe Documentation

Visita /s e inserisci alcune transazioni di prova.

Passare alla Produzione

Quando sei pronto per passare alla produzione, modifica le tue chiavi API e il segreto webhook con le chiavi di produzione. Dovrai creare nuovi prodotti e piani in modalità live.

Tieni presente che se non configuri correttamente i webhook di Stripe e i pagamenti ricorrenti non vengono elaborati per qualsiasi motivo (carta di credito scaduta, ecc.), gli utenti avranno ancora accesso al gruppo. Per far sì che Stripe annulli automaticamente gli abbonamenti, assicurati di impostare le tue impostazioni Gestisci pagamenti falliti simili all’immagine sottostante e configura i webhook come descritto sopra.

Aggiorna le Informazioni di Pagamento

Gli utenti possono aggiornare la carta utilizzata per singoli abbonamenti visitando la pagina di fatturazione e cliccando sul pulsante modifica accanto all’abbonamento, che aprirà questa schermata:

Stripe Checkout con Stripe Pricing Tables

Puoi anche scegliere di sostituire le pagine dei prodotti e di checkout del Plugin Abbonamenti e utilizzare invece Stripe Checkout con Stripe Pricing Tables.

Nella tua Dashboard Stripe:

  1. Dopo aver creato i prodotti su Discourse, vai su Products > Product catalog
  2. Clicca sul prodotto che desideri includere nella tabella dei prezzi
  3. Clicca Edit product
  4. More Options e inserisci quanto segue sotto Metadata:
    • Key: group_name
    • Value: Il nome del gruppo su Discourse (ad esempio, trust_level_0)
  5. Clicca Update product per salvare

:red_exclamation_mark: Assicurati che il nome del gruppo corrisponda al gruppo selezionato sotto User_Groups su Discourse

Crea la tua tabella dei prezzi Stripe

  1. Vai su Products > Pricing tables
  2. Crea una nuova tabella e aggiungi i prodotti che hai appena creato
  3. Dopo aver pubblicato la tabella, copia l’ID della tabella dei prezzi trovato nel codice di incorporamento (inizia con prctbl_...)
  4. Incolla l’ID della tabella dei prezzi in discourse_subscriptions_pricing_table_id e abilita l’impostazione della tabella dei prezzi degli abbonamenti.
  5. Clicca sulle spunte verdi per salvare entrambe le impostazioni.

Passo consigliato:

Quando configuri la Tabella dei Prezzi all’interno di Stripe, si consiglia di collegare l’utente al tuo sito dopo il completamento del checkout, altrimenti rimarranno su una pagina di conferma di Stripe senza un link di ritorno al tuo sito.

Reindirizzare a https://<tuosito>/my/billing/subscriptions è una buona scelta per gli abbonamenti. Per pagamenti una tantum, potresti collegarti direttamente a https://<tuosito>/my/billing/payments.

Riscossione Automatica delle Tasse

Per abilitare la Riscossione Automatica delle Tasse, spunta la casella dell’impostazione del sito per discourse_subscriptions_enable_automatic_tax.

Se la abiliti, ma non hai configurato correttamente la tua istanza di Stripe per riscuotere le tasse, gli utenti potrebbero vedere questo popup dopo aver completato il processo di checkout:

C’è questa guida per ulteriori informazioni, ma non dovrebbe esserci molto da fare poiché il plugin ora passa il parametro appropriato automatic_tax[enabled]=true (passo 5).

Assicurati di configurare anche le tue registrazioni (passo 4):

Ecco un esempio di transazione del plugin Discourse Subscription in Stripe che mostra che le tasse sono state riscosse automaticamente:

Impostazioni

Nome Descrizione
discourse subscriptions enabled Abilita il plugin Discourse Subscriptions.
discourse subscriptions extra nav subscribe Mostra il pulsante Iscriviti nella navigazione principale
discourse subscriptions public key Chiave Pubblicabile di Stripe
discourse subscriptions secret key Chiave Segreta di Stripe
discourse subscriptions webhook secret Segreto Webhook di Stripe
discourse subscriptions currency Codice Valuta Predefinito. Questo può essere sovrascritto quando si crea un piano di abbonamento.
discourse subscriptions campaign enabled Abilita un banner di campagna per promuovere il supporto finanziario di questa community.
discourse subscriptions campaign goal L’obiettivo numerico per la tua campagna di supporto (abbonati o importo raccolto).
discourse subscriptions campaign type Seleziona il tipo di campagna da eseguire (abbonati o importo mensile raccolto).
discourse subscriptions campaign banner location Seleziona la posizione del banner della campagna (in alto o nella barra laterale).
discourse subscriptions campaign banner bg image Carica un’immagine personalizzata da utilizzare come sfondo sul banner della campagna.
discourse subscriptions campaign banner shadow color Seleziona il colore dell’ombra del banner della campagna.
discourse subscriptions campaign show contributors Mostra gli avatar degli acquisti più recenti di prodotti in abbonamento.
discourse subscriptions campaign product L’ID prodotto di Stripe da inviare ai sostenitori quando cliccano sul pulsante nella campagna. Se questa impostazione è vuota, i sostenitori saranno reindirizzati alla pagina principale dei prodotti.
discourse subscriptions campaign grant Concede all’utente un mese gratuito di abbonamento
discourse subscriptions pricing table id L’ID della tabella dei prezzi di Stripe dal codice di incorporamento
discourse subscriptions pricing table enabled Abilita l’uso della tabella dei prezzi di Stripe e sostituisce la pagina Iscriviti esistente
discourse_subscriptions_enable_automatic_tax Attiva se la tassa sulle vendite deve essere riscossa. Richiede alcune configurazioni in Stripe.
discourse_subscriptions_enable_verbose_logging Abilita un logging più dettagliato per aiutare nel debug. Non lasciare abilitato permanentemente in produzione.

:discourse2: Ospitato da noi? Questo plugin è disponibile nei nostri piani di hosting Pro, Business e Enterprise Subscriptions | Discourse - Civilized Discussion

139 Mi Piace
Steady plugin for community funding
ProCourse Memberships :money_with_wings:
Group membership subscriptions with profit split
Email drip campaign
Discourse Category Lockdown
How to give unpaid users limited access without making Discourse private?
Discourse for Membership Association Members?
Super simple Discourse-Wordpress-membership integration
Please suggest a good Discourse Plugin for Membership that supports Indian Payment Gateway
Login required after some days of free access
User can't repurchase a subscription product after canceling
Allow users to donate to pay hosting fees for a site
Send an invite to a user but complete their profile programmatically
User Card Directory
Multiple paywalls with common communication hub
Discourse Subscriptions + btcpayserver
Discourse subscriptions - changing price during recurring subscription
Any good Memberpress alternatives for wordpress?
Subscription Access To Discourse
Add user to group after purchase
Do I need Wordpress? Or Discourse can be my solution to ALL?
How to move Topics in Category into their own Pinned Topic inside new Categories?
Discourse Subscriptions - user not removed from group when subscription cancelled
Discourse Subscriptions - user not removed from group when subscription cancelled
Discourse vs Skool
Subscription Access To Discourse
Tax implication of funding a forum
Tick badge for username?
Subscription update problem
Setting up a subscription group
How would I install a cryptocurrency paywall?
Charging a membership fee
Discourse Subscriptions with Thrive Cart
Admin creating subscription for user
Plugin for charity donations?
Allow subscription of predetermined length
Link Sign Up to Subscriptions Plugin
User monetization with group access?
Allow option to open Stripe payment website
Embed a list of Discourse topics onto an external site
Is it possible to use the subscription plugin to limit creating topics in a category to subscribers?
Best approach to a landing page/payment front end
Managing consumable AI costs
Allow multiple ‘new topic’ drafts
Stripe iframe causes a blank page on my print layout
No 'deleted' event in Stripe?
Tell us how you manage subscriptions on Discourse
Addding a paid group who can reply to topics but not create them
Integration with WP membership Pro
Hosting questions
Alternative sign up pathways
Control Category Visibility and Access by User Levels
Tighter integration of account-creation and subscriptions?
Blank page when resuming discourse app
Does the Subscriptions plugin work with "one-off" payment pricing tables?
Subscriber group automation (Remove and Add users to specific group with subscription)
"Support Us" Banner Not Updating
Tip or Pay Button - for user post/content, does it exist already?
May I or can I monetize my forum?
May I or can I monetize my forum?
Bundling more popular plugins with Discourse core
Guest Gate Theme Component
Error loading route Caused by plugin 'discourse-subscriptions'
Why doesn't Discourse hosting include the Subscriptions plugin on the Starter plan?
Rebuild fails when these plugins are present
Changing excerpt length
Installing discourse for free?
Options to manage payments for paid Discourse communities
Using a plug-in to monetize my Discourse
ProCourse Memberships :money_with_wings:
UX: Add metadata to subscription page to improve SEO and link UI design
A feature request related to this plugin. Pointed questions or rewarded questions
Plugin to use Discourse for classified ads or as a job board?
Subscription Plugin not working (Error)
How to set message limits for user groups?
API POST for New User
ProCourse Memberships :money_with_wings:
Steady plugin for community funding
New customer setup
Discourse Category Lockdown
Making group joins automatic to an external pricing plan
Platform integration - videos
Any way to accept paypal or stripe payment at signup?
Looking for feedback on Discourse Subscriptons
WooCommerce Discourse Website newbie help
Switching to Discourse Subscriptions from WordPress Subscriptions
Integration with Wix.com membership to only let the paid member can access to Discourse
2020: The Year in Review
Managing Subscriptions through Wordpress (Ultimate Member + Paid Memberships Pro)
Discourse Unlock
How does uninstalling the Subscriptions plugin affect Stripe billing?
Memberful opinions?
Is there an E-commerce plugin for Discourse?
Memberful opinions?
Prefill custom html with user's email address?
Can't make the subscription plugin work
How to charge members for my Discourse website?
New site landing-page + discourse integration and marketing
Pay or Play usage?
Latest topics on homepage with only members to read in detail?
Banner text customization for Subscriptions plugin
Subscriptions: Change User's Plan
Donation Bar for House Ad
Can I use the Subscriptions plugin on my own server?
Limiting Subscription Length
Discourse Subscriptions - use API to find out product, plan and renewal date

5 post sono stati spostati in un nuovo argomento: Esiste un oggetto simile in modalità di test - Errore

L’impostazione di Sidebar sembra non fare nulla (ultima versione di Discourse aeb3d717dc, ultimo plugin cc43d32a).

1 Mi Piace

Ricevo anche questo messaggio di log:

Avviso di deprecazione: il nome dell'icona "donate" è stato aggiornato a "circle-dollar-to-slot". Si prega di utilizzare il nuovo nome nel codice. I vecchi nomi verranno rimossi nel Q2 2025. [deprecation id: discourse.fontawesome-6-upgrade] [info: https://meta.discourse.org/t/325349]

MODIFICA: Ho creato una PR per questo

3 Mi Piace

2 post sono stati uniti a un argomento esistente: "Support Us" Banner Not Updating

Hmmm… localmente mi appare nella barra laterale quando la cambio.

Se lo hai nella barra laterale, aggiungiamo questa classe CSS, puoi ispezionare la tua pagina e cercare subscription-campain-sidebar

Ti rimane solo in alto?

Capisco. Avevo la pagina Categoria come predefinita. Lì non viene visualizzato, ovviamente. Viene visualizzato nell’elenco Più recenti. Quindi funziona bene. Grazie!

3 Mi Piace

Dovrebbe davvero apparire sulla pagina delle categorie (o altre pagine predefinite), non credi?

1 Mi Piace

A causa delle restrizioni nella Cina continentale, è difficile per Stripe superare la revisione. Potresti considerare l’integrazione delle interfacce di Alipay o WeChat Pay?

2 Mi Piace

Domande simili in passato hanno avuto una risposta come “la cosa da fare sarebbe creare un plugin per Alipay o WeChat Pay”. discourse.org guadagna da coloro che pagano per l’hosting e non credo che abbiano molti clienti Enterprise che desiderano Alipay o WeChat Pay, quindi dovrai chiedere in Marketplace o svilupparlo tu stesso. Forse potresti interessare Alipay o WeChat Pay a finanziare lo sviluppo.

3 Mi Piace

{“content”:“[quote="Discourse, post:1, topic:140818"]\n### Configurazione\n\n1. Installa e abilita il plugin\n2. Configura il Gateway di Pagamento (Stripe)\n3. Configura Webhook & Event in Stripe\n4. Aggiungi le tue chiavi Stripe (pubblica, segreta, webhook secret) sotto Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions\n5. Crea un gruppo per i tuoi abbonati a cui possono unirsi tramite acquisto\n6. Crea un prodotto e un piano sotto Admin > Plugins > Subscriptions\n7. Guadagna!\n[/quote]\nSono arrivato a completare 1 - 5, ma credo di essere stupido o cieco. Non riesco a trovare l’interfaccia per configurare prodotti e piani sul mio server.\n\nUgh, lasciamo perdere… l’ho trovata. L’ultimo pezzo del puzzle è che non capisco questa parte:\n\n28 * Per aggiungere una descrizione al tuo prodotto, aggiungi un campo metadata chiamato “description” e usalo al suo posto. Puoi usare Markdown.”}

Credo di aver impostato tutto correttamente. Se controllo l’impostazione per:\n~~Il pulsante di iscrizione mostrerà la tabella dei prezzi incorporata e verrà utilizzato Stripe Checkout.\nAllora gli acquisti funzionano correttamente, tuttavia, se deseleziono questa opzione e utilizzo l’interfaccia integrata, ottengo caselle di errore come:\n\n\u003eEra previsto un metodo di pagamento di tipo card, ma questo PaymentIntent non ha un metodo di pagamento e nessuno è stato fornito. Riprova fornendo i parametri payment_method o payment_method_data.\n\no~~\n\n\u003eQuesto cliente non ha una fonte di pagamento o un metodo di pagamento predefinito associato. Si prega di considerare l’aggiunta di un metodo di pagamento predefinito. Per ulteriori informazioni, visitare https://stripe.com/docs/billing/subscriptions/payment-methods-setting#payment-method-priority.\n\nL’errore principale è su un piano non ricorrente, quello in basso è un piano ricorrente.\nQualche indizio su come risolverlo? Preferisco l’interfaccia integrata.\n\nHo risolto questo problema, sembra che mentre stavo giocando con gli utenti nell’ambiente di test, a Stripe non sia piaciuto che io abbia utilizzato lo stesso utente Discourse con diversi "utenti di abbonamento".\n\nInoltre, l’OP dovrebbe chiarire che \n\n\u003ePer aggiungere una descrizione al tuo prodotto, aggiungi un campo di metadati chiamato “description” e usalo invece. Puoi usare Markdown.\n\nVai alla dashboard di Stripe, fai clic su Catalogo prodotti, fai clic su un prodotto, quindi fai clic su un prezzo. È qui che troverai i campi di metadati a cui puoi aggiungere una descrizione.\n\nTuttavia, non mi è sembrato funzionare. Ho aggiunto una descrizione di test e non è cambiato nulla sia utilizzando la tabella Stripe che il layout integrato.

6 messaggi sono stati uniti in un argomento esistente: Aggiungi diversi metodi di pagamento all’abbonamento Discourse

Un post è stato unito a un argomento esistente: Aggiungere diversi metodi di pagamento all’abbonamento Discourse

Quando provo a creare un prodotto, ricevo un errore “500”. Sto configurando questo su un setup di test. Cosa posso controllare per scoprire perché si verifica l’errore del server?

Cosa simile sui coupon

È stata creata una voce nello stesso momento in {YOURFORUM}/logs ?

2 Mi Piace

Oh wow.. non sapevo che esistesse una pagina del genere. Mostra una chiave API non valida. Ho inserito della spazzatura per la chiave segreta per andare avanti e configurare i pacchetti di abbonamento per ora e tornare alle chiavi più tardi quando sarò pronto per testare.

1 Mi Piace

Sono stato in grado di configurare il plugin senza problemi, ma poi mi sono reso conto che questo plugin consente solo abbonamenti ricorrenti. Non abbonamenti una tantum che scadono dopo il periodo definito.

Ad esempio, addebita X importo per 30 giorni. Dopo 30 giorni l’utente viene rimosso dal gruppo premium. Possono acquistarlo di nuovo se vogliono. Di solito offro abbonamenti di 1 mese, 3 mesi, 12 mesi.

Stripe richiede che mi registri come un’azienda per poter supportare i pagamenti ricorrenti. Sto accettando pagamenti una tantum su XenForo e la funzionalità nativa di XenForo gestisce la scadenza dell’abbonamento e la rimozione dall’appartenenza al gruppo.

Questo distrugge completamente il mio piano di passare a Discourse entro un mese. :cry:

Ho una soluzione. Posso aiutarti a creare un’azione di GitHub che estrarrà dati da Data Explorer, includendo il nome utente e l’ID del gruppo da cui rimuoverli, e poi cambierà il loro gruppo di conseguenza.

Lo sto facendo per un cliente che si sta spostando su Discourse e ha un campo personalizzato con date al suo interno. Quindi dobbiamo spostare gli utenti in un gruppo “in scadenza” per dare loro un banner e poi in un altro per rimuoverli dal gruppo a pagamento quando il tempo scade.

Se hai un budget, puoi contattarmi o chiedere su Marketplace. Sto pianificando un post sul blog a riguardo con un esempio di uso generale, se mai avrò una pausa.

6 Mi Piace

Ciao, le sottoscrizioni hanno funzionato bene fino al momento in cui è arrivato il callback da Stripe. Sto usando la tabella dei prezzi di Stripe.

Posso vedere che l’abbonamento è stato registrato correttamente nella pagina admin/plugins/discourse-subscriptions/subscriptions.

Tuttavia, l’utente non è stato spostato nel gruppo utente richiesto.

Ho configurato il prodotto con lo stesso nome esatto del prodotto su Stripe e ho anche creato un piano tariffario con il gruppo selezionato. Il prezzo che ho impostato a zero nel piano tariffario poiché presumo che per la configurazione della tabella dei prezzi di Stripe sia irrilevante.

Cosa mi sto perdendo?