Un abbonamento che non si rinnova è ricavo che sparisce senza rumore. Il brutto dei rinnovi falliti è proprio questo: non te lo dice nessuno, lo scopri quando guardi i numeri e mancano dei soldi. Vediamo perché i rinnovi di WooCommerce Subscriptions falliscono e come recuperarli.
Le cause più comuni
Carta scaduta o fondi insufficienti. È la causa più banale e più frequente: la carta salvata non è più valida. Qui la partita si gioca sui solleciti (dunning) e sull’aggiornamento della carta.
SCA richiesta. Per i clienti europei, se la carta non è stata salvata correttamente con un SetupIntent, il rinnovo off-session non riesce a completare l’autenticazione e fallisce. Serve far riautenticare il cliente.
Webhook rotti. Spesso il pagamento su Stripe è andato, ma il sito non lo sa perché il webhook non è arrivato: la sottoscrizione risulta “fallita” anche se i soldi sono stati incassati. È il problema più subdolo, e nasce dalla configurazione che vedi nel setup di Subscriptions con Stripe.
Stripe Radar che blocca. Le regole antifrode di Stripe a volte bloccano i rinnovi, soprattutto se i tentativi sono troppo ravvicinati e sembrano sospetti.
Retry troppo aggressivi. Riprovare ogni pochi minuti fa scattare i limiti di velocità di Stripe e trasforma un fallimento temporaneo in un blocco.

Come recuperarli
Prima cosa: verifica che i webhook invoice.payment_failed e invoice.payment_succeeded arrivino davvero. Poi confronta due log — quello di Stripe e quello di WooCommerce: se Stripe dice “pagato” e WooCommerce dice “fallito”, il problema è il webhook, non il pagamento. Sistema le retry rules su 12-24 ore, attiva le email di sollecito per far aggiornare la carta, e per i casi SCA manda al cliente il link per completare il pagamento.
Domande frequenti
Il pagamento risulta fatto su Stripe ma fallito su WooCommerce: perché ?
È il classico problema di webhook: l’evento di pagamento riuscito non è arrivato al sito, quindi WooCommerce non ha aggiornato lo stato. Si risolve verificando l’endpoint e i log di consegna dei webhook nel dashboard di Stripe.
Ogni quanto conviene riprovare un rinnovo fallito ?
Distanzia i tentativi di 12-24 ore. Retry troppo ravvicinati fanno scattare i limiti di Stripe e possono trasformare un problema temporaneo (fondi momentaneamente insufficienti) in un blocco.
Come riduco i rinnovi falliti a monte ?
Webhook configurati bene, SCA e SetupIntent attivi per salvare la carta, email di sollecito per le carte in scadenza e retry rules sensate. La prevenzione vale più del recupero.
Se hai una scia di rinnovi falliti e non capisci dove finiscono i soldi, posso analizzarti webhook, log e retry e rimettere in ordine gli incassi ricorrenti.