Chaque mois, les entreprises SaaS perdent en moyenne 9% de leur MRR à cause de paiements échoués. Ce chiffre, souvent ignoré, représente pourtant une fuite silencieuse qui s'accumule mois après mois. La bonne nouvelle : la majorité de ces paiements sont récupérables avec les bonnes pratiques.
Dans ce guide complet, nous allons voir pourquoi les paiements échouent sur Stripe, comment les récupérer efficacement, et comment automatiser ce processus pour ne plus perdre de revenus inutilement.
Pourquoi les paiements échouent-ils sur Stripe ?
Avant de pouvoir récupérer un paiement échoué, il faut comprendre pourquoi il a échoué. Stripe attribue un code d'erreur précis à chaque échec — et ces codes sont votre feuille de route pour la récupération.
Voici les causes les plus fréquentes :
Fonds insuffisants (insufficient_funds)
C'est la cause la plus courante. Le compte bancaire du client ne dispose pas des fonds nécessaires au moment du prélèvement. Ce n'est généralement pas un refus définitif — le client aura probablement les fonds disponibles quelques jours plus tard, notamment en fin de mois après réception de son salaire.
Carte expirée (expired_card)
La carte bancaire du client a dépassé sa date de validité. Le client doit mettre à jour ses informations de paiement. Un email immédiat avec un lien de mise à jour est la meilleure réponse dans ce cas.
Carte refusée (card_declined)
La banque du client a refusé la transaction pour des raisons diverses : suspicion de fraude, limite de dépenses atteinte, restrictions géographiques. Ce code est générique et peut cacher plusieurs causes sous-jacentes.
Refus frauduleux (fraudulent)
La transaction a été signalée comme potentiellement frauduleuse. Dans ce cas, il ne faut surtout pas réessayer automatiquement — cela pourrait aggraver la situation. Un contact direct avec le client est nécessaire.
Erreur de traitement (processing_error)
Une erreur technique s'est produite lors du traitement du paiement. Ces erreurs sont souvent temporaires et un simple réessai quelques heures plus tard suffit généralement.
Le coût réel des paiements échoués pour votre SaaS
Prenons un exemple concret. Vous avez un SaaS avec 200 abonnés à 49€/mois, soit un MRR de 9 800€. Si 9% de vos paiements échouent chaque mois, vous perdez potentiellement 882€ de MRR mensuel. Sur 12 mois, cela représente plus de 10 500€ de revenus non récupérés.
Et ce calcul ne prend en compte que les paiements qui échouent une fois. Si vous n'avez aucun système de relance en place, certains clients annulent ou abandonnent avant même que vous ayez tenté de récupérer leur paiement.
La réalité est que sans système automatisé, les entreprises ne récupèrent que 30 à 40% de leurs paiements échoués. Avec un bon système de dunning, ce taux monte à 70-80%.
Comment Stripe gère-t-il les paiements échoués nativement ?
Stripe dispose d'un système de réessai automatique appelé Smart Retries. Lorsqu'un paiement échoue, Stripe tente de le prélever à nouveau selon un calendrier prédéfini, généralement 3 à 4 fois sur une période de 4 semaines.
En parallèle, Stripe peut envoyer des emails automatiques aux clients via sa fonctionnalité Dunning, disponible dans les paramètres de facturation.
Cependant, le système natif de Stripe a des limites importantes :
- Emails génériques : les emails envoyés par Stripe sont au nom de Stripe, pas de votre entreprise. Vos clients reçoivent un email de "Stripe" au lieu d'un email de votre SaaS, ce qui réduit considérablement le taux d'ouverture et de conversion.
- Pas de personnalisation : impossible d'adapter le message selon le type d'erreur, le profil du client ou son historique.
- Retries non contextuels : Stripe réessaie selon un calendrier fixe, sans tenir compte de la nature de l'erreur. Un
insufficient_fundsen début de mois a peu de chances de réussir si on réessaie 3 jours plus tard. - Pas de visibilité : il n'existe pas de dashboard dédié pour suivre en temps réel combien vous avez récupéré, perdu, ou combien est en cours de relance.
Les étapes pour récupérer un paiement échoué sur Stripe
Étape 1 : Identifier et classifier l'erreur
La première étape est de lire le code d'erreur Stripe associé à chaque paiement échoué. Voici un tableau de référence pour adapter votre stratégie :
| Code d'erreur | Cause | Stratégie recommandée |
|---|---|---|
| insufficient_funds | Solde insuffisant | Réessayer en fin de mois (J+25 à J+28) |
| expired_card | Carte expirée | Email immédiat avec lien de mise à jour |
| card_declined | Refus générique | Réessayer J+1, puis J+3 |
| fraudulent | Suspicion de fraude | Ne pas réessayer — contacter le client directement |
| processing_error | Erreur technique | Réessayer dans les 24h |
| do_not_honor | Refus banque (générique) | Email de mise à jour + réessai J+3 |
Étape 2 : Mettre en place des retries intelligents
Un retry intelligent, c'est un réessai de paiement planifié en fonction du type d'erreur et du comportement probable du client. Contrairement aux retries automatiques de Stripe qui suivent un calendrier fixe, les retries intelligents s'adaptent au contexte.
Par exemple, pour un insufficient_funds qui survient le 5 du mois, le meilleur moment pour réessayer est le 28-30 du mois, après que la majorité des clients ont reçu leur salaire. Réessayer le 8 du mois a statistiquement peu de chances de succès.
Étape 3 : Envoyer des emails de relance depuis votre domaine
C'est l'étape la plus impactante. Un email envoyé depuis billing@votre-saas.com avec votre logo et votre charte graphique a un taux d'ouverture 3 à 4 fois supérieur à un email générique de Stripe.
Une séquence efficace se compose de 3 emails :
- Email J+0 (immédiat) — Ton bienveillant, on explique simplement qu'il y a eu un problème avec le paiement. On inclut un lien direct vers le Customer Portal Stripe pour mettre à jour la carte. Message court, pas alarmiste.
- Email J+3 — Rappel avec légère urgence. On précise que l'accès au service pourrait être suspendu si le problème n'est pas résolu. Lien de mise à jour toujours présent.
- Email J+7 — Dernier avis. On annonce clairement la suspension prochaine. CTA fort pour résoudre le problème.
Étape 4 : Générer un lien Customer Portal personnalisé
Pour chaque client avec un paiement échoué, Stripe peut générer un lien unique vers son Customer Portal. Ce lien permet au client de mettre à jour sa carte bancaire, voir ses factures, et gérer son abonnement en quelques clics.
L'intégration de ce lien directement dans vos emails de relance est cruciale — chaque friction supplémentaire réduit le taux de conversion. Le client doit pouvoir mettre à jour sa carte en moins de 2 minutes depuis votre email.
Étape 5 : Suivre et mesurer
Sans mesure, pas d'amélioration. Suivez ces métriques clés :
- Taux de récupération global : % de paiements échoués récupérés sur le total
- MRR récupéré : montant total récupéré chaque mois
- Taux de récupération par type d'erreur : pour optimiser votre stratégie par code d'erreur
- Délai moyen de récupération : combien de jours en moyenne entre l'échec et la récupération
Comment automatiser la récupération des paiements Stripe ?
Gérer tout cela manuellement pour chaque paiement échoué est impossible dès que vous avez plus d'une dizaine de clients. L'automatisation est indispensable.
Salvr est une plateforme française dédiée à la récupération automatique des paiements Stripe échoués. Le principe est simple :
- Vous connectez votre compte Stripe via OAuth en 2 minutes, sans ligne de code
- Dès qu'un paiement échoue, Salvr le détecte via webhook en temps réel
- La plateforme analyse le code d'erreur et planifie la meilleure stratégie de relance
- Les emails partent depuis votre domaine, avec vos templates personnalisables
- Le Customer Portal Stripe est généré automatiquement pour chaque client
- Vous suivez en temps réel le MRR récupéré depuis votre dashboard
En plus de la récupération des paiements, Salvr détecte également le churn volontaire — quand un client annule consciemment son abonnement — et déclenche automatiquement une séquence email de rétention avec un formulaire de feedback pour comprendre les raisons du départ.
Les meilleures pratiques pour réduire les échecs de paiement en amont
La récupération est essentielle, mais la prévention est encore plus efficace. Voici les pratiques qui réduisent structurellement votre taux d'échecs :
Envoyer des rappels avant expiration de carte
30 jours avant l'expiration de la carte d'un client, envoyez-lui un email pour l'inviter à la mettre à jour. C'est simple à implémenter et évite un échec garanti le jour du prélèvement.
Informer avant le prélèvement
Un email 3-5 jours avant la date de prélèvement réduit les mauvaises surprises. Les clients peuvent ainsi vérifier que les fonds sont disponibles ou mettre à jour leurs informations en amont.
Faciliter la mise à jour des informations de paiement
Plus la mise à jour de carte est simple dans votre interface, moins vous aurez d'échecs liés aux cartes expirées. Le Customer Portal Stripe règle ce problème de façon élégante.
Analyser les tendances
Si vos échecs sont concentrés en début de mois, envisagez de décaler vos prélèvements de quelques jours. Si certains codes d'erreur sont récurrents, adaptez votre stratégie en conséquence.
Questions fréquentes sur la récupération des paiements Stripe
Combien de fois Stripe réessaie-t-il automatiquement ?
Par défaut, Stripe réessaie un paiement échoué jusqu'à 4 fois sur une période de 4 semaines. Ce comportement peut être personnalisé dans les paramètres de facturation de votre compte Stripe. Avec un outil comme Salvr, vous pouvez définir votre propre stratégie de retry adaptée à chaque type d'erreur.
Puis-je envoyer les emails de relance depuis mon propre domaine ?
Oui, mais pas nativement avec Stripe. Les emails de Stripe sont envoyés au nom de Stripe. Pour envoyer des emails depuis votre domaine (ex: billing@votre-saas.com), vous avez besoin d'un outil tiers comme Salvr, qui utilise votre configuration email et envoie les relances en votre nom.
Quel taux de récupération peut-on espérer ?
Avec un système de dunning bien configuré, les entreprises SaaS récupèrent en moyenne 70 à 80% de leurs paiements échoués. Sans automatisation, ce taux chute souvent sous les 40%. La différence représente plusieurs milliers d'euros par an selon votre MRR.
Les retries automatiques peuvent-ils impacter la relation client ?
Un système mal configuré peut effectivement nuire à la relation client — notamment si les emails sont trop nombreux ou trop agressifs. L'objectif est de trouver le bon équilibre : être présent sans harceler. Une séquence de 3 emails sur 7 jours, avec un ton bienveillant, est généralement bien perçue car le client comprend qu'il s'agit d'un problème technique à résoudre, pas d'une sanction.
Salvr fonctionne-t-il avec tous les types de compte Stripe ?
Oui. Salvr utilise l'API Stripe Connect OAuth, compatible avec tous les comptes Stripe standard. La connexion prend moins de 2 minutes depuis le dashboard Salvr, sans aucune ligne de code à écrire.