Skip to content

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

  1. Código ISO 8583 primero — la tabla abajo.
  2. Si el código es 97 y el mensaje del gateway menciona 3DS, gana el texto específico de 3DS (PowerTranz devuelve 97 para fallas de verificación y de autenticación 3DS; desambiguamos por el texto del mensaje).
  3. Si no hay mapeo, hacemos fallback al ResponseMessage del gateway.
  4. Si ninguno está disponible, usamos decline.default del locale.

El locale activo se elige por solicitud por el middleware SetBuyerLocale: session locale → Accept-Languageen. 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ó

LocaleTexto
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 — Transacción inválida

LocaleTexto
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 — Fondos insuficientes

LocaleTexto
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 — Tarjeta vencida

LocaleTexto
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 — Transacción no permitida

LocaleTexto
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 (y 65) — Límite excedido

LocaleTexto
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 — Emisor / switch no disponible

LocaleTexto
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 — Fallo de sistema en el procesador

LocaleTexto
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 — Falla de autenticación 3-D Secure

Esta variante se dispara cuando el mensaje del gateway menciona 3DS.

LocaleTexto
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 — Verificación de tarjeta (genérico)

Cuando el mensaje del gateway no menciona 3DS.

LocaleTexto
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

Claveenesfrpt-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.

Dónde se ve el código de rechazo

  • Webhook — el payload payment.failed lleva decline_code (el código ISO 8583, p. ej. "05"), error_message (el mensaje crudo del gateway), y buyer_message (el texto localizado).
  • Checkout hospedado — el comprador ve buyer_message en la página de Falla.
  • Plugins de tienda — WC, Give, Magento, OpenCart, PrestaShop, Ecwid usan buyer_message en 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.failed lleva decline_code + buyer_message
  • Manejo de errores — envelopes de error HTTP (vs rechazos de pago)

Released under the proprietary Genius Checkout license.