Permetti abbonamenti di durata predeterminata

Richiesta di funzionalità: Vorrei poter offrire un abbonamento che dura per un solo periodo. Alla fine di quel periodo:

  • L’utente dovrebbe essere rimosso dal gruppo Discourse dell’abbonamento (cosa che non credo accada con i pagamenti una tantum attuali).
  • Non dovrebbero essere prelevati ulteriori pagamenti.

Possibile soluzione? Il plugin Discourse Subscriptions dovrebbe consentire di impostare l’attributo iteration di una pianificazione di abbonamento. Ho trovato questo nella documentazione di Stripe, nella pagina Subscription Schedules API:

Impostazione della durata di una fase

L’ intervallo di un prezzo determina la frequenza di fatturazione di un abbonamento. Ad esempio, un intervallo mensile viene fatturato ogni mese. Le fasi hanno un attributo iterations che si utilizza per specificare la durata di una fase. Moltiplicare questo valore per l’intervallo per determinare la durata della fase. Se una pianificazione di abbonamento utilizza un prezzo con un intervallo mensile e si imposta iterations=2, la fase dura due mesi.

Completamento di una pianificazione

Le pianificazioni di abbonamento terminano dopo il completamento dell’ultima fase. A questo punto, l’abbonamento viene mantenuto e non è più associato alla pianificazione. Se si desidera annullare un abbonamento dopo il completamento dell’ultima fase di una pianificazione, è possibile impostare end_behavior su cancel.

3 Mi Piace

Ciao, hai risolto questo problema?

2 Mi Piace

No, sfortunatamente c’erano troppe idiosincrasie e funzionalità mancanti con questo plugin. Non so se sia cambiato da quando ho posto la domanda, però.

1 Mi Piace

Ho appena notato che l’essenza della mia richiesta di funzionalità è menzionata anche qui:

1 Mi Piace

Sto lavorando a questa funzionalità per il plugin di abbonamento. Spero funzioni.

2 Mi Piace

In bocca al lupo! Lo troveremmo estremamente utile anche per diversi casi d’uso, specialmente per eventi unici.
Sono abbastanza sicuro che ormai sia arrivato al “regola delle tre unità”.

1 Mi Piace

Ci sarà presto un aggiornamento al plugin delle sottoscrizioni che risolverà questo problema.

Risolve anche i problemi fiscali: Automatic_tax.enabled for Discourse Subscription plugin

e abiliterà altri metodi di pagamento. How can I customise the discourse-subscription plugin?

Non esitare a contattarci se hai altri problemi con questo plugin. Penso di essere a conoscenza della maggior parte, ma ci sono ancora alcune parti di cui vorrei saperne di più. Ad esempio, vorrei saperne di più sulla tua percezione della funzionalità della campagna. C’è qualcuno qui che l’ha usata? :slight_smile:

4 Mi Piace

Sto usando la campagna per betterstreets.nz. Va bene, ma è piuttosto inflessibile. L’ho impostata 9 mesi fa, ed è ancora in corso (sebbene estremamente lentamente!).

Il mio problema più grande è che al momento non posso semplicemente far donare X importo; invece, devono abbonarsi annualmente.

Inoltre, è presentato in questi stessi termini - cioè, mensilmente. Ciò rende gli importi strani, e non è davvero il modo in cui la maggior parte delle persone pensa per una campagna: da zero a X come importo assoluto. Anche se presentato annualmente sarebbe molto meglio.

I banner vanno bene (in alto per le pagine di scoperta e in basso per gli argomenti), ma non sono molto personalizzabili. Sarebbe bello renderli più grandi o più piccoli in modo da adattarsi al resto del sito (ad esempio, altri banner / piè di pagina).

Una volta che un utente li ha chiusi su un dispositivo, sarebbe bello poterli riattivare occasionalmente, o farli rimpicciolire in qualcosa di molto più discreto (ma ancora presente finché la persona non ha donato).

2 Mi Piace

Grazie mille per questo feedback!

È molto utile.

Capisco. Mi sono iscritto al tuo forum per verificarlo e capisco cosa intendi.

Forse sarebbe bene non renderli affatto dismissabili? Non sembrano molto invadenti e offrono informazioni preziose anche a persone che hanno già donato. Danno alla community un obiettivo comune e i donatori meritano di essere riconosciuti per il loro contributo.

Ci sono molti modi per creare banner in Discourse. Quale metodo utilizzi attualmente?

Qualcosa che ho notato: non ero a conoscenza della possibilità di donare alla tua impresa finché non mi sono iscritto al forum. Come sappiamo, la maggior parte del pubblico sarà costituita da lettori passivi e solo una piccola minoranza deciderà di registrarsi.

Quindi sembra una buona idea mostrare il banner della campagna anche agli utenti non registrati. Sono sicuro che ci sono molte persone che vorrebbero donare ma che attualmente non sono membri attivi / registrati.

Ottimo feedback finora! :grinning: :+1:

2 Mi Piace

In betterstreets.nz, uso solo il banner che fa parte della sezione delle campagne del plugin Subscriptions. La sua presenza mi impedisce di aggiungere altri banner!

Uso altri banner in altri siti, però.

Sono totalmente d’accordo, ma solo se fosse super chiaro e facile per loro farlo!

1 Mi Piace

Non ricordo il gergo di Stripe, ma l’intero plugin ruota attorno al loro vecchio modo di fare le cose (che consente solo carte di credito) anziché al nuovo modo (che consente un’ampia varietà di opzioni di pagamento).

La cancellazione è descritta in modo confuso (a memoria, si tratta della cancellazione del rinnovo automatico ma sembra essere descritta come cancellazione immediata).

Ho aggiunto diversi argomenti sul plugin un po’ di tempo fa. Molti non hanno ricevuto risposte, quindi è bello sentire che ora stai lavorando sul plugin. Modifica: ecco un link – Search results for 'tags:subscriptions @Jonathan5' - Discourse Meta

2 Mi Piace

Inoltre, sarebbe ottimo se fosse possibile effettuare un abbonamento contemporaneamente alla registrazione al forum. Al momento, il processo a due fasi non è ideale per tutti gli scenari.

2 Mi Piace

Ho risolto con successo l’abbonamento una tantum con un intervallo di tempo aggiungendo un nuovo metadato (“recurring:0/1”) nell’oggetto price. E quando si tenta di creare un abbonamento con price[:metadata][:recurring]==“0”, imposterò il valore cancel_at_end = true nell’oggetto Subscription.
Quindi, quando crei un prezzo una tantum, devi comunque scegliere un intervallo (anno, mese, giorno, settimana), ma non dovresti selezionare la casella “recurring”.
E quando un utente si abbona, il backend creerà un abbonamento ricorrente che terminerà alla data di fine. L’utente non dovrà annullare il rinnovo da solo.

Tuttavia, ho scoperto che non posso eliminare i prodotti che creo. Vedi Cannot delete products on Discourse Subscriptions - #2 by Jonathan5

Caricamento in corso: image.png…
questo è il mio problema, non posso eliminare i prodotti. Dovrei eliminarli su stripe?



1 Mi Piace

Perdendo o controle desses tópicos mistos! Boa sorte com tudo. Não uso o plugin há muito tempo, então infelizmente não posso ajudar.

2 Mi Piace

Questo argomento è diventato piuttosto confuso. Non mi è immediatamente chiaro come posso districarlo in modo pulito. :thinking:

Anche se suggerirei a tutti di cercare di attenersi a un problema/funzionalità per argomento, in modo che siano più facili da seguire e tenere traccia. :pray:

3 Mi Piace

@Alex_王 @Jonathan5 @nathank

Se volete potete provare il codice aggiornato, potete controllare il branch da questa PR:

Dovrete eseguire lo stripe cli localmente per inoltrare i messaggi webhook. Questo è il comando da usare:

stripe listen --forward-to http://localhost:4200/subscriptions/hooks --api-key your_api_key

Dovete anche aggiungere il segreto webhook di Stripe all’istanza di Discourse (come impostazione del plugin “webhook secret”). Potete trovarlo nell’esempio di codice a destra nel modulo di creazione webhook su Stripe.

Ho realizzato un breve video per dare una panoramica delle strutture dati e di come si collegano alle strutture dati di Discourse:

Praticamente sono d’accordo con questo, ma ora dovrebbe essere risolto. Potete configurare qualsiasi cosa vogliate in Stripe con questo (metodi di pagamento / tasse / tabelle dei prezzi ecc.) e dovrebbe funzionare tutto.

Il plugin gestisce solo la connessione tra gli utenti di Discourse e i clienti Stripe, e la creazione di prodotti, piani, ecc. viene fatta completamente nella dashboard di Stripe.

Potrebbero esserci ancora dei bug. Se vedete qualcosa, per favore segnalatelo. :grinning: :+1:

3 Mi Piace

Quindi questa è una fork che hai intenzione di sottoporre come richiesta di PR per il plugin ufficiale una volta che sarà un po’ più rifinita? Se sì, fantastico!!! E grazie per il tuo buon lavoro e la tua energia in questo!

Se sì, ci proverò a breve. Ci vorrà un po’ di smanettamento per testarla completamente, ovviamente.

Dove lo eseguiamo? Sul server come root, o all’interno del container Docker? E usiamo la nostra istanza URL prima di /subscriptions/hooks?

E solo per assicurarmi di fare la cosa giusta, è questo che installiamo invece del plugin ufficiale?

git clone https://github.com/spirobel/discourse-subscriptions -b "feature/rework-admin-page"
1 Mi Piace

Questo è necessario solo per un’istanza di sviluppo che viene eseguita localmente sul tuo computer. Ad esempio, puoi vedere nel video che la mia istanza di Discourse viene eseguita su localhost:4200, il che significa che viene eseguita sul mio computer.
Se vuoi ricreare esattamente questo ambiente, puoi seguire questa guida:

Poiché il server Stripe non può raggiungere l’indirizzo localhost:4200 sulla mia rete locale, è necessario eseguire questo comando per inoltrare le richieste webhook provenienti dal server Stripe.

Se vuoi provare questo su un server connesso a Internet, puoi seguire la configurazione dei webhook del tutorial ufficiale: Discourse Subscriptions Plugin

Per favore, non installarlo (ancora) su un’istanza che ha già dati clienti live e la vecchia versione del plugin Discourse Subscriptions installata. Provalo su un secondo server di staging, perché le due versioni saranno in conflitto.

Grazie mille per aver testato questo! Abiliterà anche i visitatori che non hanno ancora un account ad acquistare un piano. Verranno invitati automaticamente all’istanza di Discourse e avranno le appartenenze ai gruppi appropriate una volta pagato.

2 Mi Piace

Ho un sito live relativamente tranquillo (betterstreets.nz) con solo 3 clienti, me compreso, derivanti da un esperimento precedente essenzialmente fallito. Sarei abbastanza felice di testarlo lì, rimuovendo il plugin precedente e i suoi dati se necessario (anche se avrei bisogno di una mano con il comando corretto della console Rails). Avrei ancora un conflitto in quel caso?