> For the complete documentation index, see [llms.txt](https://help.flycode.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.flycode.com/fr/decline-codes-explained/where-to-find-decline-codes-and-how-to-use-them.md).

# Où trouver les codes de refus (et comment les utiliser)

Les codes de refus ne sont utiles que si vous pouvez les voir, leur faire confiance entre les processeurs et tester la façon dont votre flux de récupération réagit à chacun d’eux. Cette page explique où se trouve le code dans Stripe et FlyCode, en quoi les codes diffèrent entre les processeurs, et comment simuler des refus en toute sécurité en mode test.

## Où puis-je voir les codes de refus dans Stripe et FlyCode ?

Dans Stripe, chaque PaymentIntent, Charge et Invoice ayant échoué contient le code dans la dernière erreur de paiement : `last_payment_error.decline_code` sur un PaymentIntent, `outcome.reason` et `failure_code` sur une Charge, et l’erreur de paiement liée sur une Invoice. Dans le tableau de bord Stripe, ouvrez le paiement et regardez le « motif du refus » dans la chronologie. Le même code est envoyé en temps réel via des webhooks tels que `invoice.payment_failed`, `payment_intent.payment_failed` et `charge.failed`, c’est ainsi que des outils comme FlyCode l’exploitent dès qu’il se produit.

Dans FlyCode, chaque facture ayant échoué en récupération affiche le code de refus d’origine, la classification souple ou ferme, le calendrier de relance choisi par le modèle et le résultat de chaque tentative. La répartition des codes de refus est également détaillée dans les rapports, afin que vous puissiez voir, par exemple, quelle part de vos échecs est `fonds insuffisants` contre `do_not_honor` et en quoi la récupération diffère entre eux.

## Les codes de refus sont-ils les mêmes chez tous les processeurs de paiement ?

Non. Les codes de réponse sous-jacents de l’émetteur sont standardisés par les réseaux de cartes (ISO 8583, par exemple `05` Refus d’autorisation et `51` Fonds insuffisants), mais chaque processeur les traduit dans son propre vocabulaire et peut ajouter des alias spécifiques à la passerelle. Stripe renvoie `fonds insuffisants`; Adyen renvoie `Refusé : 51 Fonds insuffisants`; Braintree renvoie une réponse numérique du processeur telle que `2001`. Certains processeurs regroupent également plusieurs motifs de l’émetteur en un seul code générique.

Stripe renvoie les alias vers une liste canonique, et FlyCode normalise les codes de chaque processeur pris en charge (Stripe, Braintree, PayPal, les applications d’abonnement Shopify et d’autres) en une seule classification, afin que la même logique de relance s’applique quelle que soit la plateforme sur laquelle le débit a été traité. Le [référence des codes de refus de flycode.com](https://www.flycode.com/stripe/decline-codes) répertorie les codes Stripe aux côtés de leurs équivalents réseau.

## Puis-je simuler des codes de refus en mode test Stripe ?

Oui. Stripe fournit des numéros de carte de test qui déclenchent systématiquement un refus précis, afin que vous puissiez vérifier comment votre flux de facturation, vos e-mails de relance et votre configuration FlyCode réagissent avant la mise en production.

| Numéro de carte de test | Code de refus déclenché | Type      |
| ----------------------- | ----------------------- | --------- |
| 4000 0000 0000 9995     | `fonds insuffisants`    | Souple    |
| 4000 0000 0000 0002     | `generic_decline`       | Souple    |
| 4000 0000 0000 9987     | `lost_card`             | Définitif |
| 4000 0000 0000 9979     | `stolen_card`           | Définitif |
| 4000 0000 0000 0127     | `incorrect_cvc`         | Définitif |
| 4000 0000 0000 0119     | `processing_error`      | Souple    |

Utilisez une date d’expiration future et un CVC à trois chiffres. Stripe propose également des cartes qui réussissent lors du premier débit puis échouent lors des renouvellements ultérieurs, ce qui est la manière la plus réaliste de tester la récupération d’un abonnement de bout en bout. La liste complète se trouve dans la documentation de test de Stripe.

## Associé

* [Ce que vous apprennent les codes de refus](https://help.flycode.com/decline-codes-explained/what-decline-codes-tell-you)
* [Comment FlyCode se connecte-t-il à mon compte Stripe ?](https://help.flycode.com/flycode-and-stripe/connecting-flycode-to-stripe)
* [Guide d’intégration Stripe pour FlyCode](https://docs.flycode.com/docs/integrations/stripe-integration-guide-for-flycode)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.flycode.com/fr/decline-codes-explained/where-to-find-decline-codes-and-how-to-use-them.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
