Come vincere i chargeback su Stripe
Le contestazioni Stripe per gli abbonamenti: stati, categorie di motivi, campi delle prove, scadenze, commissioni, early fraud warning e Smart Disputes.
Un chargeback su un pagamento di abbonamento ti costa il pagamento, una commissione e un po’ della tua reputazione presso i circuiti delle carte. Hai una sola occasione per rispondere, di solito entro poche settimane, e la banca decide solo in base a ciò che invii. Questa guida spiega come funziona il processo di contestazione su Stripe e come costruire un pacchetto di prove adatto a un business in abbonamento.
Si attiene alla documentazione di Stripe: how disputes work, respond to disputes, categorie dei reason code, reason code delle contestazioni, buone pratiche sulle prove, l’oggetto Dispute, Smart Disputes e la FAQ sulle commissioni di contestazione (tutte consultate a novembre 2026). Dove le pagine di Stripe lasciano un vuoto, lo diciamo.
Il ciclo di vita di una contestazione
Una contestazione inizia quando il titolare contatta la sua banca. Stripe crea allora un oggetto Dispute sull’addebito e invia il webhook charge.dispute.created. Da lì, l’oggetto Dispute passa per un piccolo insieme di stati:
| Stato | Cosa significa |
|---|---|
warning_needs_response |
Una richiesta di informazioni (non ancora un chargeback) che richiede una risposta |
warning_under_review |
Una richiesta di informazioni in revisione dopo che hai inviato le prove |
warning_closed |
Una richiesta di informazioni chiusa senza diventare una contestazione formale |
needs_response |
Un chargeback che richiede una risposta |
under_review |
Un chargeback in revisione dopo che hai inviato le prove |
won / lost |
Risolto a tuo favore / a favore del cliente |
prevented |
Una contestazione a cui è stato impedito di diventare un chargeback formale |
Le richieste di informazioni contano perché, secondo Stripe, non viene prelevato alcun fondo a meno che la richiesta non si trasformi in contestazione. Se perdi una richiesta di informazioni, si trasforma: lo stato cambia con un evento charge.dispute.updated e i fondi vengono prelevati con charge.dispute.funds_withdrawn. Quando il caso si chiude, scatta charge.dispute.closed con won, lost o warning_closed.
Sui tempi, la pagina how disputes work di Stripe dice che di solito hai da 7 a 21 giorni per rispondere dopo la creazione di un chargeback, a seconda del circuito, e che l’emittente impiega di solito da 60 a 75 giorni per decidere dopo il tuo invio. L’intero processo può durare due o tre mesi. La scadenza esatta per ogni caso è sull’oggetto Dispute e nella Dashboard; lavora sempre su quella data, non su una regola empirica.
Commissioni
Stripe addebita una commissione di contestazione quando viene aperta una contestazione, e una commissione separata se la contesti. Secondo la FAQ sulle commissioni di contestazione e la pagina dei prezzi Stripe per gli Stati Uniti, negli Stati Uniti entrambe sono di 15,00 $; la seconda viene restituita se vinci, mentre la commissione di contestazione non viene restituita salvo diversa indicazione nel tuo contratto. Gli importi variano per paese, quindi controlla la pagina dei prezzi per il tuo. Accettare una contestazione non evita la commissione di contestazione.
Per le compliance dispute di Visa e Mastercard, Stripe riscuote una commissione di circuito aggiuntiva di 500 USD (o l’equivalente locale) se contesti, rimborsata se vinci.
Categorie di motivi
Ogni circuito ha i suoi reason code. Stripe li mappa su un valore reason della contestazione, che è la prima cosa da leggere perché decide quali prove guarderà la banca. La pagina delle categorie le elenca; le tre più frequenti per gli abbonamenti sono:
fraudulent: il titolare dice di non aver autorizzato il pagamento (per esempio Visa 10.4, Mastercard 4837).subscription_canceled: il titolare dice di essere stato addebitato dopo aver disdetto (Visa 13.2, Mastercard 4841, Amex C28).product_not_received: il titolare dice di non aver ricevuto ciò che ha pagato (Visa 13.1, Mastercard 4855).
Esistono altri valori, come duplicate, credit_not_processed, product_unacceptable e general. Usa la pagina dei reason code per vedere cosa si aspetta il circuito per ciascuno.
Cosa accetta Stripe come prova
Invii le prove dalla Dashboard o aggiornando la contestazione tramite l’API. L’hash evidence ha campi file e campi di testo. Alcuni che contano per gli abbonamenti, con le descrizioni di Stripe riassunte dall’oggetto Dispute:
| Campo | Tipo | Usalo per |
|---|---|---|
cancellation_policy |
File | La tua politica di disdetta come mostrata al cliente |
access_activity_log |
Testo, max 20.000 caratteri | Log che provano che il cliente ha usato il prodotto: indirizzi IP, timestamp, attività |
customer_communication |
File | Email o messaggi con il cliente |
uncategorized_text / uncategorized_file |
Testo / file | Qualsiasi cosa pertinente che non rientra in un altro campo |
I vincoli che Stripe documenta in respond to disputes e nelle buone pratiche:
- Un solo invio. Puoi inviare una sola volta. Dopo non puoi modificare la risposta né aggiungere prove.
- Prima prepara. Aggiornare la contestazione con
submit=falseprepara le prove senza inviarle. Una richiesta successiva consubmit=true(il valore predefinito) le invia alla banca. - Un file per tipo di prova. Unisci più documenti dello stesso tipo in un unico file di più pagine.
- Limiti di dimensione. I file sono limitati a 4,5 MB complessivi, e le prove Mastercard a 19 pagine complessive. Tutti i campi di testo insieme sono limitati a 150.000 caratteri. Se il pacchetto compilato è troppo lungo, l’API restituisce
dispute_evidence_page_limit_exceeded. - Niente link. Stripe segnala che le banche non esaminano contenuti esterni, quindi non contare su URL o su «chiamateci».
Prove che funzionano per gli abbonamenti
La pagina dei reason code di Stripe dà la direzione per ogni categoria. Tradotta per un business in abbonamento:
Abbonamento disdetto
La banca vuole sapere se il cliente ha davvero disdetto prima dell’addebito, e se aveva accettato le condizioni.
- Mostra la prova che il cliente ha accettato le condizioni dell’abbonamento, incluso come e quando poteva disdire. Carica la sezione pertinente della politica come
cancellation_policy, non tutte le tue condizioni; Stripe suggerisce di evidenziare la parte che si applica. - Fornisci il registro della disdetta con timestamp esatti. Se il cliente non ha mai disdetto, o ha disdetto dopo l’addebito, dillo con il log di sistema.
- Se ha usato il prodotto dopo la data in cui dice di aver disdetto, includi l’utilizzo con timestamp e IP in
access_activity_log. - Se hai rimborsato qualcosa, includi il registro del rimborso.
Frode
Il titolare dice di non aver mai autorizzato il pagamento. Per un abbonamento, la risposta più forte è che lo stesso cliente paga e usa l’account da tempo.
- Mostra lo storico: pagamenti precedenti non contestati sulla stessa carta, data di creazione dell’account, email registrata.
- Mostra l’uso dell’account: login, indirizzi IP, dispositivi, attività intorno alla data di fatturazione.
- Includi qualsiasi comunicazione di quel cliente che mostri che conosce il servizio.
Prodotto non ricevuto
Per i servizi digitali, Stripe indica registri dei login, log dei download e timestamp di utilizzo, più le tue condizioni. Mostra che l’account è stato attivato e usato durante il periodo addebitato.
Scrivi una breve nota di accompagnamento
Qualunque sia il motivo, metti un riassunto semplice in uncategorized_text: chi è il cliente, cosa ha comprato, cosa è successo e quale documento allegato prova ogni punto. Chi esamina legge molti casi; rendi il tuo facile da seguire.
Early fraud warning
Gli emittenti Visa, Mastercard e JCB possono inviare early fraud warning (EFW) per i pagamenti che sospettano fraudolenti, spesso prima di qualsiasi contestazione. Stripe li espone come oggetti Early Fraud Warning e con il webhook radar.early_fraud_warning.created. Il campo actionable dell’oggetto è true solo finché l’addebito non ha una contestazione e non è stato rimborsato per intero.
L’indicazione di Stripe è di non rimborsare ogni warning. La sua documentazione dice che un rimborso non rimuove il warning in sé e impedisce la segnalazione di frode solo quando viene elaborato come storno, il che di solito avviene entro circa due ore dalla cattura. Stripe suggerisce che rimborsare ha più senso per addebiti più o meno pari o inferiori alla tua commissione di contestazione, e fornisce un esempio di Workflows che rimborsa sotto quell’importo e avvisa una persona sopra. Per un abbonamento, valuta anche di disdire l’abbonamento su quella carta così il prossimo rinnovo non crea una seconda contestazione.
Smart Disputes
Stripe offre Smart Disputes, che assembla un pacchetto di prove dai dati che Stripe ha già e, se non fai nulla, lo invia poco prima della scadenza. Puoi disattivare l’invio automatico nella Dashboard. La documentazione di Stripe dice che la commissione di Smart Disputes viene addebitata solo quando la contestazione è vinta; verifica le condizioni aggiornate su quella pagina, perché Stripe indica il prodotto come preview. Smart Disputes può usare solo i dati che Stripe possiede, quindi le prove che vivono nei tuoi sistemi (login, utilizzo, conversazioni di supporto) devono comunque arrivare da te.
Una checklist per la risposta
- Iscriviti a
charge.dispute.created,charge.dispute.updated,charge.dispute.closederadar.early_fraud_warning.created. - Per ogni contestazione, leggi prima
reasone la scadenza della risposta. - Decidi in fretta se accettare. Se il cliente aveva disdetto ed è stato addebitato comunque, accettare e correggere la causa può essere la risposta onesta.
- Raccogli le prove per quel motivo: condizioni accettate, registro della disdetta, log di utilizzo, comunicazioni.
- Prepara le prove con
submit=false, controlla i limiti, falle rivedere a qualcuno, poi invia una sola volta. - Registra l’esito e il motivo, così puoi correggere gli schemi che causano contestazioni (descrittore di fatturazione poco chiaro, pulsante di disdetta difficile da trovare, promemoria di rinnovo mancati).
Farlo con NoChurn
NoChurn legge le contestazioni Stripe e raccoglie in automatico le prove per ciascuna: le risposte del cliente nel flusso di disdetta, le email inviate da NoChurn, i dati di utilizzo che invii via API e le conversazioni da un help desk collegato (in sola lettura). Scrive la bozza di risposta con l’IA, e nulla viene inviato a Stripe finché una persona del tuo team non l’ha controllata. Commissioni, scadenze ed esito con la banca restano decisi da Stripe, e NoChurn non può cambiarli. NoChurn è gratuito sotto i 300 $ di MRR, con tutte le funzioni in ogni piano (il tuo dominio email da 9 $). Vedi NoChurn + Stripe.