Códigos de rechazo
Un pago rechazado expone un código de respuesta ISO 8583 en decline_code en el payload del webhook payment.failed y en el panel del comercio. La plataforma Genius Checkout también resuelve un mensaje al comprador para cada código — una línea corta y accionable que renderizamos en el checkout y pasamos a los plugins en el campo buyer_message.
Cómo se resuelve el mensaje
- Código ISO 8583 primero — la tabla abajo.
- Si el código es
97y el mensaje del gateway menciona 3DS, gana el texto específico de 3DS (PowerTranz devuelve97para fallas de verificación y de autenticación 3DS; desambiguamos por el texto del mensaje). - Si no hay mapeo, hacemos fallback al
ResponseMessagedel gateway. - Si ninguno está disponible, usamos
decline.defaultdel locale.
El locale activo se elige por solicitud por el middleware SetBuyerLocale: session locale → Accept-Language → en. Los payloads del webhook y notas de orden reciben el texto resuelto en el locale del comprador — sin mapeo del lado del cliente en WC / Give / Ecwid.
Códigos y texto al comprador
La tabla cubre cada código que mapeamos explícitamente. Los plugins de tienda y el checkout hospedado usan la misma búsqueda.
05 (y 14) — Emisor rechazó
| Locale | Texto |
|---|---|
| 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 — Transacción inválida
| Locale | Texto |
|---|---|
| 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 — Fondos insuficientes
| Locale | Texto |
|---|---|
| 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 — Tarjeta vencida
| Locale | Texto |
|---|---|
| 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 — Transacción no permitida
| Locale | Texto |
|---|---|
| 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 (y 65) — Límite excedido
| Locale | Texto |
|---|---|
| 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 — Emisor / switch no disponible
| Locale | Texto |
|---|---|
| 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 — Fallo de sistema en el procesador
| Locale | Texto |
|---|---|
| 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 — Falla de autenticación 3-D Secure
Esta variante se dispara cuando el mensaje del gateway menciona 3DS.
| Locale | Texto |
|---|---|
| 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 — Verificación de tarjeta (genérico)
Cuando el mensaje del gateway no menciona 3DS.
| Locale | Texto |
|---|---|
| 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
| Clave | 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. |
Dónde se ve el código de rechazo
- Webhook — el payload
payment.failedllevadecline_code(el código ISO 8583, p. ej."05"),error_message(el mensaje crudo del gateway), ybuyer_message(el texto localizado). - Checkout hospedado — el comprador ve
buyer_messageen la página de Falla. - Plugins de tienda — WC, Give, Magento, OpenCart, PrestaShop, Ecwid usan
buyer_messageen sus notas de orden y superficies de falla al cliente. - Panel del comercio — la respuesta completa del gateway (ISO code, AVS, CVV) se muestra en la página de detalle de la transacción; el comercio ve el mapeo crudo más el texto al comprador.
Otros códigos ISO 8583
La plataforma maneja todos los códigos ISO 8583 — los códigos fuera de la tabla caen al mensaje del gateway (ya recortado y de-duplicada la puntuación), luego al texto default del locale. El catálogo completo ISO 8583 está en Wikipedia: ISO 8583 response codes.
Siguiente
- Webhooks — el payload
payment.failedllevadecline_code+buyer_message - Manejo de errores — envelopes de error HTTP (vs rechazos de pago)
