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
- Code ISO 8583 d'abord — la table ci-dessous.
- Si le code est
97et que le message passerelle mentionne 3DS, le texte spécifique 3DS l'emporte (PowerTranz renvoie97pour deux modes d'échec : vérification de carte et authentification 3DS ; on désambiguïse par le texte du message). - Si nous n'avons pas de mapping pour le code, fallback sur
ResponseMessagede la passerelle. - Si ni l'un ni l'autre, on utilise
decline.defaultde la locale.
La locale active est choisie par requête par le middleware SetBuyerLocale : session locale → Accept-Language → en. 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é
| Locale | Texte |
|---|---|
| en | Your card was declined by the issuer. Please try a different card or contact your bank. |
| es | Tu tarjeta fue rechazada por el emisor. Prueba con otra tarjeta o contacta a tu banco. |
| fr | Votre carte a été refusée par l'émetteur. Essayez une autre carte ou contactez votre banque. |
| pt-BR | Seu cartão foi recusado pelo emissor. Tente outro cartão ou entre em contato com o seu banco. |
12 — Transaction invalide
| Locale | Texte |
|---|---|
| en | The payment was rejected by your bank. Please try a different card. |
| es | El pago fue rechazado por tu banco. Prueba con otra tarjeta. |
| fr | Le paiement a été refusé par votre banque. Essayez une autre carte. |
| pt-BR | O pagamento foi recusado pelo seu banco. Tente outro cartão. |
51 — Fonds insuffisants
| Locale | Texte |
|---|---|
| en | Insufficient funds on this card. Try a different payment method. |
| es | Fondos insuficientes en esta tarjeta. Prueba con otro método de pago. |
| fr | Solde insuffisant sur cette carte. Utilisez un autre moyen de paiement. |
| pt-BR | Saldo insuficiente neste cartão. Use outro método de pagamento. |
54 — Carte expirée
| Locale | Texte |
|---|---|
| en | The card has expired. Please use a valid card. |
| es | La tarjeta está vencida. Por favor usa una tarjeta vigente. |
| fr | La carte a expiré. Utilisez une carte valide. |
| pt-BR | Cartão vencido. Use um cartão válido. |
57 — Transaction non autorisée
| Locale | Texte |
|---|---|
| en | This card cannot be used for online purchases. Try a different card. |
| es | Esta tarjeta no se puede usar para compras en línea. Prueba con otra tarjeta. |
| fr | Cette carte ne peut pas être utilisée pour les achats en ligne. Essayez une autre carte. |
| pt-BR | Este cartão não pode ser usado em compras online. Tente outro cartão. |
61 (et 65) — Limite dépassée
| Locale | Texte |
|---|---|
| en | You have exceeded the limit on this card today. Try again later or use a different card. |
| es | Has superado el límite de esta tarjeta hoy. Inténtalo más tarde o usa otra tarjeta. |
| fr | Vous avez dépassé la limite de cette carte aujourd'hui. Réessayez plus tard ou utilisez une autre carte. |
| pt-BR | Você excedeu o limite deste cartão hoje. Tente mais tarde ou use outro cartão. |
91 — Émetteur ou switch indisponible
| Locale | Texte |
|---|---|
| en | Your bank is temporarily unreachable. Please try again in a few minutes. |
| es | Tu banco no está disponible temporalmente. Inténtalo de nuevo en unos minutos. |
| fr | Votre banque est temporairement indisponible. Réessayez dans quelques minutes. |
| pt-BR | Seu banco está temporariamente indisponível. Tente novamente em alguns minutos. |
96 — Dysfonctionnement du processeur
| Locale | Texte |
|---|---|
| en | The payment processor had a temporary issue. Please try again in a few minutes. |
| es | El procesador de pagos tuvo un problema temporal. Inténtalo de nuevo en unos minutos. |
| fr | Le processeur de paiement a rencontré un problème temporaire. Réessayez dans quelques minutes. |
| pt-BR | O 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.
| Locale | Texte |
|---|---|
| en | Card verification failed. Your bank could not authenticate this card for 3-D Secure. Try another card or contact your bank. |
| es | La 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. |
| fr | La 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-BR | A 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.
| Locale | Texte |
|---|---|
| en | The card details could not be verified. Please double-check the card number, expiry, and security code. |
| es | No pudimos verificar los datos de la tarjeta. Revisa el número, la fecha de vencimiento y el código de seguridad. |
| fr | Impossible 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-BR | Nã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é | en | es | fr | pt-BR |
|---|---|---|---|---|
default | Payment was declined. | El pago fue rechazado. | Le paiement a été refusé. | O pagamento foi recusado. |
network_error | Your 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.failedportedecline_code(le code ISO 8583, p. ex."05"),error_message(message brut passerelle), etbuyer_message(texte localisé). - Checkout hébergé — l'acheteur voit
buyer_messagesur la page d'échec. - Plugins boutique — WC, Give, Magento, OpenCart, PrestaShop, Ecwid utilisent tous
buyer_messagedans 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.failedportedecline_code+buyer_message - Gestion des erreurs — enveloppes d'erreur HTTP (vs refus de paiement)
