Resumen
La API de Dodo Payments proporciona razones de fallo de transacción detalladas para ayudarle a entender por qué un intento de pago no fue exitoso. Estas razones de fallo están estandarizadas a través de diferentes métodos de pago y proveedores, lo que facilita la implementación de un manejo de errores consistente en su aplicación. Cada respuesta de fallo de transacción incluye:- Un código de razón de fallo específico
- Un mensaje de error legible por humanos
- Contexto adicional sobre el fallo cuando está disponible
- Si el error puede ser corregido por el usuario o requiere intervención del sistema
- Proporcionar retroalimentación clara a sus clientes
- Implementar una lógica de reintento apropiada
- Manejar diferentes escenarios de fallo de manera elegante
- Mantener un sistema de procesamiento de pagos confiable
Razones de Fallo de Transacción
La siguiente tabla enumera todas las posibles razones de fallo de transacción, sus significados y si son errores corregibles por el usuario.| Failure Code | User Error | Description |
|---|---|---|
AUTHENTICATION_FAILURE | Yes | The authentication process failed during the transaction |
AUTHENTICATION_REQUIRED | Yes | Additional authentication is needed to complete the transaction |
AUTHENTICATION_TIMEOUT | Yes | The authentication process timed out |
CARD_DECLINED | No | The card was declined by the issuing bank |
CARD_NOT_ACTIVATED | Yes | The card has not been activated by the cardholder |
CARD_VELOCITY_EXCEEDED | Yes | Too many transactions attempted in a short period |
CUSTOMER_CANCELLED | Yes | The customer cancelled the transaction |
DO_NOT_HONOR | No | The issuing bank declined the transaction |
EXPIRED_CARD | Yes | The card has expired |
FRAUDULENT | Yes | The transaction was flagged as potentially fraudulent |
GENERIC_DECLINE | No | The transaction was declined for an unspecified reason |
INCORRECT_CVC | Yes | The provided CVC code was incorrect |
INCORRECT_NUMBER | Yes | The card number was entered incorrectly |
INSUFFICIENT_FUNDS | Yes | The account has insufficient funds to complete the transaction |
INVALID_ACCOUNT | Yes | The account details provided are invalid |
INVALID_AMOUNT | Yes | The transaction amount is invalid |
INVALID_CARD_NUMBER | Yes | The card number format is invalid |
INVALID_CARD_OWNER | Yes | The card owner information is invalid |
INVALID_CVC | Yes | The CVC format is invalid |
INVALID_EXPIRY_YEAR | Yes | The card expiry year is invalid |
INVALID_PIN | Yes | The provided PIN is incorrect |
INVALID_REQUEST | Yes | The transaction request contains invalid data |
INVALID_UPI_ID | Yes | The UPI ID provided is invalid |
LIMIT_EXCEEDED | Yes | The transaction exceeds the card or account limit |
LIVE_MODE_TEST_CARD | Yes | A test card was used in live mode |
LOST_CARD | Yes | The card has been reported as lost |
MANDATE_INVALID | Yes | The payment mandate is invalid |
MANDATE_REQUIRED | Yes | A mandate is required for this transaction |
MANDATE_REQUIRED_SYSTEM | No | System requires a mandate for this transaction type |
NETWORK_ERROR | No | A network error occurred during the transaction |
NETWORK_TIMEOUT | No | The network request timed out |
ORDER_CREATION_FAILED | No | Failed to create the order for the transaction |
PAYMENT_METHOD_PROVIDER_DECLINED | Yes | The payment method provider declined the transaction |
PAYMENT_METHOD_UNSUPPORTED | Yes | The payment method is not supported for this transaction |
PICKUP_CARD | Yes | The card has been reported as stolen and should be picked up |
PROCESSING_ERROR | No | An error occurred while processing the transaction |
PROVIDER_UNSUPPORTED | No | The payment provider does not support this transaction type |
REENTER_TRANSACTION | Yes | The transaction needs to be re-entered |
REVOCATION_OF_AUTHORIZATION | Yes | The authorization for the transaction was revoked |
STOLEN_CARD | Yes | The card has been reported as stolen |
TRANSACTION_NOT_ALLOWED | Yes | The transaction is not allowed for this card or account |
TRANSACTION_NOT_APPROVED | Yes | The transaction was not approved |
TRY_AGAIN_LATER | No | The transaction should be retried later |
UNKNOWN_ERROR | No | An unknown error occurred |
User Error indica si el rechazo del pago puede resolverse por el cliente. Cuando
true, el cliente puede tomar medidas para solucionar el problema (por ejemplo, ingresar los datos de la tarjeta correctamente). Cuando false, el rechazo se debe a problemas a nivel de sistema o restricciones bancarias que no pueden ser resueltas por el cliente.