FLUSSI DI DISDETTAGOCARDLESS

Come aggiungere un flusso di disdetta agli abbonamenti GoCardless

GoCardless permette di mettere in pausa, riprendere, modificare e disdire abbonamenti via API. Come costruirci un flusso di disdetta con motivi e un'offerta.

Pubblicato il 5 min di lettura

Un cliente in addebito diretto che vuole andarsene ha due uscite: la tua app o la sua banca. Se la tua app rende la cosa difficile, la banca è a una telefonata di distanza, e un mandato revocato o una richiesta di indennizzo sono una fine peggiore per entrambi rispetto a una disdetta pulita. Un buon flusso di disdetta su GoCardless serve quindi in parte a trattenere i clienti e in parte ad assicurarti che chi se ne va lo faccia tramite te.

Questa guida mostra cosa ti permette di fare l’API Subscriptions di GoCardless quando un cliente vuole disdire, e come costruirci sopra un breve flusso di disdetta. Si attiene alla documentazione di GoCardless: il riferimento dell’API subscriptions, il riferimento degli eventi subscription e la guida per sviluppatori Responding to mandate events (tutti consultati a novembre 2026). Il sito di documentazione di GoCardless non era raggiungibile dal nostro ambiente di ricerca, quindi abbiamo verificato il comportamento degli endpoint sulle librerie client ufficiali dell’API di GoCardless, come gocardless-pro-ruby, che sono generate dallo stesso schema dell’API e riportano le stesse descrizioni.

Cosa ti dà GoCardless

Un abbonamento GoCardless crea pagamenti su un mandato secondo il suo calendario. Il suo status è uno tra:

Stato Significato
pending_customer_approval In attesa dell’approvazione del cliente
customer_approval_denied Il cliente non l’ha approvato
active Continuerà a creare pagamenti
paused Non creerà pagamenti
finished Tutti i pagamenti programmati sono stati creati
cancelled Non creerà più pagamenti

Le quattro chiamate di cui ha bisogno un flusso di disdetta:

Disdire

POST /subscriptions/:id/actions/cancel disdice immediatamente l’abbonamento; non vengono più creati pagamenti al suo interno. Fallisce con cancellation_failed se l’abbonamento è già disdetto o terminato.

Un pagamento già creato può essere annullato solo finché il suo stato è pending_submission (POST /payments/:id/actions/cancel). Una volta inviato alle banche, verrà incassato o fallirà da solo. Controlla i pagamenti in arrivo quando confermi la disdetta, così non prometti “nessun altro pagamento” quando uno è già in viaggio.

Mettere in pausa e riprendere

POST /subscriptions/:id/actions/pause impedisce all’abbonamento di creare pagamenti:

  • Senza pause_cycles, resta in pausa finché non chiami resume.
  • Con pause_cycles, resta in pausa per quel numero di cicli, e upcoming_payments mostra comunque le date di addebito successive.
  • Funziona per gli abbonamenti senza fine o che incassano un numero fisso (count) di pagamenti, non per quelli con una end_date. Fallisce con subscription_cannot_be_paused quando la pausa non è possibile.

POST /subscriptions/:id/actions/resume riavvia la creazione dei pagamenti. La data di addebito del pagamento successivo è la earliest_charge_date_after_resume dell’abbonamento.

Questo rende “metti in pausa invece di disdire” un’offerta nativa su GoCardless, cosa che non vale per ogni piattaforma di pagamento.

Modificare

PUT /subscriptions/:id modifica campi come l’importo. GoCardless documenta limiti che contano per le offerte di sconto:

  • Fallisce con number_of_subscription_amendments_exceeded se l’importo è già stato modificato 10 volte.
  • Fallisce con mandate_payments_require_approval se l’importo cambia e il mandato richiede l’approvazione.
  • Fallisce con subscription_not_active se l’abbonamento non è più attivo.

Uno sconto temporaneo costa quindi due modifiche (giù, poi di nuovo su). Tieni il conto.

Non toccare il mandato

Disdire un abbonamento non revoca il mandato. La guida per sviluppatori di GoCardless dice di revocare un mandato solo se il cliente lo ha chiesto esplicitamente. Mantenerlo significa che un cliente che ritorna può ripartire senza impostare un nuovo addebito diretto. Se il cliente ti chiede di revocare l’addebito diretto stesso, fallo, e dillo nella conferma.

Progettare il flusso

1. Chiedi perché

Una domanda, un elenco breve, un tocco:

  • Troppo caro
  • Non lo uso abbastanza
  • Mi serviva solo per un periodo
  • Manca qualcosa
  • Passo a un altro fornitore
  • Altro

Salva il motivo con il cliente. Puoi anche metterlo nei metadata dell’abbonamento prima di disdire, così resta con il record di GoCardless.

2. Un’offerta adatta al motivo

Motivo Offerta Su GoCardless
Mi serviva solo per un periodo Pausa da 1 a 3 cicli pause con pause_cycles
Troppo caro Un prezzo più basso per qualche mese update dell’importo, programma il ritorno al prezzo pieno (2 modifiche)
Non lo uso abbastanza Un piano più economico update dell’importo, o disdetta e nuovo abbonamento sullo stesso mandato
Manca qualcosa, passo altrove Nessuno sconto; chiedi dettagli Niente da modificare

Indica l’effetto esatto prima che il cliente accetti: per una pausa, la data del prossimo addebito; per uno sconto, l’importo ridotto, quanti pagamenti copre e l’importo successivo.

3. Disdetta, sempre visibile

Il pulsante di disdetta va su ogni passaggio, non dopo l’offerta. Un cliente che rifiuta l’offerta è a un clic dalla conferma, che dice:

  • che l’abbonamento è disdetto;
  • se un pagamento già inviato verrà comunque incassato, e in che data;
  • fino a quando mantiene l’accesso;
  • se il mandato di addebito diretto resta attivo (e come revocarlo se lo desidera).

Quest’ultimo punto conta con l’addebito diretto. Un cliente che vede un mandato ancora elencato presso la sua banca potrebbe revocarlo lì “per sicurezza”. È un suo diritto, ed è meglio che sappia che non è necessario.

Collegare tutto

  1. Carica l’abbonamento e i suoi pagamenti in arrivo quando si apre il flusso.
  2. Usa una chiave di idempotenza sulle chiamate di pausa, ripresa e disdetta (le librerie client ufficiali di GoCardless gestiscono i conflitti di idempotenza su queste azioni), e disattiva i pulsanti dopo il primo clic.
  3. Ascolta gli eventi degli abbonamenti (vedi il riferimento degli eventi per l’elenco completo delle azioni) così la tua app resta allineata quando le modifiche arrivano dalla dashboard o da GoCardless stesso, per esempio quando un mandato viene revocato e i suoi abbonamenti con lui.
  4. Programma i seguiti di cui hanno bisogno le tue offerte: il ritorno al prezzo pieno, la fine di una pausa a tempo indeterminato, un promemoria prima che un abbonamento in pausa riparta.
  5. Registra ogni passaggio: motivo, offerta mostrata, risposta, ora della disdetta. Se più tardi arriva una richiesta di indennizzo, questa traccia ti aiuta a capire cosa è andato storto.

Misura la cosa giusta

  • Offerte accettate, per motivo.
  • Abbonamenti in pausa che riprendono e pagano ancora tre mesi dopo.
  • Disdette tramite il tuo flusso rispetto ai mandati revocati in banca. Se molti clienti se ne vanno tramite la banca, l’opzione di disdetta è troppo difficile da trovare.

Farlo con NoChurn

GoCardless tiene l’abbonamento, il mandato e l’incasso. NoChurn aggiunge il flusso di disdetta: motivi, un’offerta adatta a ogni motivo e una disdetta in un clic sempre visibile, ospitata da NoChurn o integrata nella tua interfaccia con l’API headless. Su GoCardless, una disdetta chiude l’abbonamento GoCardless e il mandato resta come sceglie il cliente. I motivi di disdetta guidano le email di win-back a 30, 60 e 90 giorni e alimentano il churn score. Vedi NoChurn + GoCardless.

PROMPT

Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.

Smetti di perdere ricavi.

  • Gratis fino a $300 MRR
  • Nessuna carta richiesta
  • Attivo in 10 minuti
  • Mai una quota di ciò che recuperiamo