Mentre il plugin Discourse Subscriptions matura, voglio iniziare a pianificare il trasferimento delle mie membresie esistenti da WooCommerce Subscriptions a Discourse Subscriptions. Il processo descritto di seguito dovrebbe essere applicabile anche ad altri plugin di abbonamento/membresia di WordPress, non solo a WooCommerce.
Ci sono tre elementi di questa transizione che devono essere affrontati:
Creazione degli abbonamenti in Stripe
Collegamento dell’abbonamento Stripe all’utente in Discourse
Inversione dell’SSO in modo che Discourse diventi il provider SSO e WordPress il client
(1) Creazione degli abbonamenti in Stripe
Sembra che al momento la creazione degli abbonamenti in Stripe per utenti esistenti sia un processo manuale. I miei membri sono già presenti in Stripe, quindi il flusso di lavoro sarebbe più o meno questo:
Esportare tutti gli abbonati e i dati da WooCommerce Subscriptions
Creare un abbonamento in Stripe per un utente dal dashboard clienti di Stripe e programmare il primo pagamento in modo che corrisponda alla data di scadenza dell’abbonamento WooCommerce esistente.
Annullare l’abbonamento dell’utente su WooCommerce.
Disabilitare WooCommerce Subscriptions una volta completata l’operazione per tutti gli utenti.
(2) Collegamento dell’abbonamento Stripe all’utente in Discourse
Una volta configurato l’utente con un abbonamento in Stripe, come possiamo aggiungere questo utente esistente a un piano di abbonamento in Discourse? Questo è necessario per consentire all’utente di annullare l’abbonamento e per rimuovere l’utente dal gruppo se il pagamento su Stripe fallisce.
(3) Inversione dell’SSO per utilizzare Discourse come provider e WP come client
Sono entusiasta di vedere che stai facendo questo.
Sì, non è qualcosa che il plugin potrà gestire, tuttavia, se hai competenze di programmazione, potresti utilizzare l’API di Stripe per automatizzare parte di questo processo. Altrimenti, il metodo manuale potrebbe essere l’unica via percorribile.
Solo per essere sicuro di aver capito il tuo problema: hai già creato le sottoscrizioni in Stripe e vuoi retrocedere l’accesso su Discourse? È corretto?
Penso che dovrebbe esserci un modo per farlo tramite il task rake, ma purtroppo non sarò in grado di occuparmene a breve. Sarebbe comunque un pr-welcome Dovresti creare un record DiscourseSubscriptions::Customer con tutte le informazioni appropriate e poi aggiungere l’utente al gruppo.
Potresti persino eseguirlo manualmente dalla console, anche:
Sì. Questo avverrà dopo il completamento dei passaggi di cui al punto (1), quando al cliente in Stripe verrà assegnato un nuovo abbonamento.
Il cliente esiste già in Stripe (nel mio caso) perché WooCommerce Subscriptions crea un cliente in Stripe con un acquisto di abbonamento, quindi i dati pertinenti sono già presenti, incluse le informazioni sulla carta di credito.
È possibile fornire un file CSV invece di farlo uno alla volta?
Penso che questo rappresenti un grande ostacolo per chiunque abbia una comunità consolidata basata su abbonamenti; pertanto, vedremo solo nuove comunità adottarlo.
Perfetto, grazie Justin. Capisco e non vedo l’ora di vedere gli sviluppi futuri. Sto pianificando questo come un progetto invernale, perché in ogni caso richiederebbe molti passaggi manuali.
Congratulazioni, Justin! È un traguardo enorme! Ho iniziato a provarlo ieri e non vedo l’ora di iniziare a usarlo. Inizierò anche a valutare modi per aiutare nel processo di migrazione da piattaforme come WooCommerce. Al momento non è chiaro se si tratti di un semplice (eh sì!) task rake o se assomiglierà di più a una migrazione di forum in cui ogni lavoro è unico (mi aspetto che sarà quest’ultimo).
La sfida sarà recuperare le informazioni dei clienti da Stripe e inserirle nella tabella Customer del plugin, assicurando la corretta corrispondenza. Da lì, si tratterà principalmente di aggiungere l’iscrizione ai gruppi. Ma hai probabilmente ragione: ogni caso sarà unico.
Oltre all’indirizzo email, Stripe e WooCommerce Subscriptions condividono anche l’ID cliente: cus_ABCdefxyz, l’ID della carta: src_1234ABxyzasdf e l’ID della transazione: ch_0123ABCDefgh
Se non sbaglio, anche PMPro condivide gli stessi dati.
A mio avviso, la soluzione migliore è esportare una tabella da entrambe le applicazioni e verificare che corrispondano in un foglio di calcolo, per poi utilizzare quel file CSV come fonte.
Sono curioso di sapere se questo ha funzionato. Sto cercando di aiutare un cliente a passare da MemberPress e sembra che dovrò fare qualcosa di simile. Mi piacerebbe imparare da chiunque abbia provato qualcosa di simile.