Chargement de vos clés API…

Codes de refus

Pourquoi un paiement carte a été refusé, et quoi afficher à votre client.

Ne confondez pas erreur d'API et refus de paiement

Une erreur d'API signale que votre requête n'a pas pu être traitée (champ manquant, clé invalide). Un refus signale que la requête était correcte mais que la banque du porteur n'a pas autorisé le paiement. Dans ce cas, le paiement existe bel et bien dans votre compte, avec le statut failed, et porte son motif.

Un débit direct refusé répond HTTP 402, jamais 201 : un intégrateur qui ne lit que le code HTTP ne peut donc pas confondre un refus avec un encaissement.

{
  "paymentId": "pay_3f9c2a1b7d4e5f60",
  "status": "failed",
  "monextTransactionId": "17216221653707",
  "failureCode": "01902",
  "failureReason": "La banque n'a pas pu traiter la transaction, réessayez",
  "settlement": null,
  "platformDistribution": null
}

Où récupérer le motif

  • Réponse 402 de POST /payment/directDebit et de la capture.
  • Webhook payment.failed, pour le traitement asynchrone de la commande.
  • GET /payment/{paymentId}, pour un affichage différé ou une demande d'assistance.
  • Votre espace marchand, colonne « Motif » du détail de la transaction.

Si vous utilisez la page de paiement Mobupay, le motif est déjà affiché au client : vous n'avez rien à faire. Le code technique n'est jamais placé dans l'URL de retour, récupérez-le par webhook.

Familles de motifs

Chaque code appartient à une famille, qui suffit à décider de la marche à suivre. Un code inconnu de cette page reste toujours classé, jamais masqué.

FamilleConduite à tenir
PlafondUne limite du porteur est atteinte : montant, fréquence ou nombre d'utilisations. Un nouvel essai plus tard, ou avec une autre carte, peut aboutir.
BanqueRefus de l'émetteur, souvent sans motif communiqué. Le client doit contacter sa banque ou utiliser une autre carte.
AuthentificationLe parcours 3-D Secure n'a pas abouti. Invitez le client à recommencer en validant la demande de sa banque.
TechniqueIncident de l'acquéreur ou du serveur bancaire, ou erreur de configuration. La carte n'est pas en cause : un nouvel essai a de bonnes chances d'aboutir.
FraudeUsage frauduleux soupçonné. Ne relancez pas le paiement, la banque a bloqué la carte.
CarteLa carte elle-même est en cause : expirée, inactive, perdue, volée ou non acceptée. Le client doit en utiliser une autre.
SessionLe paiement n'a pas été mené à son terme (abandon, expiration, doublon). Vous pouvez renvoyer un lien de paiement.

Tous les codes

La colonne « Motif » est exactement la chaîne renvoyée dans failureReason : elle est rédigée pour être affichée telle quelle à votre client.

CodeMotif renvoyéFamilleRéessai
01100Paiement refusé par la banque, sans motif communiquéBanqueautre carte
01101Carte expiréeCarteautre carte
01103Refus : contactez votre banqueBanqueautre carte
01108Refus : contactez votre banqueBanqueautre carte
01109Contrat marchand non reconnu par la banqueTechniquenon
01110Montant invalide pour la banqueTechniqueaprès correction
01111Numéro de carte invalideCarteaprès correction
01113Paiement refusé par la banqueBanqueautre carte
01114Compte bancaire inexistantBanqueautre carte
01115Opération non prise en charge par la banqueTechniquenon
01116Plafond de la carte dépasséPlafondoui
01117Code confidentiel incorrectBanqueaprès correction
01118Carte non enregistrée chez l'émetteurCarteautre carte
01119Paiement non autorisé pour cette carteBanqueautre carte
01120Paiement refusé par le terminalBanqueautre carte
01121Retrait ou paiement au-delà du plafond autoriséPlafondoui
01122Refus pour raison de sécuritéFraudenon
01123Nombre d'opérations autorisées dépasséPlafondoui
01125Carte inactiveCarteautre carte
01126Format du code confidentiel invalideBanqueaprès correction
01128Erreur de contrôle du code confidentielBanqueautre carte
01129Carte suspectée contrefaiteFraudenon
01130Cryptogramme visuel (CVV) incorrectBanqueaprès correction
01131Authentification 3-D Secure exigée par la banqueAuthentificationoui
01132Paiement récurrent révoqué par le porteurBanquenon
01133Tous les paiements sur cette carte ont été révoqués par le porteurBanquenon
01151Code confidentiel incorrectBanqueaprès correction
01180Banque inconnueTechniquenon
01181Devise non acceptée par la banqueTechniquenon
01182Taux de conversion introuvableTechniqueoui
01183Montant maximal autorisé dépasséPlafondoui
01184Nombre d'utilisations maximal atteintPlafondoui
01185Commande déjà utiliséeTechniquenon
01196Réponse incomplète du serveur bancaire, réessayezTechniqueoui
01197Communication avec l'acquéreur interrompue, réessayezTechniqueoui
01198Erreur de configuration chez l'acquéreurTechniquenon
01199Erreur interne du système bancaire, réessayezTechniqueoui
01200Paiement refusé par la banqueBanqueautre carte
01201Carte expiréeCarteautre carte
01202Paiement refusé par la banque (suspicion de fraude)Fraudenon
01203Refus : contactez votre banqueBanqueautre carte
01204Carte restreinteBanquenon
01205Paiement refusé par la banqueBanqueautre carte
01206Nombre maximal de tentatives atteintBanquenon
01207Refus de la banqueBanqueautre carte
01208Carte déclarée perdueCartenon
01209Carte déclarée voléeCartenon
01214Provision insuffisante sur le compteBanqueoui
01280Type de carte non acceptéCarteautre carte
01902La banque n'a pas pu traiter la transaction, réessayezTechniqueoui
01904Demande refusée par la banque pour un problème de formatTechniqueoui
01907Serveur de la banque émettrice en erreur, réessayezTechniqueoui
01909Erreur interne du serveur bancaire, réessayezTechniqueoui
01911Émetteur de la carte injoignable, réessayezTechniqueoui
01912Erreur interne du serveur de l'émetteur, réessayezTechniqueoui
01913Transaction en doubleTechniquenon
01914Transaction introuvable chez la banqueTechniqueoui
01915Opération annulée : action non autoriséeTechniquenon
01917Cette transaction ne peut pas être rejouéeTechniquenon
01940Serveur de la banque indisponible, réessayezTechniqueoui
01941Communication avec le serveur bancaire interrompue, réessayezTechniqueoui
01942Erreur interne du serveur bancaire, réessayezTechniqueoui
01943Erreur interne du serveur bancaire, réessayezTechniqueoui
02001Transaction en doubleSessionnon
02008Paiement annulé par le clientSessionoui
02103Délai de connexion dépassé, réessayezSessionoui
02305Paiement en cours de traitementSessionnon
02306Paiement non finalisé (session encore en cours)Sessionoui
02324Session de paiement expiréeSessionoui
03003Erreur acquéreur, réessayez plus tardBanqueoui
03004Paiement refusé par la banqueBanqueautre carte
03022Échec de l'authentification 3-D SecureAuthentificationoui
03023Authentification 3-D Secure abandonnée par le clientAuthentificationoui

« Réessai » indique si relancer le même paiement a une chance d'aboutir : « oui » plus tard, « autre carte » avec un autre moyen de paiement, « après correction » une fois la saisie reprise par le client, « non » si la banque a bloqué la carte ou l'opération.

Codes non répertoriés

Un code absent de cette table reçoit un motif déduit de son préfixe, et vous est toujours transmis tel quel dans failureCode.

PréfixeSignification
01xxxRéponse de la banque du porteur ou de l'acquéreur.
019xxIncident technique de l'acquéreur ou du serveur bancaire, jamais un refus de la carte.
02xxxParcours de paiement non abouti : abandon, expiration, doublon.
03xxxAcquéreur et authentification du porteur.
04xxxCarte refusée.
05xxxRefus bancaire.

Bonnes pratiques

  • Affichez failureReason tel quel : c'est la chaîne que nous tenons à jour au fil des codes rencontrés.
  • Branchez votre logique sur failureCode, jamais sur le texte du motif, qui peut être reformulé.
  • N'affichez jamais un message d'une autre étape de votre tunnel : un refus bancaire annoncé comme un problème de formulaire fait renoncer un client qui aurait pu payer.
  • Ne relancez pas automatiquement un paiement refusé pour fraude, carte perdue ou volée.
  • Pour tester : la page cartes de test permet de provoquer un refus au centime près.