Manejo de errores (cliente JS)

Esta página describe el manejo de los errores de integración.

Si desea personalizar el manejo de los errores que ocurren cuando rechaza una transacción, consulte el siguiente artículo:

KR.onError()

¿Cómo se muestran los errores?

En el formulario cargado, los errores se muestran automáticamente en el div kr-form-error:

    <!-- error zone -->
    <div class="kr-form-error"></div>

    <!-- error zone -->
    <div class="kr-form-error"></div>

Solo tiene que añadirlo.

Manejar los errores manualmente

Para gestionar los errores manualmente, basta con interceptar y personalizar el mensaje de error predeterminado. En el siguiente ejemplo, el mensaje de error personalizado se colocará en el div de clase customerror:

  <script type="text/javascript">
    $(document).ready(function() {
          KR.onError( function(event) {
            var code = event.errorCode;
            var message = event.errorMessage;
            var myMessage = code + ": " + message;

            document.getElementsByClassName("customerror")[0].innerText = myMessage;
          });
    });
  </script>

Códigos de error JS

La API REST tiene muchos códigos de error, que de describen aquí: Códigos de error de la API REST.

Los códigos de error con el prefijo CLIENT_ corresponden a errores que ocurren en el navegador del comprador. Se producen antes de que los datos de pago se envíen a nuestros servidores. Incluyen, por ejemplo, errores de validación de los datos de formulario o errores de integración del cliente de JavaScript.

CÓDIGO DEFINICIÓN
CLIENT_004 Clave pública inválida
CLIENT_100 formToken inválido
CLIENT_101 Abortado
CLIENT_300 Datos de formulario inválidos
CLIENT_301 Número de tarjeta inválido
CLIENT_302 Fecha de caducidad inválida
CLIENT_303 Código de seguridad inválido
CLIENT_304 El valor es obligatorio
CLIENT_500 Sin formulario o botón definido
CLIENT_501 Kr-public-key está vacía o no definida
CLIENT_502 El formulario ya ha sido enviado (No está soportada la navegación hacia atrás)
CLIENT_997 La configuración de endpoint no coincide
CLIENT_998 Formulario de demostración, ver la documentación
CLIENT_999 Error del servidor

Códigos de advertencia

Los códigos de error que van de CLIENT_700 a CLIENT_799 son advertencias. Sirven de ayuda para la integración del cliente JavaScript:

CÓDIGO DEFINICIÓN
CLIENT_704 necesita incluir Font Awesome en el elemento &lt;head&gt;

Detalle de los códigos de error

CLIENT_004

Código CLIENT_004
Definición Clave pública inválida
Categoría Errores

La clave pública definida en kr-public-keyno es válida. Debe tener la la siguiente forma: [NÚMERO]:[CADENA]

par exemple : 45789921:testpublickey_qSbs1nvRJEdy74KqANWo6TnGnRsTzwFMd9DYrO9OCdiHD

Para más información,consulte: Obtener mis claves.

CLIENT_100

Código CLIENT_100
Definición formToken inválido
Categoría Errores

El formToken definido por usted en kr-form-token no es válido. Para obtener más información sobre cómo crear un formToken, consulte: Guía de integración.

CLIENT_101

Código CLIENT_101
Definición Abortado
Categoría Errores

La transacción fue abandonada por el comprador. Este error ocurre, por ejemplo, cuando el comprador cierra el pop-in de 3D-Secure antes de la autenticación.

Si el comprador no lo intenta otra vez, se crea automáticamente una transacción rechazada cuando expira el formToken.

CLIENT_300

Código CLIENT_300
Definición Datos de formulario inválidos
Categoría Errores

Cuando varios campos del formulario no son válidos, se devuelve un error general CLIENT_300. La lista detallada de todos los errores detectados estará contenida en el campo children:

{
    "errorCode": "CLIENT_300",
    "errorMessage": "Invalid form data",
    "children": [{
        "errorCode": "CLIENT_301",
        "errorMessage": "Invalid card number",
        "field": "pan",
        (...)
    }, {
        "errorCode": "CLIENT_302",
        "errorMessage": "Invalid expiry date",
        "field": "expiryDate",
        (...)
    }, {
        "errorCode": "CLIENT_303",
        "errorMessage": "Invalid security code",
        "field": "securityCode",
        (...)
    }],
    "detailedErrorCode": null,
    "detailedErrorMessage": null,
    (...)
}

CLIENT_301

Código CLIENT_301
Definición Número de tarjeta inválido
Categoría Errores

El campo kr-pan (número de tarjeta) del formulario de pago no es válido.

CLIENT_302

Código CLIENT_302
Definición Fecha de caducidad inválida
Categoría Errores

El campo kr-expiry (fecha de vencimiento) del formulario de pago no es válido.

CLIENT_303

Código CLIENT_303
Definición Código de seguridad inválido
Categoría Errores

El campo kr-security-code (código de seguridad o CVV) del formulario de pago no es válido.

CLIENT_304

Código CLIENT_304
Definición El valor es obligatorio
Categoría Errores

Un campo adicional declarado como obligatorio está vacío. Para más información, consulte: Campos personalizados del formulario.

CLIENT_500

Código CLIENT_500
Definición Sin formulario o botón definido
Categoría Errores

No se ha encontrado ningún botón de formulario de pago en el código HTML. Compruebe si existen las etiquetas necesarias o si hay algún error de sintaxis.

CLIENT_501

Código CLIENT_501
Definición Kr-public-key está vacía o no definida
Categoría Errores

La clave pública no está definida en kr-public-key.

CLIENT_502

Código CLIENT_502
Definición El formulario ya ha sido enviado (No está soportada la navegación hacia atrás)
Categoría Errores

La aplicación ha detectado que el comprador regresó a la página de pago con el botón atrás de su navegador. El formulario de pago ha sido bloqueado.

Tenga en cuenta que esta detección solo funciona en ciertos navegadores.

CLIENT_704

Código CLIENT_704
Definición necesita incluir Font Awesome en el elemento &lt;head&gt;
Categoría Alertas

Un campo adicional utiliza íconos de Font Awesome, pero la biblioteca no se ha cargado. Para más información, vaya a: Campos personalizados del formulario.

CLIENT_997

Código CLIENT_997
Definición La configuración de endpoint no coincide
Categoría Errores

El formToken se creó en una plataforma distinta de aquella en la que se descargó el cliente JavaScript. La URL de llamada al servicio web REST debe ser la misma que la URL del cliente de JavaScript.

CLIENT_998

Código CLIENT_998
Definición Formulario de demostración, ver la documentación
Categoría Errores

El formulario de pago utiliza un formToken de demostración que no permite la interacción con el servidor. Utilice un formToken válido: Charge/CreatePayment.

CLIENT_999

Código CLIENT_999
Definición Error del servidor
Categoría Errores

Error desconocido, póngase en contacto con el soporte técnico indicando la siguiente información:

  • Número de tienda,
  • URL del formulario,
  • Nombre y versión del navegador,
  • Tipo y versión del sistema operativo,
  • Dispositivo utilizado (iPhone 6S, PC, iPad Pro ...)
  • Fecha y hora del error.