Skip to content

Codes de refus

Un paiement refusé fait apparaître un code de réponse ISO 8583 dans decline_code sur le payload du webhook payment.failed et dans le tableau de bord marchand. La plateforme Genius Checkout résout également un message à l'acheteur pour chaque code — une ligne courte et actionnable que nous affichons au checkout et passons aux plugins dans le champ buyer_message.

Comment le message est résolu

  1. Code ISO 8583 d'abord — la table ci-dessous.
  2. Si le code est 97 et que le message passerelle mentionne 3DS, le texte spécifique 3DS l'emporte (PowerTranz renvoie 97 pour deux modes d'échec : vérification de carte et authentification 3DS ; on désambiguïse par le texte du message).
  3. Si nous n'avons pas de mapping pour le code, fallback sur ResponseMessage de la passerelle.
  4. Si ni l'un ni l'autre, on utilise decline.default de la locale.

La locale active est choisie par requête par le middleware SetBuyerLocale : session locale → Accept-Languageen. Les payloads webhook plugin et notes de commande reçoivent le texte résolu dans la locale acheteur — pas de mapping côté client dans WC / Give / Ecwid.

Codes et texte acheteur

La table couvre chaque code que nous mappons explicitement. Les plugins boutique et le checkout hébergé utilisent la même recherche.

05 (et 14) — Émetteur refusé

LocaleTexte
enYour card was declined by the issuer. Please try a different card or contact your bank.
esTu tarjeta fue rechazada por el emisor. Prueba con otra tarjeta o contacta a tu banco.
frVotre carte a été refusée par l'émetteur. Essayez une autre carte ou contactez votre banque.
pt-BRSeu cartão foi recusado pelo emissor. Tente outro cartão ou entre em contato com o seu banco.

12 — Transaction invalide

LocaleTexte
enThe payment was rejected by your bank. Please try a different card.
esEl pago fue rechazado por tu banco. Prueba con otra tarjeta.
frLe paiement a été refusé par votre banque. Essayez une autre carte.
pt-BRO pagamento foi recusado pelo seu banco. Tente outro cartão.

51 — Fonds insuffisants

LocaleTexte
enInsufficient funds on this card. Try a different payment method.
esFondos insuficientes en esta tarjeta. Prueba con otro método de pago.
frSolde insuffisant sur cette carte. Utilisez un autre moyen de paiement.
pt-BRSaldo insuficiente neste cartão. Use outro método de pagamento.

54 — Carte expirée

LocaleTexte
enThe card has expired. Please use a valid card.
esLa tarjeta está vencida. Por favor usa una tarjeta vigente.
frLa carte a expiré. Utilisez une carte valide.
pt-BRCartão vencido. Use um cartão válido.

57 — Transaction non autorisée

LocaleTexte
enThis card cannot be used for online purchases. Try a different card.
esEsta tarjeta no se puede usar para compras en línea. Prueba con otra tarjeta.
frCette carte ne peut pas être utilisée pour les achats en ligne. Essayez une autre carte.
pt-BREste cartão não pode ser usado em compras online. Tente outro cartão.

61 (et 65) — Limite dépassée

LocaleTexte
enYou have exceeded the limit on this card today. Try again later or use a different card.
esHas superado el límite de esta tarjeta hoy. Inténtalo más tarde o usa otra tarjeta.
frVous avez dépassé la limite de cette carte aujourd'hui. Réessayez plus tard ou utilisez une autre carte.
pt-BRVocê excedeu o limite deste cartão hoje. Tente mais tarde ou use outro cartão.

91 — Émetteur ou switch indisponible

LocaleTexte
enYour bank is temporarily unreachable. Please try again in a few minutes.
esTu banco no está disponible temporalmente. Inténtalo de nuevo en unos minutos.
frVotre banque est temporairement indisponible. Réessayez dans quelques minutes.
pt-BRSeu banco está temporariamente indisponível. Tente novamente em alguns minutos.

96 — Dysfonctionnement du processeur

LocaleTexte
enThe payment processor had a temporary issue. Please try again in a few minutes.
esEl procesador de pagos tuvo un problema temporal. Inténtalo de nuevo en unos minutos.
frLe processeur de paiement a rencontré un problème temporaire. Réessayez dans quelques minutes.
pt-BRO processador de pagamentos teve um problema temporário. Tente novamente em alguns minutos.

97 — Échec d'authentification 3-D Secure

Cette variante se déclenche quand le message passerelle mentionne 3DS.

LocaleTexte
enCard verification failed. Your bank could not authenticate this card for 3-D Secure. Try another card or contact your bank.
esLa verificación de la tarjeta falló. Tu banco no pudo autenticar la tarjeta con 3-D Secure. Prueba con otra tarjeta o contacta a tu banco.
frLa vérification de la carte a échoué. Votre banque n'a pas pu authentifier la carte pour 3-D Secure. Essayez une autre carte ou contactez votre banque.
pt-BRA verificação do cartão falhou. Seu banco não conseguiu autenticar o cartão via 3-D Secure. Tente outro cartão ou entre em contato com o seu banco.

97 — Vérification de carte (générique)

Utilisé quand le message passerelle ne mentionne pas 3DS.

LocaleTexte
enThe card details could not be verified. Please double-check the card number, expiry, and security code.
esNo pudimos verificar los datos de la tarjeta. Revisa el número, la fecha de vencimiento y el código de seguridad.
frImpossible de vérifier les détails de la carte. Vérifiez le numéro, la date d'expiration et le code de sécurité.
pt-BRNão foi possível verificar os dados do cartão. Confira o número, a validade e o código de segurança.

Fallbacks

Cléenesfrpt-BR
defaultPayment was declined.El pago fue rechazado.Le paiement a été refusé.O pagamento foi recusado.
network_errorYour payment could not be processed. Please try again or use a different payment method.No pudimos procesar tu pago. Inténtalo de nuevo o usa otro método de pago.Votre paiement n'a pas pu être traité. Veuillez réessayer ou utiliser un autre moyen de paiement.Não foi possível processar seu pagamento. Tente novamente ou use outro método de pagamento.

Où voit-on le code de refus

  • Webhook — le payload payment.failed porte decline_code (le code ISO 8583, p. ex. "05"), error_message (message brut passerelle), et buyer_message (texte localisé).
  • Checkout hébergé — l'acheteur voit buyer_message sur la page d'échec.
  • Plugins boutique — WC, Give, Magento, OpenCart, PrestaShop, Ecwid utilisent tous buyer_message dans leurs notes de commande et surfaces d'échec côté client.
  • Tableau de bord marchand — la réponse complète de la passerelle (ISO code, AVS, CVV) s'affiche sur la page de détail de transaction ; le marchand voit le mapping brut + le texte acheteur.

Autres codes ISO 8583

La plateforme gère tous les codes ISO 8583 — les codes hors de la table ci-dessus retombent sur le message propre de la passerelle (lui-même rogné et la ponctuation dédoublée), puis sur le texte default de la locale. Le catalogue complet ISO 8583 est sur Wikipedia : ISO 8583 response codes.

Suite

  • Webhooks — le payload payment.failed porte decline_code + buyer_message
  • Gestion des erreurs — enveloppes d'erreur HTTP (vs refus de paiement)

Released under the proprietary Genius Checkout license.