@Steven Grazie mille per questa risposta, è molto utile.
Sembra che i campi personalizzati risolvano la maggior parte del mio problema; uso il plugin teaser e ho trovato una soluzione funzionante per i tipi di abbonamento in base alle funzionalità offerte dal plugin.
Ho dato un’occhiata alla tabella (Google Translate ha fatto il suo dovere!) e sembra che tramite ProCourse possiamo avere più livelli di abbonamento con costi diversi, giusto? Se è così, posso semplicemente creare un abbonamento aggiuntivo che offra esattamente lo stesso accesso ma a un costo inferiore. Siamo un gruppo abbastanza piccolo da poter gestire questa soluzione, affidando a qualcuno il compito di verificare manualmente l’esistenza di un abbonamento “master” per questi utenti.
Esatto, ogni costo avrà la propria pagina di iscrizione; è lì che la pagina statica si rivela più utile e la tabella è stata la soluzione migliore nel mio caso.
Sto lavorando alla configurazione e ho una domanda. Se ho impostato un’iscrizione di 12 mesi a un gruppo “Bronze”, alla fine di questi 12 mesi l’iscrizione a quel gruppo verrà rimossa? C’è un avviso per l’utente che segnala che è successo o sta per succedere?
Ho letto questo più volte e ho provato di nuovo il sito Demo, e penso di aver capito la mia confusione sul flusso di registrazione/iscrizione.
Ecco cosa penso di dover fare:
Nota: il mio sito è al 100% a pagamento, non c’è un piano gratuito
Ho una pagina di vendita statica (fuori da Discourse) con un modulo di candidatura. Se la candidatura viene approvata (processo manuale), invierò un invito a unirsi direttamente da Discourse.
Il nuovo utente si registra e ottiene un nuovo account su Discourse.
Il nuovo utente accede a Discourse e trova… un forum vuoto, tranne per un argomento su ‘creare un’iscrizione’ [forse è qui che entra in gioco pro-course-static-page e posso avere una pagina statica con opzioni di pagamento?]
Quel argomento [o pagina statica] ha due opzioni: un pagamento ricorrente mensile e un pagamento ricorrente annuale. Ogni link o pulsante porta alla pagina di iscrizione che ho creato all’interno del plugin Procourse.
Il nuovo utente completa il pagamento e viene aggiunto al gruppo Membri, che ha accesso all’intero forum.
Penso di essere sulla strada giusta. Ma i punti 3 e 4 mi sembrano discutibili. Sto perdendo un percorso più semplice o ovvio?
PS - Pensavo che la pagina di pagamento sarebbe arrivata prima, prima che il nuovo utente creasse un account. La necessità di creare prima un account è stata un grande blocco mentale per me, ma capisco il motivo. Penso.
Penso che creerai problemi di usabilità per la tua base utenti richiedendo loro di registrarsi, attendere l’approvazione, entrare in un forum vuoto e poi pagare per i contenuti.
Potresti ottenere risultati migliori adottando un approccio simile in cui Discourse è bloccato, ma utilizzando WP Discourse per l’SSO e Paid Memberships Pro per limitare l’accesso alla community. Tutto avverrà in modo più fluido per i tuoi utenti.
Grazie @justin, darò un’occhiata. Il forum non è vuoto (ho avuto un piccolo gruppo lì dentro per diversi mesi), ma capisco il tuo punto. Apprezzo la tua prospettiva.
L’idea per l’applicazione è raccogliere alcune informazioni di sfondo sulla persona e su cosa si aspetta di ottenere dalla comunità. Io faccio parte di un altro gruppo in cui i membri entravano e uscivano poco dopo perché non era un buon match per loro.
Potrei modificare le cose per indirizzarli direttamente alla pagina di iscrizione dei membri e, una volta che si sono uniti, fargli le stesse domande come parte del loro onboarding. Funzionerebbe, dato che in questo caso ho parlato molto di cosa aspettarsi prima che le persone si iscrivano.
Una domanda: se scelgo questa strada, posso indirizzarli direttamente alla pagina dei membri Procourse (dove si abbonano e pagano) e poi creare il loro account Discourse? Oppure è ancora necessario creare prima un account e poi scegliere un piano di pagamento?
Consiglierei di combinarlo con il plugin Custom Wizard. Con questo plugin puoi raccogliere tutte le informazioni che desideri durante la registrazione e, una volta inviato il modulo, reindirizzare l’utente alla pagina di pagamento per l’iscrizione. In questo modo, tutto avviene in un unico flusso.
Personalmente, preferisco questo approccio rispetto alla soluzione Paid Memberships Pro. PMPro può funzionare benissimo fino a quando non si inizia a sincronizzare le iscrizioni ai gruppi in entrambe le direzioni. È possibile farlo, ma, dalla mia esperienza, la configurazione non è così semplice e non sempre risulta affidabile.
Quando ho gestito PMP sul mio sito con la sincronizzazione dei gruppi, non ho mai avuto problemi, ma è vero che serve una certa competenza tecnica per farlo funzionare. A parte le preferenze personali, entrambe sono opzioni valide, con vantaggi e svantaggi unici. @madbaker, speriamo di averti aiutato ad avvicinarti a una decisione possibile!
Ho fatto funzionare bene il plugin Custom Wizard al momento dell’iscrizione. Chiama una Pagina Statica dove il nuovo utente può selezionare un’opzione di abbonamento ricorrente (mensile o annuale).
Ho due livelli nel plugin di abbonamento e l’utente viene reindirizzato alla pagina corretta dell’abbonamento tramite la pagina statica. Fantastico.
L’unico problema è che l’integrazione con Stripe sulla pagina rimane bloccata in un caricamento infinito.
Ho esaminato attentamente la documentazione sull’integrazione con Stripe sul sito della community di Procourse. Sembra che tutto sia configurato correttamente, ma evidentemente non è così.
Ho ricontrollato le valute nel plugin e su Stripe (tutte in USD), le chiavi API e il segreto del webhook. Tutto in modalità ‘test’.
Ho creato un livello di pagamento una tantum nel caso in cui il modello di abbonamento fosse la causa (nessun cambiamento).
Ho controllato i log su Stripe e non c’è traccia di alcun tentativo di chiamata (nulla nel log).
Esiste un modo per controllare un log in Discourse per vedere quale chiamata viene tentata?
Sarei disposto a pubblicare sul Marketplace per chiedere aiuto, ma se riesco a capire cosa sta cercando di fare il plugin, almeno le cose dovrebbero andare meglio. Ho ridotto il flusso di iscrizione ai minimi termini senza ottenere una soluzione, anche se secondo la documentazione ora dovrebbe essere semplice. (Famosissime ultime parole!)
Ho fatto ulteriori ricerche e, per disperazione, ho provato alcune cose in più:
ho ricostruito l’applicazione e eseguito discourse-doctor per assicurarmi che non ci fossero errori
ho eliminato e ricreato i livelli di membership nel plugin procourse-membership utilizzando chiavi di test di Stripe
Quando attivo i livelli, riesco a vedere i nuovi Product Plans (versione di test) su Stripe. Evviva!
Tuttavia, quando vado alla pagina di pagamento per i livelli, la pagina viene visualizzata ma i campi per la carta di credito non si caricano. Rimango bloccato con l’animazione di caricamento all’infinito.
Ho controllato i log degli errori di Discourse e i log degli errori di Stripe, ma non ho trovato nulla. Nessuna voce in nessuno dei due log.
Quindi ho pensato: forse è un problema legato alla ‘modalità di test’. Ho apportato queste modifiche:
ho sostituito le chiavi/webhook di test con quelle di produzione
ho ricreato i livelli di membership all’interno del plugin e li ho abilitati
I nuovi prodotti/piani appaiono su Stripe nell’area di produzione. Yippee!
Ma lo stesso problema si verifica quando vado alla pagina di pagamento di Discourse. La pagina viene visualizzata, ma i campi per la carta di credito non si caricano. Rimango bloccato con l’animazione di caricamento all’infinito.
Nessuna attività nei log di Stripe o nei log degli errori di Discourse.
=== Eureka! ===
Ugh. L’ho capito.
C’è uno script necessario per far funzionare il pagamento: js.stripe.com/v3. Veniva bloccato come errore di sicurezza. Ho aggiunto lo script alla whitelist e ora funziona rapidamente e in modo eccellente.
Un dettaglio davvero importante. Stavo controllando i log dell’applicazione, ma un rapido F12 per verificare la console mi avrebbe risparmiato 4 giorni.
Inoltre, cosa succede quando un utente si iscrive (e paga) e poi annulla? La sua abbonamento termina immediatamente o alla fine del mese per cui ha già pagato?