Código de respuesta de SERMEPA / REDSYS

publicado en: Marketing online, Prestashop, Tutoriales | 21

ACTUALIZACIÓN 12/2015: Como es posible que sepais recientemente se ha dejado de trabajar con sha1 para hacerlo con sha256, por ello han introducido nuevos códigos de error que podeis consultar en la nueva entrada que he publicado

 

Recientemente he tenido que implementar una pasarela de pago de La Caixa. Algo totalmente normal y que no supone una complicación extrma, una vez que aprendes a configurar una y te haces con la terminología es la cosa más normal del mundo.

 

Pero aunque lo hayas hecho un millon de veces siempre hay que estar muy pendiente porque cada instalación se puede decir que es única y acaba teniendo sus particularidades, lo que te lleva a ver mensajes de error que no esperabas encontrar por muchas veces que hayas montado algo.

 

Por suerte un mensaje de error previsto es una cosa que no nos debe asustar, ya que el que un error esté registrado quiere decir que se ha documentado un medio para resolverlo y en esta ocasión no iban a ser menos, tienen definida una larga lista con todos los códigos de error y su significado.

 

A continuación encontrareis a modo de detallado manual todos los códigos de error publicados hasta la fecha. Me ha llevado un rato localizarlos, asi que espero que os sean de ayuda para resolver el problema.

 

Antes de nada debéis saber como localizar estos códigos de error.

 

Es muy sencillo, una vez que llegáis a la pagina del banco os aparecerá un mensaje del tipo:

 

«Error en datos enviados. Contacte con su comercio.»

lo que debéis hacer es ver el código fuente de la página y buscar un comentario en el html que tiene esta estructura ese es el código de error que tenéis que buscar en la lista para darle solución, bastante sencillo ¿no?

ERRORS = {
:SIS0007 => «Error al desmontar el XML de entrada»,
:SIS0008 => «Error falta Ds_Merchant_MerchantCode»,
:SIS0009 => «Error de formato en Ds_Merchant_MerchantCode»,
:SIS0010 => «Error falta Ds_Merchant_Terminal»,
:SIS0011 => «Error de formato en Ds_Merchant_Terminal»,
:SIS0014 => «Error de formato en Ds_Merchant_Order»,
:SIS0015 => «Error falta Ds_Merchant_Currency»,
:SIS0016 => «Error de formato en Ds_Merchant_Currency»,
:SIS0018 => «Error falta Ds_Merchant_Amount»,
:SIS0019 => «Error de formato en Ds_Merchant_Amount»,
:SIS0020 => «Error falta Ds_Merchant_MerchantSignature»,
:SIS0021 => «Error la Ds_Merchant_MerchantSignature viene vacía»,
:SIS0022 => «Error de formato en Ds_Merchant_TransactionType»,
:SIS0023 => «Error Ds_Merchant_TransactionType desconocido»,
:SIS0026 => «Error No existe el comercio / terminal enviado»,
:SIS0027 => «Error Moneda enviada por el comercio es diferente a la que tiene asignada para ese terminal»,
:SIS0028 => «Error Comercio / terminal está dado de baja»,
:SIS0030 => «Error en un pago con tarjeta ha llegado un tipo de operación no valido»,
:SIS0031 => «Método de pago no definido»,
:SIS0034 => «Error de acceso a la Base de Datos «,
:SIS0038 => «Error en java»,
:SIS0040 => «Error el comercio / terminal no tiene ningún método de pago asignado»,
:SIS0041 => «Error en el cálculo de la firma de datos del comercio»,
:SIS0042 => «La firma enviada no es correcta»,
:SIS0046 => «El BIN de la tarjeta no está dado de alta»,
:SIS0051 => «Error número de pedido repetido»,
:SIS0054 => «Error no existe operación sobre la que realizar la devolución»,
:SIS0055 => «Error no existe más de un pago con el mismo número de pedido»,
:SIS0056 => «La operación sobre la que se desea devolver no está autorizada»,
:SIS0057 => «El importe a devolver supera el permitido»,
:SIS0058 => «Inconsistencia de datos, en la validación de una confirmación»,
:SIS0059 => «Error no existe operación sobre la que realizar la devolución»,
:SIS0060 => «Ya existe una confirmación asociada a la preautorización»,
:SIS0061 => «La preautorización sobre la que se desea confirmar no está autorizada»,
:SIS0062 => «El importe a confirmar supera el permitido»,
:SIS0063 => «Error. Número de tarjeta no disponible»,
:SIS0064 => «Error. El número de tarjeta no puede tener más de 19 posiciones»,
:SIS0065 => «Error. El número de tarjeta no es numérico»,
:SIS0066 => «Error. Mes de caducidad no disponible»,
:SIS0067 => «Error. El mes de la caducidad no es numérico»,
:SIS0068 => «Error. El mes de la caducidad no es válido»,
:SIS0069 => «Error. Año de caducidad no disponible»,
:SIS0070 => «Error. El Año de la caducidad no es numérico»,
:SIS0071 => «Tarjeta caducada»,
:SIS0072 => «Operación no anulable»,
:SIS0074 => «Error falta Ds_Merchant_Order»,
:SIS0075 => «Error el Ds_Merchant_Order tiene menos de 4 posiciones o más de 12»,
:SIS0076 => «Error el Ds_Merchant_Order no tiene las cuatro primeras posiciones numéricas»,
:SIS0078 => «Método de pago no disponible»,
:SIS0079 => «Error al realizar el pago con tarjeta»,
:SIS0081 => «La sesión es nueva, se han perdido los datos almacenados»,
:SIS0089 => «El valor de Ds_Merchant_ExpiryDate no ocupa 4 posiciones»,
:SIS0092 => «El valor de Ds_Merchant_ExpiryDate es nulo»,
:SIS0093 => «Tarjeta no encontrada en la tabla de rangos»,
:SIS0112 => «Error. El tipo de transacción especificado en Ds_Merchant_Transaction_Type no esta permitido»,
:SIS0115 => «Error no existe operación sobre la que realizar el pago de la cuota»,
:SIS0116 => «La operación sobre la que se desea pagar una cuota no es una operación válida»,
:SIS0117 => «La operación sobre la que se desea pagar una cuota no está autorizada»,
:SIS0118 => «Se ha excedido el importe total de las cuotas»,
:SIS0119 => «Valor del campo Ds_Merchant_DateFrecuency no válido»,
:SIS0120 => «Valor del campo Ds_Merchant_CargeExpiryDate no válido»,
:SIS0121 => «Valor del campo Ds_Merchant_SumTotal no válido»,
:SIS0122 => «Valor del campo Ds_merchant_DateFrecuency o Ds_Merchant_SumTotal tiene formato incorrecto»,
:SIS0123 => «Se ha excedido la fecha tope para realizar transacciones»,
:SIS0124 => «No ha transcurrido la frecuencia mínima en un pago recurrente sucesivo»,
:SIS0132 => «La fecha de Confirmación de Autorización no puede superar en más de 7 días a la de Preautorización»,
:SIS0139 => «Error el pago recurrente inicial está duplicado SIS0142 Tiempo excedido para el pago»,
:SIS0216 => «Error Ds_Merchant_CVV2 tiene mas de 3/4 posiciones»,
:SIS0217 => «Error de formato en Ds_Merchant_CVV2»,
:SIS0221 => «Error el CVV2 es obligatorio»,
:SIS0222 => «Ya existe una anulación asociada a la preautorización»,
:SIS0223 => «La preautorización que se desea anular no está autorizada»,
:SIS0225 => «Error no existe operación sobre la que realizar la anulación»,
:SIS0226 => «Inconsistencia de datos, en la validación de una anulación»,
:SIS0227 => «Valor del campo Ds_Merchan_TransactionDate no válido»,
:SIS0252 => «El comercio no permite el envío de tarjeta»,
:SIS0253 => «La tarjeta no cumple el check-digit»,
:SIS0261 => «Operación detenida por superar el control de restricciones en la entrada al SIS SIS0274 Tipo de operación desconocida o no permitida por esta entrada al SIS»
}

 

Hasta aqui la primera parte de la comunicación con el banco, la parte en la que nosotros le enviamos los datos para que sean procesados. Una vez que todo sea gestionado el baco debe facilitarnos una respuesta para saber cual ha sido el resultado de la operación.

 

Esta respuesta por supuesto tambien viene bien definida con una serie de códigos para que sea mucho más cómoda su interpretación, veamos la lista de posibles respuestas que nos puede hacer llegar el banco:

 

RESPONSE_CODES = {
:’0101′ => «Tarjeta Caducada»,
:’0102′ => «Tarjeta en excepción transitoria o bajo sospecha de fraude»,
:’0116′ => «Disponible Insuficiente»,
:’0118′ => «Tarjeta no Registrada»,
:’0180′ => «Tarjeta ajena al servicio»,
:’0184′ => «Error en la autenticación del titular»,
:’0190′ => «Denegación sin especificar motivo»,
:’0191′ => «Fecha de caducidad errónea»,
:’0202′ => «Tarjeta en excepción transitoria o bajo sospecha de fraude con retirada de tarjeta»,
:’0912′ => «Emisor no Disponible»,
:’9912′ => «Emisor no Disponible»,
:’0904′ => «Comercio no registrado en FUC»,
:’9064′ => «Número de posiciones de la tarjeta incorrecto»,
:’9078′ => «No existe método de pago válido para esa tarjeta»,
:’9093′ => «Tarjeta no existente»,
:’9218′ => «El comercio no permite op. seguras por entrada /operaciones»,
:’9253′ => «Tarjeta no cumple el check-digit»,
:’9256′ => «El comercio no puede realizar preautorizaciones»,
:’9257′ => «Esta tarjeta no permite operativa de preautorizaciones»,
:’9261′ => «Operación detenida por superar el control de restricciones en la entrada al SIS»,
:’9913′ => «Error en la confirmación que el comercio envía al TPV Virtual (solo aplicable en la opción de sincronización SOAP)»,
:’9914′ => «Confirmación “KO” del comercio (solo aplicable en la opción de sincronización SOAP)»,
:’9928′ => «Anulación de autorización en diferido realizada por el SIS (proceso batch)»,
:’9929′ => «Anulación de autorización en diferido realizada por el comercio»,
}

 

Ya que está solucionado el tema del cobro, ¿que te parece si ahora descubres como potenciar las ventas de tu tienda online? Échale un vistazo a esta entrada en la que te hablo sobre primeraventa.com y como conseguir tu primera venta en menos de tres semanas

21 comentarios

  1. Alberto

    Buenas,
    Estoy implementando la pasarela de pagos Redsys , Y curiosamente aunque no este finalizada la transacción por algún problema, si intentas cargar de nuevo los datos de envio , da el siguiente error SIS0051 => “Error número de pedido repetido”.
    Por lo que nunca puede finalizar la venta.
    Sabes si hay algún paso para anular y volver a lanzar??

    Gracias de antemano.

  2. Alberto

    Buenas,
    Estoy implementando la pasarela de pagos Redsys , Y curiosamente aunque no este finalizada la transacción por algún problema, si intentas cargar de nuevo los datos de envio , da el siguiente error SIS0051 => “Error número de pedido repetido”.
    Por lo que nunca puede finalizar la venta.
    Sabes si hay algún paso para anular y volver a lanzar??

    Gracias de antemano.

    • dwalins

      Hola Alberto,
      ¿Cuando te da el error le das a volver atrás? Si no se actualiza nuevamente la página de las formas de pago intenta mandar de nuevo el mismo número de pedido, y aunque falle se queda registrado para evitar posibles fraudes. Si usas el volver atrás contra eso únicamente se puede refrescar la página, si lo que pasa es que te lleva el banco de vuelta a esa pantalla puedes confirmar la dirección que tienen como url ko a ver donde está apuntando, si lo diriges a una nueva página deberán volver a navegar hasta el pago generando así un nuevo número que mandar.

      Espero haber resuelto tu duda.

      Un saludo!

  3. ESTHER CÁNOVAS

    Buenas tardes, estoy implementado una pasarela de pago web utilizando Woocommerce para WordPress pero me da siempre el siguiente error:
    Error en datos enviados. Contacte con su comercio.

    He mirado en el código fuente y es un error

    Alguna idea? Ando un poco perdida con esto.

    Gracias y un saludo!

    • dwalins

      Hola Esther,
      Parece que hay algún problema con la cantidad que envías a la pasarela de pago. Es posible que se trate de algún problema con el módulo de pago ¿cuál estás usando para el tpv? Si estás segura que funciona perfectamente prueba a usarlo con algún tema por defecto para ir descartando cosas

      Un saludo

  4. Alexandra

    Hola dwalins,
    Muy interesante tu blog. Estoy implementando una pasarela de pago utilizando el api PHP de Redsys y me da el error 42, la firma enviada no es correcta, pero tengo la duda, si lo estoy haciendo como dice el manual de integracion, cual es el motivo de este error? Hasta que lei tu blog me parecia un error de como enviaba los datos, pero ahora estoy confundida. Saludos y gracias de antemano.

    • dwalins

      Hola Alexandra,

      Me alegra mucho que te parezca interesante el blog 🙂
      Normalmente no suelo trabajar directamente con la api, sino que tiro más de modulos. Recientemente han actualizado la firma de los datos enviados pasando de sha1 a sha256, si no recuerdo mal este mismo lunes 23 todo lo que no estuviera actualizado dejaria de funcionar ¿es posible que no hayan actualizado el manual de integración o que estés revisando una copia antigua?

      Un saludo

  5. Alexandra

    Estoy trabajando según el manual de integración actualizado, y la api actualizada para sha256. Pero he probado un millón de formas y no logro entender el por qué de ese error de firma. ¿Sería posible que me revisaras mi código o que me dieras un ejemplo de uno que te haya funcionado? De verdad lo agradecería muchísimo. Saludos.

    • dwalins

      Hola Alexandra,
      Como te comentaba normalmente uso modulos de pago. Por lo general el de redsys que puedes encontrar en su web (o pinchando aqui), tal vez revisando un poco ese módulo veas que puede estar pasando. Si no das con la solución a ver si lo puedo revisar.

      Un saludo

  6. Aily

    Hola yo instale el modulo de redsys para magento con el manual de integración actualizado y demás, sin embargo cuando hago una compra me muestra el error al que te refieres “Error en datos enviados. Contacte con su comercio.” además me pone importe 0 sin asignar, codigo comercio 0, terminal 0…. cuando hago lo que indicas de ver el código fuente no encuentro ningún comentario como el que muestras, debajo te pongo el código fuente si tienes alguna idea de porque pueda ser este error te lo voy a agradecer porque llevo varios detras de esto sin resultado alguno. muchisimas gracias

     

    Importe0
     Sin Asignar

    Código Comercio0

    Terminal0

    Número pedido

    Error en datos enviados. Contacte con su comercio.

     

     

     

    • dwalins

      Hola Aily,

      Por lo que veo el mensaje que te da de error es el SIS0432, he creado una entrada nueva con códigos de error actualizados para sha256. Échale un vistazo ya que viene explicado tu código. Parece que es cosa del código FUC.

      Te recomiendo que lo verifiques y compruebes también el formulario que se crea justo antes de enviar los datos para el pago para comprobar que se crea correctamente con todos los datos que deben estar.

      Un saludo

  7. Aily

    HOla dwalins muchisimas gracias por tu ayuda, eh solucionado este error, era exactamente lo que me decías del FUC ya ahora me muestra el numero de comercio y del terminal sin embargo el importe y el numero de pedido siguen en 0 sin Asignar y blanco respectivamente, y el error que me esta mostrando ahora es SIS042 o sea la firma enviada no es correcta, y este si no logro solucionarlo, ademas quería preguntarte si este error influye en que los datos del importe y numero de pedido no se muestren?? Muchísimas gracias otra vez. Saludos para ti

    • Iñigo

      El problema es que los bancos tienen una serie de filtros entre otros que desde una IP no puedes intentar comprar más de 3 veces, ese era mi problema… ha esperar 24 horas…

      Saludos y gracias

  8. Iñigo

    Hola.

    ME da un error: SIS0334, que no encuentro en ninguna parte que ***** narices es…

    El asunto es que lo probe hace 4 días y funcionaba… con la misma tarjeta… Este mismo día compre usando la tarjeta por valor de 300 €… tendra algo que ver????

    alguna idea?

  9. Jean

    Hola Dwalins
    Estoy tratando de comprar en pasaje en bus desde argentina para salir desde madrid a barcelona por la empresa ALSA. Cuando termino de poner todos los datos y pongo comprar me dice “No existe método de pago válido para esa tarjeta”. Quisiera saber qué significa eso y qué puedo hacer. Gracias.

    • dwalins

      Hola Jean,

      Te recomendaria que contactases directamente con ALSA a ver que te pueden indicar ellos que tienen acceso a la plataforma. Viendo el error es posible que se trate de algún problema al pagar con una tarjeta extranjera, es posible que no esté soportada por el sistema.

      Recuerdo una vez que intentamos comprar unas entradas para un espectaculo en Londres y la respuesta del banco no era entendida por la pasarela de pago de modo que no funcionaba.

      ¿Puedes probar con otro metodo de pago?

  10. Kundan

    Hi dwalins

    I am trying to make the currency in Pound but every time I put the code for Pound, it shows an error.

    Can you help me in this

    • dwalins

      Hi Kundan,

      Which error are shown? I’m not sure but maybe your TPV does not accept anything other than euros. Have you spoken with your bank about this?

  11. Laura

    Hola Dwalins,

    Tenemos el problema SIS0007 => “Error al desmontar el XML de entrada”, sabes como lo podriamos resolver?

    Muchas gracias

    • dwalins

      Hola Laura,

      Es un poco dificil saber sin disponer de más datos. Una posible causa puede ser que esteis usando al URL de producción mientras que el TPV sigue estando en pruebas, pero te comento con la información que facilitas es muy dificil saber.

      Un saludo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *