CHARGEBACKSSTRIPE

Comment gagner ses chargebacks sur Stripe

Les litiges Stripe pour les abonnements : statuts, catégories de motifs, champs de preuves, délais, frais, alertes de fraude précoces et Smart Disputes.

Publié le 8 min de lecture

Un chargeback sur un paiement d’abonnement vous coûte le paiement, des frais, et une partie de votre crédit auprès des réseaux de cartes. Vous avez une seule occasion d’y répondre, généralement en quelques semaines, et la banque décide uniquement sur ce que vous envoyez. Ce guide explique comment fonctionne la procédure de litige sur Stripe et comment monter un dossier de preuves adapté à une activité par abonnement.

Il s’en tient à la documentation de Stripe : how disputes work, respond to disputes, les catégories de reason codes, les reason codes, les bonnes pratiques sur les preuves, l’objet Dispute, Smart Disputes et la FAQ sur les frais de litige (toutes consultées en novembre 2026). Quand les pages de Stripe laissent un vide, nous le disons.

Le cycle de vie d’un litige

Un litige commence quand le titulaire contacte sa banque. Stripe crée alors un objet Dispute sur le paiement et envoie le webhook charge.dispute.created. Ensuite, l’objet Dispute passe par un petit nombre de statuts :

Statut Ce qu’il veut dire
warning_needs_response Une demande d’information (pas encore un chargeback) qui attend une réponse
warning_under_review Une demande d’information en cours d’examen après l’envoi de vos preuves
warning_closed Une demande d’information close sans devenir un litige formel
needs_response Un chargeback qui attend une réponse
under_review Un chargeback en cours d’examen après l’envoi de vos preuves
won / lost Tranché en votre faveur / en faveur du client
prevented Un litige empêché de devenir un chargeback formel

Les demandes d’information comptent car, d’après Stripe, aucun fonds n’est retiré sauf si la demande passe en litige. Si vous perdez une demande d’information, elle passe en litige : le statut change avec un événement charge.dispute.updated et les fonds sont retirés avec charge.dispute.funds_withdrawn. Quand le dossier se termine, charge.dispute.closed se déclenche avec won, lost ou warning_closed.

Côté délais, la page how disputes work de Stripe indique que vous avez généralement 7 à 21 jours pour répondre après la création d’un chargeback, selon le réseau de cartes, et que la banque émettrice met en général 60 à 75 jours à décider après votre envoi. L’ensemble de la procédure peut prendre deux à trois mois. La date limite exacte de chaque dossier figure sur l’objet Dispute et dans le Dashboard ; travaillez toujours à partir de cette date, pas d’une règle approximative.

Les frais

Stripe facture des frais de litige à l’ouverture d’un litige, et des frais de contestation séparés si vous le contestez. D’après la FAQ sur les frais de litige et la page tarifs américaine de Stripe, aux États-Unis les deux sont de 15,00 $ ; les frais de contestation sont rendus si vous gagnez, et les frais de litige ne sont pas rendus sauf mention contraire dans votre contrat. Les montants varient selon le pays : vérifiez la page tarifs du vôtre. Accepter un litige n’évite pas les frais de litige.

Pour les litiges de conformité Visa et Mastercard, Stripe perçoit des frais réseau supplémentaires de 500 USD (ou l’équivalent local) si vous contestez, remboursés si vous gagnez.

Les catégories de motifs

Chaque réseau a ses propres reason codes. Stripe les associe à une valeur reason sur le litige, la première chose à lire car elle détermine les preuves que la banque examinera. La page des catégories les liste ; les trois qui reviennent le plus pour les abonnements sont :

  • fraudulent : le titulaire dit qu’il n’a pas autorisé le paiement (par exemple Visa 10.4, Mastercard 4837).
  • subscription_canceled : le titulaire dit qu’il a été prélevé après avoir résilié (Visa 13.2, Mastercard 4841, Amex C28).
  • product_not_received : le titulaire dit qu’il n’a pas reçu ce qu’il a payé (Visa 13.1, Mastercard 4855).

D’autres valeurs existent, comme duplicate, credit_not_processed, product_unacceptable et general. Utilisez la page des reason codes pour voir ce que le réseau attend pour chacune.

Ce que Stripe accepte comme preuves

Vous envoyez les preuves via le Dashboard ou en mettant à jour le litige via l’API. Le hash evidence a des champs fichiers et des champs texte. Quelques-uns qui comptent pour les abonnements, avec les descriptions de Stripe reformulées d’après l’objet Dispute :

Champ Type À utiliser pour
cancellation_policy Fichier Votre politique de résiliation telle que montrée au client
access_activity_log Texte, 20 000 caractères max. Les logs qui prouvent que le client a utilisé le produit : adresses IP, horodatages, activité
customer_communication Fichier Les emails ou messages échangés avec le client
uncategorized_text / uncategorized_file Texte / fichier Tout élément pertinent qui ne rentre dans aucun autre champ

Les contraintes documentées par Stripe dans respond to disputes et les bonnes pratiques :

  • Un seul envoi. Vous ne pouvez envoyer qu’une fois. Ensuite, vous ne pouvez plus modifier la réponse ni ajouter de preuves.
  • Préparez d’abord. Mettre à jour le litige avec submit=false prépare les preuves sans les envoyer. Une requête ultérieure avec submit=true (par défaut) les envoie à la banque.
  • Un fichier par type de preuve. Regroupez plusieurs documents d’un même type dans un seul fichier de plusieurs pages.
  • Limites de taille. Les fichiers sont limités à 4,5 Mo au total, et les preuves Mastercard à 19 pages au total. L’ensemble des champs texte est limité à 150 000 caractères. Si le dossier compilé est trop long, l’API renvoie dispute_evidence_page_limit_exceeded.
  • Pas de liens. Stripe précise que les banques n’examinent pas de contenu externe : ne comptez donc pas sur des URL ou un « appelez-nous ».

Les preuves qui marchent pour les abonnements

La page des reason codes de Stripe donne la direction pour chaque catégorie. Transposé à une activité par abonnement :

Abonnement résilié

La banque veut savoir si le client a vraiment résilié avant le prélèvement, et s’il avait accepté les conditions.

  1. Montrez la preuve que le client a accepté les conditions de l’abonnement, y compris comment et quand il pouvait résilier. Chargez la section concernée de la politique en cancellation_policy, pas toutes vos conditions ; Stripe suggère de surligner la partie qui s’applique.
  2. Donnez l’historique de résiliation avec les horodatages exacts. Si le client n’a jamais résilié, ou a résilié après le prélèvement, dites-le avec le log système.
  3. S’il a utilisé le produit après la date de résiliation qu’il invoque, incluez l’usage avec horodatages et IP dans access_activity_log.
  4. Si vous avez remboursé quoi que ce soit, incluez la trace du remboursement.

Fraude

Le titulaire dit qu’il n’a jamais autorisé le paiement. Pour un abonnement, la réponse la plus forte est que le même client paie et utilise le compte depuis un moment.

  1. Montrez l’historique : paiements antérieurs non contestés sur la même carte, date de création du compte, email enregistré.
  2. Montrez l’usage du compte : connexions, adresses IP, appareils, activité autour de la date de facturation.
  3. Incluez toute communication de ce client qui montre qu’il connaît le service.

Produit non reçu

Pour les services numériques, Stripe renvoie aux historiques de connexion, logs de téléchargement et horodatages d’usage, plus vos conditions. Montrez que le compte a été ouvert et utilisé pendant la période facturée.

Rédigez une courte note d’accompagnement

Quel que soit le motif, mettez un résumé simple dans uncategorized_text : qui est le client, ce qu’il a acheté, ce qui s’est passé, et quel document joint prouve chaque point. L’examinateur lit beaucoup de dossiers ; rendez le vôtre facile à suivre.

Les alertes de fraude précoces

Les banques émettrices Visa, Mastercard et JCB peuvent envoyer des alertes de fraude précoces (EFW) pour des paiements qu’elles soupçonnent d’être frauduleux, souvent avant tout litige. Stripe les expose sous forme d’objets Early Fraud Warning et via le webhook radar.early_fraud_warning.created. Le champ actionable de l’objet vaut true seulement tant que le paiement n’a pas de litige et n’a pas été entièrement remboursé.

La recommandation de Stripe n’est pas de rembourser chaque alerte. Sa doc indique qu’un remboursement ne supprime pas l’alerte elle-même et n’empêche le signalement de fraude que s’il est traité comme une annulation (reversal), ce qui arrive généralement dans les deux heures environ suivant la capture. Stripe suggère que rembourser a le plus de sens pour les paiements à peu près égaux ou inférieurs à vos frais de litige, et donne un exemple de Workflows qui rembourse sous ce montant et alerte une personne au-dessus. Pour un abonnement, pensez aussi à résilier l’abonnement sur cette carte pour que le prochain renouvellement ne crée pas un second litige.

Smart Disputes

Stripe propose Smart Disputes, qui assemble un dossier de preuves à partir des données que Stripe détient déjà et, si vous ne faites rien, l’envoie juste avant la date limite. Vous pouvez désactiver l’envoi automatique dans le Dashboard. La doc de Stripe indique que les frais de Smart Disputes ne sont facturés que si le litige est gagné ; vérifiez les conditions actuelles sur cette page, car Stripe présente le produit comme une preview. Smart Disputes ne peut utiliser que les données détenues par Stripe : les preuves qui vivent dans vos propres systèmes (connexions, usage, échanges avec le support) doivent toujours venir de vous.

Une check-list de réponse

  1. Abonnez-vous à charge.dispute.created, charge.dispute.updated, charge.dispute.closed et radar.early_fraud_warning.created.
  2. Sur chaque litige, lisez d’abord reason et la date limite de réponse.
  3. Décidez vite s’il faut accepter. Si le client a bien résilié et a quand même été prélevé, accepter et corriger la cause peut être la réponse honnête.
  4. Réunissez les preuves adaptées au motif : conditions acceptées, historique de résiliation, logs d’usage, communications.
  5. Préparez les preuves avec submit=false, vérifiez les limites, faites relire par quelqu’un, puis envoyez une fois.
  6. Notez l’issue et le motif, pour corriger les schémas qui causent des litiges (libellé de facturation peu clair, bouton de résiliation difficile à trouver, rappels de renouvellement manqués).

Faire tout cela avec NoChurn

NoChurn lit les litiges Stripe et réunit automatiquement les preuves de chacun : les réponses du client au parcours d’annulation, les emails envoyés par NoChurn, les données d’usage que vous envoyez par API, et les conversations d’un help desk connecté (en lecture seule). Il rédige la réponse avec l’IA, et rien n’est envoyé à Stripe tant qu’une personne de votre équipe ne l’a pas relue. Stripe décide toujours des frais, des délais et de l’issue avec la banque, et NoChurn ne peut rien y changer. NoChurn est gratuit sous 300 $ de MRR, avec toutes les fonctionnalités dans toutes les offres (votre propre domaine d’email dès 9 $). Voir NoChurn + Stripe.

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.

Arrêtez de perdre du revenu.

  • Gratuit jusqu’à $300 de MRR
  • Sans carte bancaire
  • Prêt en 10 minutes
  • Jamais une commission sur ce que nous récupérons