Stripe · Codes de refus
Que signifie l'erreur Stripe card_declined ?
Vérifié le
Le code d'erreur Stripe card_declined signifie que la carte a été refusée. C'est l'erreur générique pour tout refus de carte : Stripe ajoute un attribut decline_code qui donne la raison, comme insufficient_funds ou do_not_honor. Quand aucun decline_code n'est renvoyé, la banque n'a donné aucune raison. Le client doit essayer une autre carte ou contacter sa banque ; le commerçant doit lire le decline_code avant de décider d'une nouvelle tentative.
- Type
- Code d'erreur qui englobe chaque refus de carte
- Qui a refusé
- Généralement la banque de la carte ; voir decline_code
- Nouvelle tentative
- Dépend du decline_code
- Action du client
- Essayer une autre carte ou contacter la banque
- Action du commerçant
- Rechercher le decline_code pour voir la vraie raison
- Renouvellement PlatformDTC
- Sans decline_code : une nouvelle tentative 48 à 72 heures plus tard (Nouvelle tentative intelligente)
Ce que fait PlatformDTC
Quand seul card_declined est renvoyé, le processus de paiement de PlatformDTC ajoute « Votre carte a été refusée. Essayez une autre carte ou contactez votre banque. » et, si le magasin a les paiements par carte PayPal comme solution de secours, propose une deuxième tentative là-bas. Avec la Nouvelle tentative intelligente activée, un renouvellement avec card_declined et sans decline_code est retenté une fois, 48 à 72 heures plus tard ; un deuxième refus demande au client une nouvelle méthode de paiement.
Pourquoi cela arrive
Chaque fois qu'un paiement par carte est refusé, Stripe renvoie card_declined. La raison spécifique est transmise séparément dans le decline_code, qui peut être n'importe quoi, d'un CVC erroné à une carte perdue.
Si aucun decline_code n'est présent, la banque a refusé sans donner de raison.
Ce que le client peut faire
Vérifier les détails de la carte, puis réessayer ou utiliser une autre carte. Si la carte continue d'échouer, appelez votre banque : les banques n'expliquent les refus qu'au titulaire de la carte.
Ce que le magasin peut faire
Afficher un message clair et des méthodes de paiement alternatives. Dans les rapports, regroupez les échecs par decline_code plutôt que par card_declined, sinon chaque échec aura la même apparence.
Pour les développeurs
error.code = card_declined; la raison est dans error.decline_code (également last_payment_error.decline_code sur le PaymentIntent). Lisez aussi charge.outcome.advice_code et network_decline_code. Stocker uniquement card_declined fait perdre les informations nécessaires pour choisir entre une nouvelle tentative, une demande de mise à jour de carte et un arrêt.
Questions fréquentes
- Quelle est la différence entre card_declined et un code de refus ?
- card_declined est le code d'erreur pour tout refus de carte. Le code de refus, dans l'attribut decline_code, explique pourquoi.
- Dois-je retenter une erreur card_declined ?
- Regardez d'abord le decline_code. Certaines raisons disparaissent avec le temps, d'autres signifient que la carte ne fonctionnera jamais. Sans decline_code, une nouvelle tentative espacée est raisonnable.
Sources
- Codes d'erreur — Stripe
- Codes de refus Stripe — Stripe
- Refus de carte — Stripe
Voir aussi
- generic_decline — Refusé pour une raison inconnue, ou bloqué par Stripe Radar ou Adaptive Acceptance.
- do_not_honor — La banque a refusé la carte sans en donner la raison.
- insufficient_funds — La carte n'a pas assez d'argent ou de crédit pour ce paiement.
- call_issuer — La banque a refusé sans donner de raison et souhaite que le titulaire de la carte la contacte.
- payment_intent_authentication_failure — La carte a échoué à la vérification d'authentification de la banque (comme le 3-D Secure).
- authentication_required — La banque souhaite que le titulaire de la carte vérifie le paiement, généralement avec 3D Secure.
- authentication_not_handled — La vérification était requise, l'acheteur l'a ignorée, et la banque a refusé à nouveau.
- approve_with_id — La banque n'a pas pu autoriser le paiement tel qu'il a été envoyé ; une nouvelle tentative pourrait fonctionner.