Come aggiungere un flusso di disdetta agli abbonamenti Braintree
Come funziona la disdetta nella fatturazione ricorrente Braintree, cosa cambiare su un abbonamento attivo (sconti, piani, cicli) e come creare il flusso.
La fatturazione ricorrente di Braintree ha un’unica operazione di disdetta, ed è definitiva: un abbonamento disdetto non può essere modificato né riattivato. Non c’è una pagina di disdetta integrata, né un sondaggio sui motivi, né un’offerta di retention. Se vuoi che i clienti vedano un’alternativa prima di andarsene, e tenere traccia del perché se ne sono andati, costruisci quel flusso nella tua app e chiami Braintree alla fine.
Questa guida copre le operazioni Braintree su cui si basa un flusso di disdetta, i limiti che lo definiscono e un design passo dopo passo. Si attiene alla documentazione di Braintree: Subscription: Cancel, Subscription: Update, Manage subscriptions, Plans, Statuses, i webhook degli abbonamenti e la guida agli abbonamenti (tutti consultati a novembre 2026).
Come funziona la disdetta in Braintree
Subscription: Cancel porta un abbonamento allo stato Canceled, che il riferimento degli stati di Braintree descrive come assenza di ulteriori addebiti. Il riferimento è esplicito: una volta disdetto un abbonamento, non puoi modificarlo né riattivarlo; un cliente che torna ha bisogno di un nuovo abbonamento.
Tre conseguenze per il tuo flusso:
- La disdetta è l’ultimo passaggio, mai il primo. Proponi ogni offerta prima della chiamata.
- Non esiste un flag “disdici a fine periodo” nell’operazione di disdetta. Se disdici a metà ciclo, la fatturazione si ferma, e a cosa il cliente continua ad avere accesso lo decidi tu nella tua app.
- Salva tu la data di disdetta. Braintree nota che la data di disdetta non è inclusa nei risultati di ricerca degli abbonamenti e suggerisce di ricavarla dal webhook
subscription_canceled.
Terminare alla fine del periodo pagato
Molte aziende vogliono che il cliente mantenga l’accesso fino alla fine di ciò che ha pagato, senza ulteriori addebiti. Due approcci si adattano al modello di Braintree:
- Disdici subito, mantieni l’accesso nella tua app fino alla fine del periodo di fatturazione in corso, usando la data di fine periodo che hai salvato per l’abbonamento.
- Limita il numero di cicli di fatturazione. Subscription: Update ti permette di impostare il numero di cicli di fatturazione, che deve essere maggiore o uguale al ciclo in corso, e disattiva “never expires”. Quando un abbonamento raggiunge il numero di cicli impostato, Braintree lo segna come Expired. Così l’abbonamento termina in modo naturale dopo il ciclo in corso, e un cliente che cambia idea prima di allora può essere ripristinato reimpostandolo su “never expires”.
Il secondo approccio mantiene l’abbonamento modificabile fino alla fine, il che rende facile l’“annulla”. Testalo in sandbox con le impostazioni del tuo piano prima di affidartici.
Cosa puoi offrire in alternativa
L’operazione di aggiornamento di Braintree ti dà le leve per le offerte di retention.
Sconti
Puoi aggiungere, aggiornare o rimuovere sconti (e add-on) su un abbonamento esistente. Le regole principali dalla documentazione:
- I dettagli dello sconto (nome, importo, durata) si gestiscono nel Control Panel, non tramite l’API. Crea prima lì i tuoi sconti di retention, poi applicali tramite ID.
- Un dato sconto può essere applicato una sola volta a un abbonamento; per applicarlo più volte, usa la sua quantità.
Crea uno sconto di retention dedicato, per esempio “Retention 30% x3”, così le offerte accettate sono facili da trovare nei report e non si confondono mai con gli sconti commerciali.
Cambi di prezzo e di piano
Puoi cambiare il prezzo dell’abbonamento, con un flag che controlla se la modifica è proporzionale, o spostarlo su un altro piano. Braintree nota che il passaggio a un piano con una frequenza di fatturazione diversa è disponibile solo per alcuni merchant che lo richiedono, e azzera il ciclo di fatturazione in corso. Per la maggior parte dei flussi di disdetta, un downgrade a un piano più economico con la stessa frequenza è l’offerta più semplice.
Una pausa
La documentazione Braintree che abbiamo esaminato non descrive un’operazione di pausa o di “salto di un ciclo” per gli abbonamenti. Il webhook subscription_billing_skipped esiste, ma scatta quando un ciclo viene saltato perché un saldo pari a zero o negativo lo copre già, non su richiesta. Se vuoi offrire una pausa, dovresti costruirla sopra Braintree (per esempio con uno sconto totale temporaneo per un numero fisso di cicli), e testare prima con attenzione il comportamento della fatturazione.
I webhook che il tuo flusso deve ascoltare
Dai webhook degli abbonamenti di Braintree:
| Tipo | Uso in un flusso di disdetta |
|---|---|
subscription_canceled |
Registra la data di disdetta, revoca l’accesso quando previsto, avvia il win-back |
subscription_expired |
L’abbonamento ha raggiunto l’ultimo ciclo (per l’approccio a “cicli limitati”) |
subscription_charged_successfully |
Conferma che è stato addebitato il prezzo dell’offerta |
Ascoltali anche per le disdette che avvii tu. Gli operatori del supporto possono disdire dal Control Panel, e quelle disdette devono finire negli stessi registri.
Costruire il flusso
-
Indirizza il pulsante di disdetta alla tua pagina, mai direttamente all’API.
-
Chiedi il motivo. Da cinque a sette motivi più “Altro”. Salva la risposta con l’ID dell’abbonamento Braintree. Idee nei sondaggi sui motivi di disdetta.
-
Mostra un’offerta che corrisponde al motivo:
Motivo Offerta Operazione Braintree Troppo caro Sconto a tempo limitato Update: aggiungi uno sconto di retention Mi serve meno Piano più economico Update: cambia piano o prezzo Non lo uso in questo momento Una pausa, se ne hai costruita una La tua logica (vedi sopra) Problema tecnico Aiuto dal supporto Nessuna finché non è risolto Cambio fornitore o chiusura Nessuna offerta Cancel -
Mantieni “Disdici abbonamento” visibile a ogni passaggio, facile da cliccare quanto l’offerta. Regole e buone pratiche nelle regole click-to-cancel e nelle buone pratiche per il flusso di disdetta.
-
Se accetta, chiama Subscription: Update e conferma via email con il nuovo prezzo e la sua durata.
-
Se disdice, chiama Subscription: Cancel (o limita i cicli di fatturazione), mostra la data di fine dell’accesso e invia una conferma.
-
Gestisci gli abbonamenti scaduti. Un cliente che disdice mentre è in arretrato potrebbe dovere un saldo; decidi la tua politica e mostrala.
-
Rivedi ogni mese quali motivi emergono di più e quali offerte stanno ancora pagando dopo tre mesi.
Errori comuni
- Disdire e poi provare ad applicare un’offerta. Gli abbonamenti disdetti non si possono modificare.
- Creare gli sconti nel codice. I dettagli degli sconti stanno nel Control Panel; pianificali in anticipo.
- Perdere la data di disdetta. Senza il webhook salvato, non puoi programmare le email di win-back né misurare il churn per mese.
- Nascondere l’opzione di disdetta dietro l’offerta. Costa fiducia e, in molti Paesi, viola le regole.
Farlo con NoChurn
Braintree tiene l’abbonamento, i pagamenti e la disdetta stessa. Il flusso di disdetta di NoChurn chiede il motivo, mostra un’offerta (uno sconto, un cambio di piano o una disdetta sull’abbonamento Braintree) e mantiene una disdetta in un clic visibile a ogni passaggio, ospitato o headless tramite l’API. Le risposte alimentano le email di win-back a 30, 60 e 90 giorni e un punteggio di churn da 0 a 100, e diventano prove se il cliente contesta poi un addebito. Vedi NoChurn + Braintree.