# Passaggio a Discourse Subscriptions da WordPress Subscriptions

**URL:** https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917
**Category:** Feature
**Tags:** subscriptions
**Created:** [21 Ottobre 2020, 9:44pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917 "2020-10-21T21:44:10Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [21 Ottobre 2020, 9:44pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/1 "2020-10-21T21:44:10Z")

</div>

Continuando la discussione da [Discourse Subscriptions](https://meta.discourse.org/t/discourse-subscriptions/140818)

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:

1. Creazione degli abbonamenti in Stripe
2. Collegamento dell’abbonamento Stripe all’utente in Discourse
3. 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.

 ![customer dashboard](https://global.discourse-cdn.com/meta/original/3X/a/4/a4f0f155d47ff0cdff3bb3de8943ba5707349a8b.png)

 ![schedule subscription](https://global.discourse-cdn.com/meta/original/3X/d/8/d8730d4f215c75de7ed6ee0ca33e07cd129988d8.png)

Ulteriori informazioni da [Stripe sulle migrazioni](https://stripe.com/docs/security/data-migrations/imports).

### (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

Questa parte è descritta [qui](https://meta.discourse.org/t/wp-discourse-plugin-installation-and-setup/50752#heading--sso-client).

* * *

Sono bloccato nel capire se il punto #2 è realizzabile e sarei felice di sapere se qualcuno ha già effettuato questo passaggio.

È possibile estendere il task rake `rake subscriptions:import` o aggiungere un altro task per importare e collegare anche gli abbonamenti degli utenti?

---

<div class="post-metadata">

### Author: ![justin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/justin/32/157614_2.png) [@justin](https://meta.discourse.org/u/justin)
#### Post date: [26 Ottobre 2020, 12:57am UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/4 "2020-10-26T00:57:17Z")

</div>

> [@omarfilip](#):
>
> Man mano che il plugin Discourse Subscriptions matura, voglio iniziare a pianificare il passaggio delle mie **iscrizioni esistenti** da WooCommerce Subscriptions a Discourse Subscriptions

Sono entusiasta di vedere che stai facendo questo.

> [@omarfilip](#):
>
> ### (1) Creazione delle sottoscrizioni in Stripe
> 
> Sembra che la creazione delle sottoscrizioni in Stripe per **gli utenti esistenti** sia al momento un processo **manuale**. I miei membri sono già in Stripe, quindi il flusso di lavoro sarebbe qualcosa del genere:

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.

> [@omarfilip](#):
>
> Sono bloccato nel capire se il punto #2 possa essere realizzato e vorrei sapere se qualcuno ha già fatto questo passaggio.
> 
> È possibile espandere il task rake `rake subscriptions:import` o aggiungere un altro task per importare e collegare anche le sottoscrizioni degli utenti?

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:

```plaintext
DiscourseSubscriptions::Customer.create(
    user_id: <user id>,
    customer_id: <stripe customer id>,
    product_id: <stripe product id>
  )

```

---

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [26 Ottobre 2020, 1:19am UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/5 "2020-10-26T01:19:32Z")

</div>

> [@justin](#):
>
> Solo per essere sicuro di aver capito il tuo problema: hai creato gli abbonamenti in Stripe e desideri retroattivamente assegnare l’accesso in Discourse? È corretto?

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.

> [@justin](#):
>
> esegui manualmente dalla console

È 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.

---

<div class="post-metadata">

### Author: ![justin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/justin/32/157614_2.png) [@justin](https://meta.discourse.org/u/justin)
#### Post date: [26 Ottobre 2020, 1:25am UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/6 "2020-10-26T01:25:05Z")

</div>

Aggiungerò l’estensione del task rake alla mia lista, ma come ho già detto, ho ancora un backlog piuttosto lungo da smaltire!

> [@omarfilip](#):
>
> Potrebbe essere fornito un file CSV invece di farlo uno alla volta?

Sì, potrebbe. Ruby può leggere un file CSV e iterare sui suoi contenuti, quindi sarebbe assolutamente possibile.

---

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [26 Ottobre 2020, 1:28am UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/7 "2020-10-26T01:28:05Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 Novembre 2020, 10:07pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/8 "2020-11-03T22:07:04Z")

</div>

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).

---

<div class="post-metadata">

### Author: ![justin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/justin/32/157614_2.png) [@justin](https://meta.discourse.org/u/justin)
#### Post date: [3 Novembre 2020, 10:24pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/9 "2020-11-03T22:24:24Z")

</div>

Grazie mille, Jay 🤗

> [@pfaffman](#):
>
> Inizierò anche a valutare modi per facilitare la migrazione degli utenti da piattaforme come WooCommerce. Al momento non è chiaro se si tratti di un semplice (eh!) task rake o se sarà più simile 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.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4 Novembre 2020, 5:06pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/10 "2020-11-04T17:06:58Z")

</div>

A prima vista sembra che Stripe abbia un indirizzo email, quindi il trucco sarà che avranno un indirizzo email diverso in Discourse…

---

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [4 Novembre 2020, 5:41pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/11 "2020-11-04T17:41:55Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [5 Febbraio 2024, 9:57pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/12 "2024-02-05T21:57:06Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [5 Febbraio 2024, 10:15pm UTC](https://meta.discourse.org/t/switching-to-discourse-subscriptions-from-wordpress-subscriptions/167917/13 "2024-02-05T22:15:10Z")

</div>

Il mio è ancora in modalità “da fare”. Altri progetti sembrano intromettersi e avere la priorità. @pfaffman probabilmente ha qualche indicazione.
