| Sommario | Il plugin Discourse Subscriptions consente ai proprietari del sito di vendere abbonamenti ricorrenti e a pagamento unico che concedono l’accesso a un gruppo su un’istanza Discourse. | |
| Guida all’installazione | Questo plugin è incluso nel core di Discourse. Non è necessario installarlo separatamente. |
Il plugin Discourse Subscriptions ti consente di creare abbonamenti a pagamento unico e ricorrenti per cui gli utenti possono pagare per accedere a contenuti riservati. Questo può essere un ottimo modo per coprire i costi di hosting della tua community.
Funzionalità
Il plugin Discourse Subscriptions supporta le seguenti funzionalità:
- Creazione di nuovi prodotti e piani dal pannello di amministrazione
- Annullamento e rimborso degli abbonamenti dal pannello di amministrazione
- Creazione di piani di abbonamento a pagamento unico o ricorrenti
- Aggiunta di prove gratuite agli abbonamenti ricorrenti
- Supporto SCA/3D Secure
- Aggiunta/rimozione degli utenti dai gruppi dei piani quando si abbonano/annullano
- Annullamento dell’abbonamento dal profilo utente
- Annullamento dell’abbonamento alla fine del periodo di abbonamento
- Supporto facoltativo per Stripe Checkout
- Calcolo e riscossione automatica delle imposte sulle vendite
- Gli utenti possono aggiornare la loro carta per singoli abbonamenti
Il pulsante “Iscriviti” situato nella barra di navigazione superiore ti porterà alla pagina di iscrizione /s, dove vengono elencati gli abbonamenti che hai configurato per il tuo sito:
Una volta che un utente fa clic su uno dei pulsanti “Iscriviti” per un piano specifico, si aprirà la pagina di pagamento per quel piano:
Dopo che un utente ha compilato i dettagli di pagamento e il proprio indirizzo e ha fatto clic su “Iscriviti”, viene visualizzato 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 vedere facilmente quali utenti si sono iscritti e fornire contenuti riservati in categorie visibili solo a quel gruppo.
Termini
- Abbonamento - Gli abbonamenti sono un piano di pagamento ricorrente che ti consente di controllare l’accesso ai contenuti sulla tua community. Quando un abbonamento viene creato o eliminato, un utente viene aggiunto o rimosso dal gruppo di utenti associato al tuo piano di abbonamento. Un abbonamento è composto da un prodotto e da piani.
- Prodotto - Un prodotto nei 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 usa quello al posto di questo. Puoi usare Markdown.
- Piano - Un piano contiene un prezzo, un ciclo ricorrente e si associa a un gruppo a cui i tuoi abbonati ottengono l’accesso.
Fai molta attenzione a mantenere le tue chiavi private Stripe al sicuro e protette in ogni momento.
Se dovessi chiudere la tua istanza di Discourse, disinstallare questo plugin o se il tuo sito dovesse andare offline, Stripe continuerà a fatturare i tuoi clienti per il tuo servizio fino all’annullamento dell’abbonamento.
Configurazione
- Installa e abilita il plugin
- Configura il gateway di pagamento (Stripe)
- Configura Webhook ed eventi in Stripe
- Aggiungi le tue chiavi Stripe (pubblica, segreta, segreta webhook) sotto Admin > Plugins > Installed > Subscriptions > Settings
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - Crea un gruppo per i tuoi abbonati da unirsi tramite acquisto
- Crea un prodotto e un piano sotto Admin > Plugins > Subscriptions
- Guadagna!
Configura il tuo gateway di pagamento.
Innanzitutto, avrai bisogno di un account presso il gateway di pagamento Stripe. Per iniziare, puoi configurare un account in modalità di test e vedere come funziona tutto senza effettuare transazioni reali o dover configurare un conto bancario. Non c’è un interruttore per la modalità di test nel plugin; assicurati invece di usare le tue chiavi per sviluppatori (inizia con pk_test, sk_test)
Configura Webhook ed eventi nel tuo account Stripe
Gli Webhook sono necessari per far funzionare completamente gli annullamenti 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 determinate transazioni. Puoi inserirlo nel tuo dashboard Stripe sotto Endpoints > URL.
Indirizzo Webhook: [indirizzo del tuo server]/s/hooks – dove [indirizzo del tuo server] è l’URL della tua installazione di Discourse.
Dovrai anche dire a Stripe quali eventi dovrebbe notificarti tramite l’URL webhook.
Attualmente, Discourse Subscriptions risponde ai seguenti eventi:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completedcheckout.session.async_payment_succeeded
Aggiungi le chiavi API e Webhook di Stripe alle impostazioni del 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 Developers).
L’aggiunta di chiavi di produzione attiverà pagamenti reali. Se prevedi di fare test, assicurati di passare alla modalità
View test datae ottenere le chiavipk_testesk_testsotto Developers.
Nelle impostazioni del tuo account Stripe, consulta:
Aggiungi queste chiavi sotto le impostazioni appropriate in Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
Configura i tuoi gruppi di utenti in Discourse
Quando un utente si iscrive con successo alla tua applicazione Discourse, dopo che la transazione con carta di credito è stata elaborata, viene aggiunto a un Gruppo di Utenti. Assegnando gli utenti a un Gruppo di Utenti, puoi gestire a cosa hanno accesso i tuoi utenti sul tuo sito web. I gruppi di utenti sono una funzionalità di base di Discourse e questo plugin non fa nulla con loro se non aggiungere e rimuovere utenti dal gruppo che hai associato al tuo Piano.
Crea uno o più prodotti con piani.
Sotto Admin > Plugins > Subscriptions, fai clic 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 al tuo Stripe Dashboard, 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 test: Test card numbers | Stripe Documentation
Visita /s ed effettua alcune transazioni di test.
Passaggio in produzione
Una volta pronto per andare in produzione, cambia le tue chiavi API e i segreti webhook con le chiavi di produzione. Dovrai creare nuovi prodotti e piani in modalità live.
Tieni presente che se non configuri correttamente gli webhook di Stripe e i pagamenti ricorrenti non vengono elaborati per qualsiasi motivo (carta di credito scaduta, ecc.), gli utenti avranno comunque accesso al gruppo. Per far sì che Stripe annulli automaticamente gli abbonamenti, assicurati di impostare le tue impostazioni Gestione pagamenti falliti in modo simile all’immagine sottostante e configura gli webhook come descritto sopra.
Aggiornamento delle informazioni di pagamento
Gli utenti possono aggiornare la carta utilizzata per singoli abbonamenti visitando la pagina di fatturazione e facendo clic sul pulsante di modifica accanto all’abbonamento, che aprirà questa schermata:
Stripe Checkout con tabelle di prezzo Stripe
Puoi anche scegliere di sostituire le pagine di prodotto e checkout del plugin Subscription e utilizzare invece Stripe Checkout con Stripe Pricing Tables.
Nel tuo Stripe Dashboard:
- Dopo aver creato i prodotti su Discourse, vai su Products > Product catalog
- Fai clic sul prodotto che desideri includere nella tabella dei prezzi
- Fai clic su
Edit product More Optionse inserisci i seguenti sottoMetadata:- Key:
group_name - Value: Il nome del gruppo su Discourse (es.
trust_level_0)
- Key:
- Fai clic su
Update productper salvare
Assicurati che il nome del gruppo corrisponda al gruppo selezionato sotto
User_Groupssu Discourse
Crea la tua tabella di prezzi Stripe
- Vai su Products > Pricing tables
- Crea una nuova tabella e aggiungi i prodotti che hai appena creato
- Dopo aver pubblicato la tabella, copia l’ID della tabella dei prezzi trovato all’interno del codice di incorporamento (inizia con
prctbl_...) - Incolla l’ID della tabella dei prezzi nel tuo
discourse_subscriptions_pricing_table_ide abilita l’impostazione della tabella dei prezzi degli abbonamenti. - Fai clic sulle spunte verdi per salvare entrambe le impostazioni.
Passaggio consigliato:
Quando si configura la tabella dei prezzi all’interno di Stripe, si consiglia di collegare l’utente al tuo sito dopo il completamento del checkout, altrimenti rimarrà su una pagina di conferma di Stripe senza un link di ritorno al tuo sito.
Il reindirizzamento a https://<tuo-sito>/my/billing/subscriptions è una buona scelta per gli abbonamenti. Per i pagamenti una tantum, potresti collegarti direttamente a https://<tuo-sito>/my/billing/payments.
Riscossione automatica delle imposte
Per abilitare la Riscossione Automatica delle Imposte, spunta la casella delle impostazioni del sito per discourse_subscriptions_enable_automatic_tax.
Se la abiliti, ma non hai configurato correttamente la tua istanza di Stripe per raccogliere le imposte, 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 sta passando 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 di abbonamento Discourse in Stripe che mostra che le imposte sono state raccolte automaticamente:
Impostazioni
| Nome | Descrizione |
|---|---|
| discourse subscriptions enabled | Abilita il plugin Discourse Subscriptions. |
| discourse subscriptions extra nav subscribe | Mostra il pulsante di iscrizione nella navigazione primaria |
| discourse subscriptions public key | Chiave pubblica Stripe |
| discourse subscriptions secret key | Chiave segreta Stripe |
| discourse subscriptions webhook secret | Segreto Webhook Stripe |
| discourse subscriptions currency | Codice valuta predefinito. Può essere sovrascritto quando si crea un piano di abbonamento. |
| discourse subscriptions campaign enabled | Abilita un banner di campagna per promuovere il supporto finanziario a 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 usare come sfondo per il banner della campagna. |
| discourse subscriptions campaign banner shadow color | Seleziona il colore dell’ombra proiettata del banner della campagna. |
| discourse subscriptions campaign show contributors | Mostra le avatar degli acquisti più recenti di prodotti di abbonamento. |
| discourse subscriptions campaign product | L’ID del prodotto Stripe da inviare ai sostenitori quando fanno clic sul pulsante sulla campagna. Se questa impostazione è vuota, i sostenitori verranno reindirizzati alla pagina principale dei prodotti. |
| discourse subscriptions campaign grant | Concede all’utente un mese gratuito di abbonamenti |
| discourse subscriptions pricing table id | L’ID della tabella dei prezzi Stripe dal codice di incorporamento |
| discourse subscriptions pricing table enabled | Abilita l’uso della tabella dei prezzi Stripe e sostituisce la pagina di iscrizione esistente |
| discourse_subscriptions_enable_automatic_tax | Attiva/disattiva la raccolta delle imposte sulle vendite. Richiede alcune configurazioni in Stripe. |
| discourse_subscriptions_enable_verbose_logging | Abilita una registrazione più dettagliata per facilitare il debug. Si prega di non lasciarla abilitata permanentemente in produzione. |
Ospitato da noi? Questo plugin è disponibile nei nostri piani di hosting Pro, Business ed Enterprise Subscriptions | Discourse - Civilized Discussion















