Está en la página 1de 73

TPV-Virtual

Manual de Integración - Redirección

Versión: 1.5
Fecha: 29/01/2019
Referencia: RS.TE.CEL.MAN.0028

Redsys, Servicios de Procesamiento, S.L. – c/ Francisco Sancha, 12 – 28034 Madrid (España)


www.redsys.es
Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:2 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Autorizaciones y control de versión

VALIDADO POR: Comercio


AUTOR: Redsys APROBADO POR: Redsys
Electrónico

Empresa: Redsys Empresa: Redsys Empresa: Redsys


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Firma: Firma: Firma:

Fecha: 29/01/2019 Fecha: 29/01/2019 Fecha: 29/01/2019

Versión Fecha Afecta Breve descripción del cambio

1.0 01/06/2018 TODO Versión Inicial

1.1 24/09/2018 Punto 8.1 Código ASCII del Ds_Merchant_Order

1.2 07/11/2018 Punto 8.6 Se añade la opción de reintentar el pago

Se modifica la opción de reintentar el


1.3 18/12/2018 Punto 8.6
pago

Se añade el campo
Ds_Merchant_Paymethods, se añade
1.4 10/01/2019 Punto 8.1, 8.2 y 8.6 una corrección sobre el envío del código
de respuesta y se matizan los requisitos
del comercio en los reintentos de pago

Se añade en el parámetro
1.5 29/01/2019 Punto 8.1 Ds_Merchant_TransactionType el tipo
de Anulación de Autorización

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:3 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ÍNDICE

INTRODUCCIÓN 5

1.1 OBJETIVO 5
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

1.2 DEFINICIONES, SIGLAS Y ABREVIATURAS 5


1.3 REFERENCIAS 5

DESCRIPCIÓN GENERAL DEL FLUJO 6

2.1 ENVÍO DE PETICIÓN AL TPV VIRTUAL 6


2.2 RECEPCIÓN DEL RESULTADO (NOTIFICACIÓN ON-LINE) 7
2.3 RETORNO DEL CONTROL DE LA NAVEGACIÓN DEL TITULAR 8

FORMULARIO DE ENVÍO DE PETICIÓN 9

3.1 IDENTIFICAR LA VERSIÓN DE ALGORITMO DE FIRMA A UTILIZAR 10


3.2 MONTAR LA CADENA DE DATOS DE LA PETICIÓN 10
3.3 IDENTIFICAR LA CLAVE A UTILIZAR PARA LA FIRMA 11
3.4 FIRMAR LOS DATOS DE LA PETICIÓN 12
3.5 UTILIZACIÓN DE LIBRERÍAS DE AYUDA 12
3.5.1 LIBRERÍA PHP 12
3.5.2 LIBRERÍA JAVA 14
3.5.3 LIBRERÍA .NET 15

RECEPCIÓN DE LA NOTIFICACIÓN ON-LINE 17

4.1 NOTIFICACIÓN SÍNCRONA Y ASÍNCRONA 17


4.1.1 LIBRERÍA PHP 17
4.1.2 LIBRERÍA JAVA 19
4.1.3 LIBRERÍA .NET 20
4.2 NOTIFICACIÓN SÍNCRONA SOAP 22
4.2.1 LIBRERÍA PHP 22
4.2.2 LIBRERÍA JAVA 23
4.2.3 LIBRERÍA .NET 25

RETORNO DEL CONTROL DE LA NAVEGACIÓN 27

5.1 UTILIZACIÓN DE LIBRERÍAS DE AYUDA 27


5.1.1 LIBRERÍA PHP 27

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:4 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

5.1.2 LIBRERÍA JAVA 29


5.1.3 LIBRERÍA .NET 30

ENTORNO DE PRUEBAS 32

CÓDIGOS DE ERROR 34

7.1 GLOSARIO DE ERRORES DEL SIS 35


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

ANEXOS 45

8.1 DATOS DE LA SOLICITUD DE PAGO 45


8.2 DATOS DE LA NOTIFICACIÓN ON-LINE 49
8.3 CÓDIGO ISO-4217 MONEDAS 53
8.4 IDIOMAS 62
8.5 NOTIFICACIÓN SOAP 64
8.5.1 WSDL DE NOTIFICACIÓN SOAP CON WSDL 66
8.5.2 WSDL DE NOTIFICACIÓN SOAP ESTILO DOCUMENT/LITERAL 67
8.6 REINTENTOS DE PAGO 70

ERRORES FRECUENTES 71

PREGUNTAS FRECUENTES 73

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:5 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Introducción

1.1 Objetivo
Este documento recoge los aspectos técnicos necesarios para que un comercio realice la integración
con el TPV Virtual mediante conexión por Redirección del navegador del cliente comprador.

Esta forma de conexión permite trasladar la sesión del cliente final al TPV Virtual, de forma que la
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

selección del medio de pago y la introducción de datos se llevan a cabo en el entorno seguro del
servidor del TPV Virtual y fuera de la responsabilidad del comercio. Además de la sencillez de
implementación para el comercio y la tranquilidad respecto a la responsabilidad de los datos de
pago, este modo de conexión da cabida a la utilización de mecanismos de autenticación como el 3D
Secure, donde el banco de la tarjeta solicita directamente al titular un dato secreto que permite
dotar de más seguridad a las compras.

NOTA: la conexión requiere del uso de un sistema de firma basado en HMAC SHA-256, que autentica
entre sí al servidor del comercio y al TPV Virtual. Para desarrollar el cálculo de este tipo de firma, el
comercio puede realizar el desarrollo por sí mismo utilizando las funciones estándar de los diferentes
entornos de desarrollo, si bien para facilitar los desarrollos ponemos a su disposición librerías (PHP,
JAVA y .NET) cuya utilización se presenta en detalle en esta guía y que están a su disposición en la
siguiente dirección:

http://www.redsys.es/wps/portal/redsys/publica/areadeserviciosweb/descargaDeDocumentacionY
Ejecutables/

1.2 Definiciones, siglas y abreviaturas


SIS. Servidor Integrado de Redsys (Servidor del TPV Virtual).

1.3 Referencias
• Documentación de Integración con el SIS

• Guía de comercios del SIS.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:6 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Descripción general del flujo

El siguiente esquema presenta el flujo general de una operación realizada con el TPV Virtual.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

1. El titular selecciona los productos que desea comprar en el comercio.

2. El comercio redirige la sesion del navegador del cliente a la URL de Redsys. En esta URL el cliente
introduce los datos de tarjeta.

3. El TPV virtual informa al comercio del resultado de la operación y Redsys devuelve la sesion del
navegador del cliente al comercio para que continue navegando en su tienda web.

2.1 Envío de petición al TPV Virtual


Como se muestra en el paso 2 del esquema anterior, el comercio debe enviar al TPV Virtual los datos
de la petición de pago codificados en UTF-8 a través del navegador del titular. Para ello deberá
preparar un formulario con los siguientes campos:

• Ds_SignatureVersion: Constante que indica la versión de firma que se está utilizando.

• Ds_MerchantParameters: Cadena en formato JSON con todos los parámetros de la petición


codificada en Base 64 y sin retornos de carro (En el Anexo 8.1 se incluye la lista de
parámetros que se pueden enviar en una solicitud de pago).

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:7 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

• Ds_Signature: Firma de los datos enviados. Es el resultado del HMAC SHA256 de la cadena
JSON codificada en Base 64 enviada en el parámetro anterior.

Este formulario debe enviarse a las siguientes URLs dependiendo de si se quiere realizar una
petición de pruebas u operaciones reales:

URL Conexión Entorno


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

https://sis-t.redsys.es:25443/sis/realizarPago Pruebas

https://sis.redsys.es/sis/realizarPago Real

2.2 Recepción del resultado (Notificación on-line)


Una vez gestionada la transacción, el TPV Virtual puede informar al servidor del comercio el
resultado de la misma mediante una conexión directa al servidor del comercio (paso 3 del flujo
descrito). Esta notificación es opcional y debe configurarse para cada terminal en el Módulo de
Administración.

La notificación on-line puede consistir en:

- Un POST HTTP (Notificación Síncrona y Asíncrona) con la información del resultado codificada
en UTF-8. En el POST se incluirán los siguientes campos:

• Ds_SignatureVersion: Constante que indica la versión de firma que se está utilizando.

• Ds_MerchantParameters: Cadena en formato JSON con todos los parámetros de la


respuesta codificada en Base 64 y sin retornos de carro (En el Anexo 0 se incluye la lista de
parámetros que se pueden incluir en la notificación on-line).

• Ds_Signature: Firma de los datos enviados. Resultado del HMAC SHA256 de la cadena JSON
codificada en Base 64 enviada en el parámetro anterior. El comercio es responsable de
validar el HMAC enviado por el TPV Virtual para asegurarse de la validez de la respuesta.
Esta validación es necesaria para garantizar que los datos no han sido manipulados y que el
origen es realmente el TPV Virtual.

- En un mensaje SOAP (Notificación Síncrona SOAP) con la información del resultado codificada
en UTF-8. En el mensaje se incluirán los siguientes campos:

• Elemento padre <Message>: Elemento que contendrá todo el cuerpo del Mensaje y que
contendrá los elementos <Request> y <Signature>.

• Elemento <Request>: Cadena con todos los parámetros de la respuesta.

• Elemento <Signature>: Firma de los datos enviados. Resultado del HMAC SHA256 del
elemento <Request>.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:8 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

NOTA: El TPV Virtual envía la notificación on-line a la URL informada por el comercio en el
parámetro Ds_Merchant_MerchantURL.

2.3 Retorno del control de la navegación del titular


En el paso 3 del flujo el TPV Virtual, se mostrará al cliente un recibo con el resultado de la operación,
siempre y cuando la configuración del comercio así lo especifique. Además, en caso de que la
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

operación se deniegue, el cliente tendrá la opción de reintentar el pago con otra tarjeta u otro
método de pago, siempre y cuando la configuración del comercio lo permita (la opción de reintentar
el pago se describe en detalle en el Anexo 8.6).

Por último, en este paso se devuelve al comercio el control de la navegación del titular. De esta forma
el comercio puede completar el flujo del pago manteniendo una secuencia de navegación natural
para el cliente/comprador.

Opcionalmente el TPV Virtual puede incluir los mismos campos de la notificación on-line.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:9 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Formulario de envío de petición

El comercio deberá montar un formulario con los parámetros de la petición de pago que debe hacer
llegar al TPV Virtual a través del navegador del cliente. A continuación, se muestran diversos
ejemplos del formulario de petición de pago:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Ejemplo de formulario de pago sin envío de datos de tarjeta:

<form name="from" action="https://sis-t.redsys.es:25443/sis/realizarPago" method="POST">


<input type="hidden" name="Ds_SignatureVersion" value="HMAC_SHA256_V1"/>

<input type="hidden" name="Ds_MerchantParameters" value="


eyJEU19NRVJDSEFOVF9BTU9VTlQiOiI5OTkiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjEyMzQ1Njc4OTAiLCJEU19NRV
JDSEFOVF9NRVJDSEFOVENPREUiOiI5OTkwMDg4ODEiLCJEU19NRVJDSEFOVF9DVVJSRU5DWSI6Ijk3OCIsIkRTX
01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjEiLCJEU19NRVJDS
EFOVF9NRVJDSEFOVFVSTCI6Imh0dHA6XC9cL3d3dy5wcnVlYmEuY29tXC91cmxOb3RpZmljYWNpb24ucGhwIiw
iRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsT0sucGhwIiwiRFNfTUVSQ0h
BTlRfVVJMS08iOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsS08ucGhwIn0="/>
<input type="hidden" name="Ds_Signature" value="PqV2+SF6asdasMjXasKJRTh3UIYya1hmU/igHkzhC+R="/>
</form>

Ejemplo de formulario de pago con envío de datos de tarjeta:

<form name="from" action="https://sis-t.redsys.es:25443/sis/realizarPago" method="POST">


<input type="hidden" name="Ds_SignatureVersion" value="HMAC_SHA256_V1"/>
<input type="hidden" name="Ds_MerchantParameters" value="
eyJEU19NRVJDSEFOVF9BTU9VTlQiOiIxNDUiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjE0NDYwNjg1ODEiLCJEU19NR
VJDSEFOVF9NRVJDSEFOVENPREUiOiI5OTkwMDg4ODEiLCJEU19NRVJDSEFOVF9DVVJSRU5DWSI6Ijk3OCIsIkRT
X01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjEiLCJEU19NRVJD
SEFOVF9NRVJDSEFOVFVSTCI6Imh0dHA6XC9cL3d3dy5wcnVlYmEuY29tXC91cmxOb3RpZmljYWNpb24ucGhwIi
wiRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsT0sucGhwIiwiRFNfTUVSQ0
hBTlRfVVJMS08iOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsS08ucGhwIiwiRFNfTUVSQ0hBTlRfUEFOIjoi
NDU0ODgxMjA0OTQwMDAwNCIsIkRTX01FUkNIQU5UX0VYUElSWURBVEUiOiIxNTEyIiwiRFNfTUVSQ0hBTlRfQ
1ZWMiI6IjEyMyJ9"/>
<input type="hidden" name="Ds_Signature" value="PqV2+SF6asdasMjXasKJRTh3UIYya1hmU/igHkzhC+R="/>
</form>

Para facilitar la integración del comercio, a continuación se explica de forma detallada los pasos a
seguir para montar el formulario de petición de pago.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:10 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

3.1 Identificar la versión de algoritmo de firma a utilizar


En la petición se debe identificar la versión concreta de algoritmo que se está utilizando para la firma.
Actualmente se utiliza el valor HMAC_SHA256_V1 para identificar la versión de todas las peticiones,
por lo que este será el valor del parámetro Ds_SignatureVersion, tal y como se puede observar en
el ejemplo de formulario mostrado al inicio del apartado 3.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3.2 Montar la cadena de datos de la petición


Se debe montar una cadena con todos los datos de la petición en formato JSON. El nombre de cada
parámetro debe indicarse en mayúsculas o con estructura “CamelCase” (Por ejemplo:
DS_MERCHANT_AMOUNT o Ds_Merchant_Amount).

Los comercios que utilicen operativas especiales como el “Pago por referencia” (Pago 1-Clic),
deberán incluir los parámetros específicos de su operativa como parte del objeto JSON.

La lista de parámetros que se pueden incluir en la petición se describe en el Anexo 8.1.

A continuación, se muestran algunos ejemplos del objeto JSON de una petición:

Ejemplo sin envío de datos de tarjeta:

{"DS_MERCHANT_AMOUNT":"145","DS_MERCHANT_ORDER":"1446117555","DS_MERCHANT_MERCHANTC
ODE":"999008881","DS_MERCHANT_CURRENCY":"978","DS_MERCHANT_TRANSACTIONTYPE":"0","DS_MER
CHANT_TERMINAL":"1","DS_MERCHANT_MERCHANTURL":"http:\/\/www.prueba.com\/urlNotificacion.php"
,"DS_MERCHANT_URLOK":"http:\/\/www.prueba.com\/urlOK.php","DS_MERCHANT_URLKO":"http:\/\/www
.bancsabadell.com\/urlKO.php"}

Ejemplo con envío de datos de tarjeta:

{"DS_MERCHANT_AMOUNT":"145","DS_MERCHANT_ORDER":"1446068581","DS_MERCHANT_MERCHANTC
ODE":"999008881","DS_MERCHANT_CURRENCY":"978","DS_MERCHANT_TRANSACTIONTYPE":"0","DS_MER
CHANT_TERMINAL":"1","DS_MERCHANT_MERCHANTURL":"http:\/\/www.prueba.com\/urlNotificacion.php"
,"DS_MERCHANT_URLOK":"http:\/\/www.prueba.com\/urlOK.php","DS_MERCHANT_URLKO":"http:\/\/www
.prueba.com\/urlKO.php","DS_MERCHANT_PAN":"4548812049400004","DS_MERCHANT_EXPIRYDATE":"151
2","DS_MERCHANT_CVV2":"123"}

Una vez montada la cadena JSON con todos los campos, es necesario codificarla en BASE64 sin
retornos de carro para asegurarnos de que se mantiene constante y no es alterada en su paso por el
navegador del cliente/comprador.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:11 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

A continuación, se muestran los objetos JSON que se acaban de mostrar codificados en BASE64:

Ejemplo JSON codificado sin envío de datos de tarjeta:


eyJEU19NRVJDSEFOVF9BTU9VTlQiOiI5OTkiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjEyMzQ1Njc4OTAiLCJEU19NRV
JDSEFOVF9NRVJDSEFOVENPREUiOiI5OTkwMDg4ODEiLCJEU19NRVJDSEFOVF9DVVJSRU5DWSI6Ijk3OCIsIkRTX
01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjEiLCJEU19NRVJDS
EFOVF9NRVJDSEFOVFVSTCI6Imh0dHA6XC9cL3d3dy5wcnVlYmEuY29tXC91cmxOb3RpZmljYWNpb24ucGhwIiw
iRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsT0sucGhwIiwiRFNfTUVSQ0h
BTlRfVVJMS08iOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsS08ucGhwIn0
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Ejemplo JSON codificado con envío de datos de tarjeta:


eyJEU19NRVJDSEFOVF9BTU9VTlQiOiIxNDUiLCJEU19NRVJDSEFOVF9PUkRFUiI6IjE0NDYwNjg1ODEiLCJEU19NR
VJDSEFOVF9NRVJDSEFOVENPREUiOiI5OTkwMDg4ODEiLCJEU19NRVJDSEFOVF9DVVJSRU5DWSI6Ijk3OCIsIkRT
X01FUkNIQU5UX1RSQU5TQUNUSU9OVFlQRSI6IjAiLCJEU19NRVJDSEFOVF9URVJNSU5BTCI6IjEiLCJEU19NRVJD
SEFOVF9NRVJDSEFOVFVSTCI6Imh0dHA6XC9cL3d3dy5wcnVlYmEuY29tXC91cmxOb3RpZmljYWNpb24ucGhwIi
wiRFNfTUVSQ0hBTlRfVVJMT0siOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsT0sucGhwIiwiRFNfTUVSQ0
hBTlRfVVJMS08iOiJodHRwOlwvXC93d3cucHJ1ZWJhLmNvbVwvdXJsS08ucGhwIiwiRFNfTUVSQ0hBTlRfUEFOIjoi
NDU0ODgxMjA0OTQwMDAwNCIsIkRTX01FUkNIQU5UX0VYUElSWURBVEUiOiIxNTEyIiwiRFNfTUVSQ0hBTlRfQ
1ZWMiI6IjEyMyJ9

La cadena resultante de la codificación en BASE64 será el valor del parámetro


Ds_MerchantParameters, tal y como se puede observar en el ejemplo de formulario mostrado al
inicio del apartado 3.

NOTA: La utilización de las librerías de ayuda proporcionadas por Redsys para la generación de este
campo, se expone en el apartado 3.5.

3.3 Identificar la clave a utilizar para la firma


Para calcular la firma es necesario utilizar una clave específica para cada terminal. Se puede obtener
la clave accediendo al Módulo de Administración, opción Consulta datos de Comercio, en el apartado
“Ver clave”, tal y como se muestra en la siguiente imagen:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:12 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

NOTA IMPORTANTE: Esta clave debe ser almacenada en el servidor del comercio de la forma más
segura posible para evitar un uso fraudulento de la misma. El comercio es responsable de la adecuada
custodia y mantenimiento en secreto de dicha clave.

3.4 Firmar los datos de la petición


Una vez se tiene montada la cadena de datos a firmar y la clave específica del terminal se debe
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

calcular la firma siguiendo los siguientes pasos:

1. Se genera una clave específica por operación. Para obtener la clave derivada a utilizar en una
operación se debe realizar un cifrado 3DES entre la clave del comercio, la cual debe ser
previamente decodificada en BASE 64, y el valor del número de pedido de la operación
(Ds_Merchant_Order).

2. Se calcula el HMAC SHA256 del valor del parámetro Ds_MerchantParameters y la clave


obtenida en el paso anterior.

3. El resultado obtenido se codifica en BASE 64, y el resultado de la codificación será el valor del
parámetro Ds_Signature, tal y como se puede observar en el ejemplo de formulario mostrado al
inicio del apartado 3.

NOTA: La utilización de las librerías de ayuda proporcionadas por Redsys para la generación de este
campo, se expone en el apartado 3.5.

3.5 Utilización de librerías de ayuda


En los apartados anteriores se ha descrito la forma de acceso al SIS utilizando conexión por
Redirección y el sistema de firma basado en HMAC SHA256. En este apartado se explica cómo se
utilizan las librerías disponibles en PHP, JAVA y .NET para facilitar los desarrollos y la generación de
los campos del formulario de pago. El uso de las librerías suministradas por Redsys es opcional, si
bien simplifican los desarrollos a realizar por el comercio.

3.5.1 Librería PHP

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería
PHP proporcionada por Redsys:

1. Importar el fichero principal de la librería, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:13 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

El comercio debe decidir si la importación desea hacerla con la función “include” o


“required”, según los desarrollos realizados.

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3. Calcular el parámetro Ds_MerchantParameters. Para llevar a cabo el cálculo de este


parámetro, inicialmente se deben añadir todos los parámetros de la petición de pago que se
desea enviar, tal y como se muestra a continuación:

Por último, para calcular el parámetro Ds_MerchantParameters, se debe llamar a la función


de la librería “createMerchantParameters()”, tal y como se muestra a continuación:

4. Calcular el parámetro Ds_Signature. Para llevar a cabo el cálculo de este parámetro, se debe
llamar a la función de la librería “createMerchantSignature()” con la clave obtenida del
módulo de administración, tal y como se muestra a continuación:

5. Una vez obtenidos los valores de los parámetros Ds_MerchantParameters y Ds_Signature,


se debe rellenar el formulario de pago con dichos valores, tal y como se muestra a
continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:14 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3.5.2 Librería JAVA

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería
JAVA proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

El comercio debe incluir en la vía de construcción del proyecto todas las librerías(JARs) que
se proporcionan:

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

3. Calcular el parámetro Ds_MerchantParameters. Para llevar a cabo el cálculo de este


parámetro, inicialmente se deben añadir todos los parámetros de la petición de pago que
se desea enviar, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:15 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Por último se debe llamar a la función de la librería “createMerchantParameters()”, tal y


como se muestra a continuación:

4. Calcular el parámetro Ds_Signature. Para llevar a cabo el cálculo de este parámetro, se debe
llamar a la función de la librería “createMerchantSignature()” con la clave obtenida del
módulo de administración, tal y como se muestra a continuación:

5. Una vez obtenidos los valores de los parámetros Ds_MerchantParameters y Ds_Signature,


se debe rellenar el formulario de pago con los valores obtenidos, tal y como se muestra a
continuación:

3.5.3 Librería .NET

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería
.NET proporcionada por Redsys:

1. Importar la librería RedsysAPI y Newronsoft.Json en su proyecto.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:16 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

2. Calcular el parámetro Ds_MerchantParameters. Para llevar a cabo el cálculo de este


parámetro, inicialmente se deben añadir todos los parámetros de la petición de pago que
se desea enviar, tal y como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Por último se debe llamar a la función de la librería “createMerchantParameters()”, tal y


como se muestra a continuación:

3. Calcular el parámetro Ds_Signature. Para llevar a cabo el cálculo de este parámetro, se debe
llamar a la función de la librería “createMerchantSignature()” con la clave obtenida del
módulo de administración, tal y como se muestra a continuación:

4. Una vez obtenidos los valores de los parámetros Ds_MerchantParameters y Ds_Signature,


se debe rellenar el formulario de pago con los valores obtenidos, tal y como se muestra a
continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:17 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Recepción de la notificación on-line

La notificación on-line es una función opcional que permite a la tienda web recibir el resultado de una
transacción de forma on-line y en tiempo real, una vez que el cliente ha completado el proceso en el TPV
Virtual.

El comercio debe capturar y validar todos los parámetros junto a la firma de la notificación on-line de
forma previa a cualquier ejecución en su servidor.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

El TPV Virtual cuenta con diferentes tipos de notificación y son los siguientes:

1. Síncrona. Implica que el resultado de la compra primero se envía al comercio y a


continuación al cliente y con el valor. Aunque la notificación sea errónea la operación no se
cambia.

2. Asíncrona. Implica que el resultado de la autorización se comunica a la vez al comercio y al


cliente.

3. Síncrona SOAP. La notificación que se envía es una petición SOAP a un servidor que deberá
tener publicado el comercio.

4. Síncrona SOAP con WSDL. La notificación que se envía es una petición SOAP a un servidor
con su correspondiente WSDL que deberá tener publicado el comercio.

5. Síncrona SOAP document/literal. La notificación que se envía es una petición SOAP a un


servidor de estilo document/literal que deberá tener publicado el comercio.

La utilización de las librerías de ayuda proporcionadas por Redsys se expone en los siguientes
subapartados y dependerá del tipo de notificación configurada:

4.1 Notificación Síncrona y Asíncrona


En los apartados anteriores se ha descrito la forma de acceso al SIS utilizando conexión por Redirección y
el sistema de firma basado en HMAC SHA256. En este apartado se explica cómo se utilizan las librerías
disponibles PHP, JAVA y .NET para facilitar los desarrollos para la recepción de los parámetros de la
notificación on-line y la validación de la firma. El uso de las librerías suministradas por Redsys es opcional,
si bien simplifican los desarrollos a realizar por el comercio.

4.1.1 Librería PHP

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería PHP
proporcionada por Redsys:

1. Importar el fichero principal de la librería, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:18 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

El comercio debe decidir si la importación desea hacerla con la función “include” o


“required”, según los desarrollos realizados.

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3. Capturar los parámetros de la notificación on-line:

4. Decodificar el parámetro Ds_MerchantParameters. Para llevar a cabo la decodificación de


este parámetro, se debe llamar a la función de la librería “decodeMerchantParameters()”,
tal y como se muestra a continuación:

Una vez se ha realizado la llamada a la función “decodeMerchantParameters()”, se puede


obtener el valor de cualquier parámetro que sea susceptible de incluirse en la notificación
on-line (Anexo 0). Para llevar a cabo la obtención del valor de un parámetro se debe llamar
a la función “getParameter()” de la librería con el nombre de parámetro, tal y como se
muestra a continuación para obtener el código de respuesta:

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el


comercio debe llevar a cabo la validación de la firma recibida y de todos los parámetros
que se envían en la notificación.

5. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:19 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

4.1.2 Librería JAVA

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería JAVA
proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

El comercio debe incluir en la vía de construcción del proyecto todas las librerías(JARs) que
se proporcionan:

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

3. Capturar los parámetros de la notificación on-line:

4. Decodificar el parámetro Ds_MerchantParameters. Para llevar a cabo la decodificación de


este parámetro, se debe llamar a la función de la librería “decodeMerchantParameters()”,
tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:20 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Una vez se ha realizado la llamada a la función “decodeMerchantParameters()”, se puede


obtener el valor de cualquier parámetro que sea susceptible de incluirse en la notificación
on-line (Anexo 0). Para llevar a cabo la obtención del valor de un parámetro se debe llamar
a la función “getParameter()” de la librería con el nombre de parámetro, tal y como se
muestra a continuación para obtener el código de respuesta:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el


comercio debe llevar a cabo la validación de la firma recibida y de todos los parámetros
que se envían en la notificación.

5. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:

4.1.3 Librería .NET

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería .NET
proporcionada por Redsys:

1. Importar la librería RedsysAPI y Newronsoft.Json en su proyecto.

2. Capturar los parámetros de la notificación on-line:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:21 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3. Decodificar el parámetro Ds_MerchantParameters. Para llevar a cabo la decodificación de


este parámetro, se debe llamar a la función de la librería “decodeMerchantParameters()”
que genera la cadena (tipo string) JSON de la respuesta, tal y como se muestra a
continuación:

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el


comercio debe llevar a cabo la validación de la firma recibida y de todos los parámetros que
se envían en la notificación.

4. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:22 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

4.2 Notificación Síncrona SOAP


Las características del servicio SOAP que deben publicar los comercios se describe en el Anexo 8.5.

En este apartado se explica cómo se utilizan las librerías disponibles PHP, JAVA y .NET para facilitar los
desarrollos para la recepción de los parámetros de la notificación on-line(SOAP) y la validación de la firma.
El uso de las librerías suministradas por Redsys es opcional, si bien simplifican los desarrollos a realizar
por el comercio.

4.2.1 Librería PHP

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería PHP
proporcionada por Redsys:

1. Importar el fichero principal de la librería, tal y como se muestra a continuación:

2. El comercio debe decidir si la importación desea hacerla con la función “include” o


“required”, según los desarrollos realizados.

Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

3. Validar la firma que se envía en la notificación. Para llevar a cabo la validación de este
parámetro se debe calcular la firma y compararla con la firma que se envía en la notificación.
Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPRequest()” con la clave obtenida del módulo de
administración y el valor del mensaje recibido en la notificación.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:23 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Una vez hecho esto, el comercio debe capturar el valor de la firma recibida (parámetro
<Signature>) y validar si el valor de esta coincide con el valor de la firma calculada, tal y
como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el


comercio debe llevar a cabo la validación de la firma recibida y de todos los parámetros que
se envían en la notificación.

4. Una vez validada la firma, el comercio debe enviar la respuesta de la notificación. Esta
respuesta está firmada y para llevar a cabo el cálculo de la firma primero se debe capturar
el número de pedido del mensaje recibido en la notificación. Para obtener el número de
pedido se debe llamar a la función de la librería “getOrderNotifSOAP()” con el valor del
mensaje recibido en la notificación.

Una vez obtenido el número de pedido, tan sólo falta calcular la firma que se enviará en la
respuesta. Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPResponse()” con la clave obtenida del módulo de
administración, el valor del mensaje de respuesta y el número de pedido capturado, tal y
como se muestra a continuación:

Por último, se debe formar el mensaje final mediante el mensaje de respuesta y la firma
obtenida, tal y como se describe en el Anexo 8.5.

4.2.2 Librería JAVA

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería
JAVA proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:24 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

2. El comercio debe incluir en la vía de construcción del proyecto todas las librerías(JARs) que
se proporcionan:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

4. Validar la firma que se envía en la notificación. Para llevar a cabo la validación de este
parámetro se debe calcular la firma y compararla con la firma que se envía en la notificación.
Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPRequest()” con la clave obtenida del módulo de
administración y el valor del mensaje recibido en la notificación.

Una vez hecho esto, el comercio debe capturar el valor de la firma recibida (parámetro
<Signature>) y validar si el valor de esta coincide con el valor de la firma calculada, tal y
como se muestra a continuación:

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el


comercio debe llevar a cabo la validación de la firma recibida y de todos los parámetros que
se envían en la notificación.

5. Una vez validada la firma, el comercio debe enviar la respuesta de la notificación. Esta
respuesta está firmada y para llevar a cabo el cálculo de la firma primero se debe capturar
el número de pedido del mensaje recibido en la notificación. Para obtener el número de
pedido se debe llamar a la función de la librería “getOrderNotifSOAP()” con el valor del
mensaje recibido en la notificación.

Una vez obtenido el número de pedido, tan sólo falta calcular la firma que se enviará en la
respuesta. Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPResponse()” con la clave obtenida del módulo de

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:25 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

administración, el valor del mensaje de respuesta y el número de pedido capturado, tal y


como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Por último, se debe formar el mensaje final mediante el mensaje de respuesta y la firma
obtenida, tal y como se describe en el Anexo 8.5.

4.2.3 Librería .NET

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería .NET
proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

2. Validar la firma que se envía en la notificación. Para llevar a cabo la validación de este
parámetro se debe calcular la firma y compararla con la firma que se envía en la notificación.
Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPRequest()” con la clave obtenida del módulo de
administración y el valor del mensaje recibido en la notificación.

3. Una vez hecho esto, el comercio debe capturar el valor de la firma recibida (parámetro
<Signature>) y validar si el valor de esta coincide con el valor de la firma calculada, tal y como
se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:26 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

NOTA IMPORTANTE: Para garantizar la seguridad y el origen de las notificaciones el comercio


debe llevar a cabo la validación de la firma recibida y de todos los parámetros que se envían
en la notificación.

4. Una vez validada la firma, el comercio debe enviar la respuesta de la notificación. Esta
respuesta está firmada y para llevar a cabo el cálculo de la firma primero se debe capturar
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

el número de pedido del mensaje recibido en la notificación. Para obtener el número de


pedido se debe llamar a la función de la librería “getOrderNotifSOAP()” con el valor del
mensaje recibido en la notificación.

Una vez obtenido el número de pedido, tan sólo falta calcular la firma que se enviará en la
respuesta. Para realizar el cálculo de la firma se debe llamar a la función de la librería
“createMerchantSignatureNotifSOAPResponse()” con la clave obtenida del módulo de
administración, el valor del mensaje de respuesta y el número de pedido capturado, tal y
como se muestra a continuación:

Por último, se debe formar el mensaje final mediante el mensaje de respuesta y la firma
obtenida, tal y como se describe en el Anexo 8.5.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:27 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Retorno del control de la navegación

Una vez que el cliente ha realizado el proceso en el TPV Virtual, se redirige la navegación hacia a la tienda
web. Este retorno a la web de la tienda se realiza hacia la URL comunicada como parámetro en la llamada
inicial al TPV Virtual o en su defecto, se obtiene de la configuración del terminal en el módulo de
administración del TPV Virtual. Se pueden disponer de URLs de retorno distintas según el resultado de la
transacción (URL OK y URL KO).
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

El comercio debe capturar y validar, en caso de que la configuración de su comercio así lo requiera
(Parámetro en las URLs = SI), los parámetros del retorno de control de navegación previo a cualquier
ejecución en su servidor.

La utilización de las librerías de ayuda proporcionadas por Redsys para la captura y validación de los
parámetros del retorno de control de navegación, se expone a continuación.

5.1 Utilización de librerías de ayuda


En los apartados anteriores se ha descrito la forma de acceso al SIS utilizando conexión por Redirección.
En este apartado se explica cómo se utilizan las librerías disponibles PHP, JAVA y .NET para facilitar los
desarrollos para la recepción de los parámetros para la recepción de los parámetros del retorno de control
de navegación. El uso de las librerías suministradas por Redsys es opcional, si bien simplifican los
desarrollos a realizar por el comercio.

5.1.1 Librería PHP

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería PHP
proporcionada por Redsys:

1. Importar el fichero principal de la librería, tal y como se muestra a continuación:

El comercio debe decidir si la importación desea hacerla con la función “include” o


“required”, según los desarrollos realizados.

Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

2. Capturar los parámetros de la notificación on-line:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:28 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

3. Decodificar el parámetro Ds_MerchantParameters. Para llevar a cabo la decodificación de


este parámetro, se debe llamar a la función de la librería “decodeMerchantParameters()”,
tal y como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

4. Una vez se ha realizado la llamada a la función “decodeMerchantParameters()”, se puede


obtener el valor de cualquier parámetro que sea susceptible de incluirse en la notificación
on-line (Anexo 0). Para llevar a cabo la obtención del valor de un parámetro se debe llamar
a la función “getParameter()” de la librería con el nombre de parámetro, tal y como se
muestra a continuación para obtener el código de respuesta:

NOTA IMPORTANTE: Es importante llevar a cabo la validación de todos los parámetros que
se envían en la comunicación. Para actualizar el estado del pedido de forma on-line NO debe
usarse esta comunicación, sino la notificación on-line descrita en los otros apartados, ya que
el retorno de la navegación depende de las acciones del cliente en su navegador.

5. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

6. Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:29 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

5.1.2 Librería JAVA


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería JAVA
proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

El comercio debe incluir en la vía de construcción del proyecto todas las librerías(JARs) que
se proporcionan:

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

3. Capturar los parámetros del retorno de control de navegación:

Decodificar el parámetro Ds_MerchantParameters. Para llevar a cabo la decodificación de


este parámetro, se debe llamar a la función de la librería “decodeMerchantParameters()”,
tal y como se muestra a continuación:

Una vez se ha realizado la llamada a la función “decodeMerchantParameters()”, se puede


obtener el valor de cualquier parámetro que sea susceptible de incluirse en la retorno de
control de navegación (Anexo 0). Para llevar a cabo la obtención del valor de un parámetro
se debe llamar a la función “getParameter()” de la librería con el nombre de parámetro, tal
y como se muestra a continuación para obtener el código de respuesta:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:30 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

NOTA IMPORTANTE: Es importante llevar a cabo la validación de todos los parámetros que
se envían en la comunicación. Para actualizar el estado del pedido de forma on-line NO debe
usarse esta comunicación, sino la notificación on-line descrita en los otros apartados, ya que
el retorno de la navegación depende de las acciones del cliente en su navegador.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

4. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:

5.1.3 Librería .NET

A continuación, se presentan los pasos que debe seguir un comercio para la utilización de la librería .NET
proporcionada por Redsys:

1. Importar la librería, tal y como se muestra a continuación:

2. Definir un objeto de la clase principal de la librería, tal y como se muestra a continuación:

3. Capturar los parámetros del retorno de control de navegación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:31 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

NOTA IMPORTANTE: Es importante llevar a cabo la validación de todos los parámetros que
se envían en la comunicación. Para actualizar el estado del pedido de forma on-line NO debe
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

usarse esta comunicación, sino la notificación on-line descrita en los otros apartados, ya que
el retorno de la navegación depende de las acciones del cliente en su navegador.

4. Validar el parámetro Ds_Signature. Para llevar a cabo la validación de este parámetro se


debe calcular la firma y compararla con el parámetro Ds_Signature capturado. Para ello se
debe llamar a la función de la librería “createMerchantSignatureNotif()” con la clave
obtenida del módulo de administración y el parámetro Ds_MerchantParameters capturado,
tal y como se muestra a continuación:

Una vez hecho esto, ya se puede validar si el valor de la firma enviada coincide con el valor
de la firma calculada, tal y como se muestra a continuación:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:32 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Entorno de pruebas

Existe un entorno de test que permite realizar las pruebas necesarias para verificar el correcto
funcionamiento del sistema una vez realizada la integración, antes de hacer la implantación en el entorno
real.

A continuación, se proporcionarán las URL de acceso al portal de administración y la dirección del servicio
para realizar las pruebas. Para obtener los datos de acceso, deberán dirigirse a su entidad bancaria para
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

que ésta les proporcione los datos de acceso.

La URL para el envío de las órdenes de pago es la siguiente:

https://sis-t.redsys.es:25443/sis/realizarPago

Adicionalmente, la URL para el acceso al módulo de administración es la siguiente:

https://sis-t.redsys.es:25443/canales

NOTA: El entorno de pruebas será idéntico al entorno real, con la única diferencia que los pagos realizados
en este entorno no tendrán validez contable.

Desde Redsys se proporcionan unos datos genéricos de prueba para todos los clientes. Como ya se ha
indicado, para obtener los datos de su comercio, deberá contactar con su entidad bancaria.

DATOS GENÉRICOS DE PRUEBA

• Número de comercio (Ds_Merchant_MerchantCode): 999008881

• Terminal (Ds_Merchant_Terminal): 01

• Clave secreta: sq7HjrUOBfKmC576ILgskD5srU870gJ7

• Tarjeta aceptada:

o Numeración: 4548 8120 4940 0004

o Caducidad: 12/20

o Código CVV2: 123

o Para compras seguras, en la que se requiere la autenticación del titular, el código de


autenticación personal (CIP) es 123456.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:33 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

• Tarjeta denegada (Código de Respuesta = 190):

o Numeración: 5576 4400 2278 8500

o Caducidad: 12/20

o Código CVV2: 123

o Para compras seguras, en la que se requiere la autenticación del titular, el código de


autenticación personal (CIP) es 123456.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:34 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Códigos de error

En este apartado se presenta un glosario de los errores que se pueden producir en el proceso de
integración.

El error que se ha producido se puede obtener consultando el código fuente de la página de resultado de
la operación, tal y como se muestra a continuación:
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Página de resultado de la operación

Página de resultado de la operación (código fuente)

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:35 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

7.1 Glosario de errores del SIS

ERROR DESCRIPCIÓN MENSAJE

SIS0007 Error al desmontar el XML de entrada MSG0008

SIS0008 Error falta Ds_Merchant_MerchantCode MSG0008


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0009 Error de formato en Ds_Merchant_MerchantCode MSG0008

SIS0010 Error falta Ds_Merchant_Terminal MSG0008

SIS0011 Error de formato en Ds_Merchant_Terminal MSG0008

SIS0014 Error de formato en Ds_Merchant_Order MSG0008

SIS0015 Error falta Ds_Merchant_Currency MSG0008

SIS0016 Error de formato en Ds_Merchant_Currency MSG0008

SIS0017 Error no se admiten operaciones en pesetas MSG0008

SIS0018 Error falta Ds_Merchant_Amount MSG0008

SIS0019 Error de formato en Ds_Merchant_Amount MSG0008

SIS0020 Error falta Ds_Merchant_MerchantSignature MSG0008

SIS0021 Error la Ds_Merchant_MerchantSignature viene vacía MSG0008

SIS0022 Error de formato en Ds_Merchant_TransactionType MSG0008

SIS0023 Error Ds_Merchant_TransactionType desconocido MSG0008

Error Ds_Merchant_ConsumerLanguage tiene más de 3


SIS0024 MSG0008
posiciones

SIS0025 Error de formato en Ds_Merchant_ConsumerLanguage MSG0008

SIS0026 Error No existe el comercio / terminal enviado MSG0008

Error Moneda enviada por el comercio es diferente a la que


SIS0027 MSG0008
tiene asignada para ese terminal

SIS0028 Error Comercio / terminal está dado de baja MSG0008

Error en un pago con tarjeta ha llegado un tipo de operación


SIS0030 MSG0000
que no es ni pago ni preautorización

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:36 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0031 Método de pago no definido MSG0000

Error en un pago con móvil ha llegado un tipo de operación


SIS0033 MSG0000
que no es ni pago ni preautorización

SIS0034 Error de acceso a la Base de Datos MSG0000


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0037 El número de teléfono no es válido MSG0000

SIS0038 Error en java MSG0000

Error el comercio / terminal no tiene ningún método de


SIS0040 MSG0008
pago asignado

SIS0041 Error en el cálculo de la HASH de datos del comercio. MSG0008

SIS0042 La firma enviada no es correcta MSG0008

SIS0043 Error al realizar la notificación on-line MSG0008

SIS0046 El bin de la tarjeta no está dado de alta MSG0002

SIS0051 Error número de pedido repetido MSG0001

SIS0054 Error no existe operación sobre la que realizar la devolución MSG0008

Error existe más de un pago con el mismo número de


SIS0055 MSG0008
pedido

La operación sobre la que se desea devolver no está


SIS0056 MSG0008
autorizada

SIS0057 El importe a devolver supera el permitido MSG0008

Inconsistencia de datos, en la validación de una


SIS0058 MSG0008
confirmación

Error no existe operación sobre la que realizar la


SIS0059 MSG0008
confirmación

SIS0060 Ya existe una confirmación asociada a la preautorización MSG0008

La preautorización sobre la que se desea confirmar no está


SIS0061 MSG0008
autorizada

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:37 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0062 El importe a confirmar supera el permitido MSG0008

SIS0063 Error. Número de tarjeta no disponible MSG0008

Error. El número de tarjeta no puede tener más de 19


SIS0064 MSG0008
posiciones
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0065 Error. El número de tarjeta no es numérico MSG0008

SIS0066 Error. Mes de caducidad no disponible MSG0008

SIS0067 Error. El mes de la caducidad no es numérico MSG0008

SIS0068 Error. El mes de la caducidad no es válido MSG0008

SIS0069 Error. Año de caducidad no disponible MSG0008

SIS0070 Error. El Año de la caducidad no es numérico MSG0008

SIS0071 Tarjeta caducada MSG0000

SIS0072 Operación no anulable MSG0000

SIS0074 Error falta Ds_Merchant_Order MSG0008

Error el Ds_Merchant_Order tiene menos de 4 posiciones o


SIS0075 MSG0008
más de 12

Error el Ds_Merchant_Order no tiene las cuatro primeras


SIS0076 MSG0008
posiciones numéricas

Error el Ds_Merchant_Order no tiene las cuatro primeras


SIS0077 MSG0000
posiciones numéricas. No se utiliza

SIS0078 Método de pago no disponible MSG0005

SIS0079 Error al realizar el pago con tarjeta MSG0000

SIS0081 La sesión es nueva, se han perdido los datos almacenados MSG0007

SIS0084 El valor de Ds_Merchant_Conciliation es nulo MSG0008

SIS0085 El valor de Ds_Merchant_Conciliation no es numérico MSG0008

SIS0086 El valor de Ds_Merchant_Conciliation no ocupa 6 posiciones MSG0008

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:38 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0089 El valor de Ds_Merchant_ExpiryDate no ocupa 4 posiciones MSG0008

SIS0092 El valor de Ds_Merchant_ExpiryDate es nulo MSG0008

SIS0093 Tarjeta no encontrada en la tabla de rangos MSG0006

SIS0094 La tarjeta no fue autenticada como 3D Secure MSG0004


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0097 Valor del campo Ds_Merchant_CComercio no válido MSG0008

SIS0098 Valor del campo Ds_Merchant_CVentana no válido MSG0008

Error El tipo de transacción especificado en


SIS0112 MSG0008
Ds_Merchant_Transaction_Type no está permitido

SIS0113 Excepción producida en el servlet de operaciones MSG0008

SIS0114 Error, se ha llamado con un GET en lugar de un POST MSG0000

Error no existe operación sobre la que realizar el pago de la


SIS0115 MSG0008
cuota

La operación sobre la que se desea pagar una cuota no es


SIS0116 MSG0008
una operación válida

La operación sobre la que se desea pagar una cuota no está


SIS0117 MSG0008
autorizada

SIS0118 Se ha excedido el importe total de las cuotas MSG0008

SIS0119 Valor del campo Ds_Merchant_DateFrecuency no válido MSG0008

SIS0120 Valor del campo Ds_Merchant_ChargeExpiryDate no válido MSG0008

SIS0121 Valor del campo Ds_Merchant_SumTotal no válido MSG0008

Valor del campo Ds_Merchant_DateFrecuency o no


SIS0122 MSG0008
Ds_Merchant_SumTotal tiene formato incorrecto

SIS0123 Se ha excedido la fecha tope para realizar transacciones MSG0008

No ha transcurrido la frecuencia mínima en un pago


SIS0124 MSG0008
recurrente sucesivo

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:39 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

La fecha de Confirmación de Autorización no puede superar


SIS0132 MSG0008
en más de 7 días a la de Preautorización.

La fecha de Confirmación de Autenticación no puede


SIS0133 MSG0008
superar en más de 45 días a la de Autenticación Previa.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0139 Error el pago recurrente inicial está duplicado MSG0008

SIS0142 Tiempo excedido para el pago MSG0000

Error al obtener los datos de cesta de la compra en


SIS0197 MSG0000
operación tipo pasarela

SIS0198 Error el importe supera el límite permitido para el comercio MSG0000

Error el número de operaciones supera el límite permitido


SIS0199 MSG0008
para el comercio

Error el importe acumulado supera el límite permitido para


SIS0200 MSG0008
el comercio

SIS0214 El comercio no admite devoluciones MSG0008

SIS0216 Error Ds_Merchant_CVV2 tiene más de 3 posiciones MSG0008

SIS0217 Error de formato en Ds_Merchant_CVV2 MSG0008

El comercio no permite operaciones seguras por la entrada


SIS0218 MSG0008
/operaciones

Error el número de operaciones de la tarjeta supera el límite MSG0008


SIS0219
permitido para el comercio

Error el importe acumulado de la tarjeta supera el límite


SIS0220 MSG0008
permitido para el comercio

SIS0221 Error el CVV2 es obligatorio MSG0008

SIS0222 Ya existe una anulación asociada a la preautorización MSG0008

SIS0223 La preautorización que se desea anular no está autorizada MSG0008

El comercio no permite anulaciones por no tener firma


SIS0224 MSG0008
ampliada

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:40 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0225 Error no existe operación sobre la que realizar la anulación MSG0008

SIS0226 Inconsistencia de datos, en la validación de una anulación MSG0008

SIS0227 Valor del campo Ds_Merchant_TransactionDate no válido MSG0008

SIS0229 No existe el código de pago aplazado solicitado MSG0008


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0252 El comercio no permite el envío de tarjeta MSG0008

SIS0253 La tarjeta no cumple el check-digit MSG0006

El número de operaciones de la IP supera el límite permitido


SIS0254 MSG0008
por el comercio

El importe acumulado por la IP supera el límite permitido


SIS0255 MSG0008
por el comercio

SIS0256 El comercio no puede realizar preautorizaciones MSG0008

SIS0257 Esta tarjeta no permite operativa de preautorizaciones MSG0008

Inconsistencia de datos, en la validación de una


SIS0258 MSG0008
confirmación

Operación detenida por superar el control de restricciones


SIS0261 MSG0008
en la entrada al SIS

SIS0270 El comercio no puede realizar autorizaciones en diferido MSG0008

Tipo de operación desconocida o no permitida por esta


SIS0274 MSG0008
entrada al SIS

Error en la versión enviada por el comercio en el parámetro


SIS0429 MSG0008
Ds_SignatureVersion

SIS0430 Error al decodificar el parámetro Ds_MerchantParameters MSG0008

Error del objeto JSON que se envía codificado en el


SIS0431 MSG0008
parámetro Ds_MerchantParameters

SIS0432 Error FUC del comercio erróneo MSG0008

SIS0433 Error Terminal del comercio erróneo MSG0008

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:41 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

Error ausencia de número de pedido en la operación


SIS0434 MSG0008
enviada por el comercio

SIS0435 Error en el cálculo de la firma MSG0008

Error producido al acceder mediante un sistema de firma


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0444 antiguo teniendo configurado el tipo de clave HMAC MSG0008


SHA256

Error, la tarjeta de la operación es DINERS y el comercio no


SIS0448 MSG0008
tiene el método de pago "Pago DINERS"

SIS0452 Método de pago no disponible (Tarjeta 4B) MSG0008

Error, la tarjeta de la operación es JCB y el comercio no tiene


SIS0453 MSG0008
el método de pago "Pago JCB"

Error, la tarjeta de la operación es AMEX y el comercio no


SIS0454 MSG0008
tiene el método de pago "Pago Amex"

SIS0455 Método de pago no disponible MSG0008

SIS0456 Método de pago no seguro (Visa) no disponible MSG0008

SIS0457 Método de pago no seguro (MasterCard) no disponible MSG0008

SIS0458 Método de pago no seguro (MasterCard) no disponible MSG0008

SIS0459 Método de pago no seguro (JCB) no disponible MSG0008

SIS0460 Método de pago no seguro (Amex) no disponible MSG0008

SIS0461 Método de pago no seguro (Amex) no disponible MSG0008

SIS0463 Método de pago no disponible MSG0008

Método de pago no seguro no disponible (MasterCard


SIS0464 MSG0008
Comercial)

SIS0465 Método de pago no seguro no disponible MSG0008

SIS0469 Error, no se ha superado el proceso de control de fraude. MSG0008

SIS0487 Error, el comercio no tiene el método de pago Paygold MSG0008

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:42 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0488 Error, el comercio no tiene el método de pago Pago Manual MSG0008

SIS0489 Operacion MPI Externo no permitida MSG0008

SIS0490 Se reciben parametros MPI Redsys en operacion MPI MSG0008


Externo
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0491 SecLevel no permitido en operacion MPI Externo MSG0008

SIS0492 Se reciben parametros MPI Externo en operacion MPI MSG0008


Redsys

SIS0493 Se reciben parametros de MPI en operacion no segura MSG0008

SIS0494 Firma Obsoleta MSG0008

SIS0495 Configuración incorrecta ApplePay o AndroidPay MSG0008

SIS0496 No tiene dado de alta el método de pago AndroidPay MSG0008

SIS0497 No tiene dado de alta el método de pago ApplePay MSG0008

SIS0498 moneda / importe de la operación de ApplePay no coinciden MSG0008

SIS0499 Error obteniendo claves del comercio en Android/Apple Pay MSG0008

SIS0500 Error en el DCC Dinámico, se ha modificado la tarjeta. MSG0008

SIS0501 Error en La validación de datos enviados para genera el Id MSG0008


operación

SIS0502 Error al validar Id Oper MSG0008

SIS0503 Error al validar el pedido MSG0008

SIS0504 Error al validar tipo de transacción MSG0008

SIS0505 Error al validar moneda MSG0008

SIS0506 Error al validar el importe MSG0008

SIS0507 Id Oper no tiene vigencia MSG0008

SIS0508 Error al validar Id Oper MSG0008

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:43 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0510 No se permite el envío de datos de tarjeta si se envía ID de MSG0008


operación

SIS0511 Error en la respuesta de consulta de BINES MSG0008

SIS0515 El comercio tiene activado pago Amex en Perfil. MSG0008


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0516 Error al montar el mensaje de China Union Pay MSG0008

SIS0517 Error al establecer la clave para China Union Pay MSG0008

SIS0518 Error al grabar los datos para pago China Union Pay MSG0008

SIS0519 Mensaje de autenticación erróneo MSG0008

SIS0520 El mensaje SecurePlus de sesión está vacío MSG0008

SIS0521 El xml de respuesta viene vacío MSG0008

SIS0522 No se han recibido parametros en datosentrada MSG0008

SIS0523 La firma calculada no coincide con la recibida en la MSG0008


respuesta

SIS0524 el resultado de la autenticación 3DSecure MasterCard es MSG0008


PARes="A" o VERes="N" y no recibimos CAVV del emisor

SIS0525 No se puede utilizar la tarjeta privada en este comercio MSG0008

SIS0526 La tarjeta no es china MSG0008

SIS0527 Falta el parametro obligatorio DS_MERCHANT_BUYERID MSG0008

SIS0528 Formato erróneo del parametro DS_MERCHANT_BUYERID MSG0008


en operación Sodexo Brasil

SIS0529 No se permite operación recurrente en pagos con tarjeta MSG0008


Voucher

SIS0530 La fecha de Anulación no puede superar en mas de 7 dias a MSG0008


la de Preautorización.

SIS0531 La fecha de Anulación no puede superar en mas de 72 horas MSG0008


a la de Preautorización diferida

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:44 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ERROR DESCRIPCIÓN MENSAJE

SIS0532 La moneda de la petición no coincide con la devuelta MSG0008

SIS0533 El importe de la petición no coincide con el devuelto MSG0008

SIS0534 No se recibe recaudación emisora o referencia del recibo MSG0008

SIS0535 Pago de tributo fuera de plazo MSG0008


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

SIS0536 Tributo ya pagado MSG0008

SIS0537 Pago de tributo denegado MSG0008

SIS0538 Rechazo en el pago de tributo MSG0008

SIS0539 Error en el envío de SMS MSG0008

SIS0540 El móvil enviado es demasiado largo (más de 12 posiciones) MSG0008

SIS0541 La referencia enviada es demasiada larga (más de 40 MSG0008


posiciones)

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:45 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

ANEXOS

8.1 Datos de la solicitud de pago


En la petición de pago hacia el TPV Virtual SIS se tendrán que enviar una serie de datos obligatorios y otros
opcionales.

Los datos obligatorios para la gestión de la transacción están marcados como tales en la columna
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Comentarios de la tabla siguiente.

Long. /
DATO NOMBRE DEL DATO COMENTARIOS
Tipo

Identificación de 9/N. Obligatorio. Código FUC asignado al


comercio: código Ds_Merchant_MerchantCode comercio.
FUC

Número de 3/N. Obligatorio. Número de terminal que le


terminal Ds_Merchant_Terminal asignará su banco. Tres se considera su
longitud máxima

Tipo de 1 / Num Obligatorio. para el comercio para indicar


transacción qué tipo de transacción es. Los posibles
valores son:

0 – Autorización

1 – Preautorización

2 – Confirmación de preautorización

Ds_Merchant_TransactionType 3 – Devolución Automática

Y – Devolución sin original

7 – Autenticación

8 – Confirmación de Autenticación

9 – Anulación de Preautorización o
Autorización

37 – Abono de Apuestas

F – Paygold

Importe 12 / Núm. Obligatorio. Para Euros las dos últimas


Ds_Merchant_Amount
posiciones se consideran decimales.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:46 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Long. /
DATO NOMBRE DEL DATO COMENTARIOS
Tipo

Moneda 4 / Núm. Obligatorio. Se debe enviar el código


numérico de la moneda según el ISO-
Ds_Merchant_Currency 4217, por ejemplo: 978 euros

El resto de Monedas se incluye en el


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Anexo 8.3

Número de Pedido 12 / A-N. Obligatorio. Se recomienda, por posibles


problemas en el proceso de liquidación,
que los 4 primeros dígitos sean
numéricos. Para los dígitos restantes solo
Ds_Merchant_Order utilizar los siguientes caracteres ASCII

Del 48 = 0 al 57 = 9

Del 65 = A al 90 = Z

Del 97 = a al 122 = z

URL del comercio 250/A-N Obligatorio si el comercio tiene


para la notificación “on-line”. URL del comercio
Ds_Merchant_MerchantURL
notificación “on- que recibirá un post con los datos de la
line” transacción.

Tipos de formas 1 / A-N Opcional. Indica las formas de pago que se


de pago muestran al cliente en el momento de
permitidos realizar el pago. Sus posibles valores son:

“” = Todos los tipos de pago

“C” = Pago con tarjeta

“T” = Pago con tarjeta y Iupay


Ds_Merchant_Paymethods
“z” = Bizum

“P” = Paypal

“R” = Transferencia

“N” = Masterpass

“O” = Iupay

Descripción del 125 / A-N Opcional. 125 se considera su longitud


producto máxima. Este campo se mostrará al titular
Ds_Merchant_ProductDescription
en la pantalla de confirmación de la
compra.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:47 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Long. /
DATO NOMBRE DEL DATO COMENTARIOS
Tipo

Nombre y 60/A-N Opcional. Su longitud máxima es de 60


apellidos del caracteres. Este campo se mostrará al
Ds_Merchant_Titular
titular titular en la pantalla de confirmación de
la compra.
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

URLOK 250/A-N Opcional: si se envía será utilizado como


Ds_Merchant_UrlOK URLOK ignorando el configurado en el
módulo de administración en caso de
tenerlo.

URL KO 250/A-N Opcional: si se envía será utilizado como


Ds_Merchant_UrlKO URLKO ignorando el configurado en el
módulo de administración en caso de
tenerlo

Identificación de 25/A-N Opcional: será el nombre del comercio


comercio: Ds_Merchant_MerchantName que aparecerá en el ticket del cliente
(opcional).

Idioma del titular 3/N. Opcional: el Valor 0, indicará que no se ha


determinado el idioma del cliente
Ds_Merchant_ConsumerLanguage
(opcional). Los valores posibles se
incluyen en el Anexo 0

Datos del 1024 /A-N Opcional para el comercio para ser


comercio incluidos en los datos enviados por la
Ds_Merchant_MerchantData
respuesta “on-line” al comercio si se ha
elegido esta opción.

Fecha de la 10 / A-N Opcional. Formato yyyy-mm-dd.


operación Representa la fecha de la cuota sucesiva,
recurrente necesaria para identificar la transacción
Ds_Merchant_TransactionDate
sucesiva en las devoluciones. Obligatorio en las
devoluciones de cuotas sucesivas y de
cuotas sucesivas diferidas.

Referencia Opcional. Su uso es específico del pago


Ds_Merchant_Identifier 8/N
por Referencia o Pago1-Clic.

Código de grupo Opcional. Su uso es específico del pago


Ds_Merchant_Group 9/N
por Referencia o Pago1-Clic.

Pago sin Opcional. Su uso es específico del pago


Ds_Merchant_DirectPayment 4/N
autenticación por Referencia o Pago1-Clic.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:48 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Long. /
DATO NOMBRE DEL DATO COMENTARIOS
Tipo

Tarjeta Opcional. Tarjeta. Su longitud depende


Ds_Merchant_Pan 19/N
del tipo de tarjeta.

Caducidad Opcional. Caducidad de la tarjeta. Su


formato es AAMM, siendo AA los dos
Ds_Merchant_ExpiryDate 4/N
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

últimos dígitos del año y MM los dos


dígitos del mes.

CVV2 Ds_Merchant_CVV2 3-4/N Opcional. Código CVV2 de la tarjeta.

Código del tributo Opcional. Código de barras del tributo en


a pagar (operativa operativa especial de pago de tributos.
Ds_Merchant_Tax_Reference 100/N
especial de pago
de tributos)

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:49 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.2 Datos de la notificación on-line


La notificación on-line es una comunicación en paralelo y de forma independiente al proceso de
navegación del cliente por el TPV Virtual, mediante la cual se envía al comercio un POST o mensaje SOAP
con los datos del resultado de la operación. Evidentemente, en el lado del servidor del comercio, deberá
haber un proceso que recoja esta respuesta y realice las tareas necesarias para la gestión de los pedidos.
Para ello tendrá que facilitar, como parámetro, una URL donde recibir estas respuestas en el formulario
web que envía al realizar la solicitud de autorización (ver el campo Ds_Merchant_MerchantURL en “Datos
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

del formulario de pago”). Esta URL será un CGI, Servlet, etc. desarrollado en el lenguaje que el comercio
considere adecuado para integrar en su Servidor (C, Java, Perl, PHP, ASP, etc.), capaz de interpretar la
respuesta que le envíe el TPV Virtual.

NOTA: Estos mismos datos se incorporarán en la URL OK (Ds_Merchant_UrlOK) o URL KO


(Ds_Merchant_UrlKO) si el comercio tiene activado el envío de parámetros en la redirección de respuesta.

DATO NOMBRE DEL DATO Long. / Tipo COMENTARIOS

Fecha Ds_Date dd/mm/yyyy Fecha de la transacción

Hora Ds_Hour HH:mm Hora de la transacción

Importe Ds_Amount 12 / Núm. Mismo valor que en la petición.

Mismo valor que en la petición. 4 se


Moneda Ds_Currency 4 / Núm.
considera su longitud máxima.

Número de pedido Ds_Order 12 / A-N. Mismo valor que en la petición.

Identificación de
Ds_MerchantCode 9 / N. Mismo valor que en la petición.
comercio: código FUC

Número de terminal que le asignará su


Terminal Ds_Terminal 3 / Núm. banco. 3 se considera su longitud
máxima.

Valor que indica el resultado de la


operación. Indicará si ha sido autorizada
Código de respuesta Ds_Response 4 / Núm.
o no. Ver tabla siguiente (Posibles valores
del Ds_Response).

Información opcional enviada por el


Datos del comercio Ds_MerchantData 1024 / A-N
comercio en el formulario de pago.

0 – Si el pago NO es seguro
Pago Seguro Ds_SecurePayment 1 / Núm.
1 – Si el pago es seguro

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:50 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

DATO NOMBRE DEL DATO Long. / Tipo COMENTARIOS

Tipo de operación que se envió en el


Tipo de operación Ds_TransactionType 1 / A-N
formulario de pago

Opcional: País de emisión de la tarjeta


con la que se ha intentado realizar el
pago. En el siguiente enlace es posible
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

País del titular Ds_Card_Country 3/Núm consultar los códigos de país y su


correspondencia:

http://unstats.un.org/unsd/methods/m4
9/m49alpha.htm

Opcional: Código alfanumérico de


Código de autorización asignado a la aprobación de
Ds_AuthorisationCode 6/ A-N
autorización la transacción por la institución
autorizadora.

Opcional: El valor 0, indicará que no se ha


determinado el idioma del cliente.
Idioma del titular Ds_ConsumerLanguage 3 / Núm
(opcional). 3 se considera su longitud
máxima.

Opcional: Valores posibles:

Tipo de Tarjeta Ds_Card_Type 1 / A-N C – Crédito

D - Débito

Opcional: No se debe hacer una


validación cerrada sobre estos valores,
pues pueden variar y/o añadise nuevos.
Valores posibles:

1 – VISA

2 –MASTERCARD

8 – AMEX
Marca de Tarjeta Ds_Card_Brand 2 / Núm
9 – JCB

22 – UPI

6 – DINERS

22 – CUP

7 - PRIVADA

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:51 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Estos son los posibles valores del Ds_Response o “Código de respuesta”:

Código Significado

0000 a 0099 Transacción autorizada para pagos y preautorizaciones

900 Transacción autorizada para devoluciones y confirmaciones


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

400 Transacción autorizada para anulaciones

101 Tarjeta caducada

102 Tarjeta en excepción transitoria o bajo sospecha de fraude

106 Intentos de PIN excedidos

125 Tarjeta no efectiva

129 Código de seguridad (CVV2/CVC2) incorrecto

180 Tarjeta ajena al servicio

184 Error en la autenticación del titular

190 Denegación del emisor sin especificar motivo

191 Fecha de caducidad errónea

Tarjeta en excepción transitoria o bajo sospecha de fraude con


202
retirada de tarjeta

904 Comercio no registrado en FUC

909 Error de sistema

913 Pedido repetido

944 Sesión Incorrecta

950 Operación de devolución no permitida

9912/912 Emisor no disponible

9064 Número de posiciones de la tarjeta incorrecto

9078 Tipo de operación no permitida para esa tarjeta

9093 Tarjeta no existente

9094 Rechazo servidores internacionales

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:52 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código Significado

9104 Comercio con “titular seguro” y titular sin clave de compra segura

9218 El comercio no permite op. seguras por entrada /operaciones

9253 Tarjeta no cumple el check-digit

9256 El comercio no puede realizar preautorizaciones


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

9257 Esta tarjeta no permite operativa de preautorizaciones

Operación detenida por superar el control de restricciones en la


9261
entrada al SIS

9915 A petición del usuario se ha cancelado el pago

9997 Se está procesando otra transacción en SIS con la misma tarjeta

9998 Operación en proceso de solicitud de datos de tarjeta

9999 Operación que ha sido redirigida al emisor a autenticar

Este código de respuesta se enviará en la respuesta del Tpv virtual (notificación online o redirección a la
página del comercio). Además, se informará dicho código de respuesta en la consulta de operaciones,
siempre y cuando la operación no está autorizada, tal y como se muestra en la siguiente imagen:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:53 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.3 Código ISO-4217 Monedas

Código ISO Moneda

840 DOLAR U.S.A. USD

826 POUND STERLING GBP

392 YEN JPY


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

32 ARGENTINE AUSTRAL ARP

36 AUSTRALIAN DOLLAR AUD

124 CANADIAN DOLLAR CAD

152 CHILEAN PESO CLP

170 COLOMBIAN PESO COP

188 COSTA RICA COLON CRC

356 INDIAN RUPEE INR

484 MEXICAN PESO MXP

604 PERU INTI PEI

756 SWISS FRANC CHF

858 URUGUAYAN PESO UYP

986 BRAZILIAN REAL BRL

949 TURKISH LIRA TRY

8 LEK ALL

12 ALGERIAN DINAR DZD

24 ANGOLA KWANZA AOK

30 PROBANDO DESA MON

31 AZERBAIJANIAN MANAT AZM

32 ARGENTINE AUSTRAL ARP

36 AUSTRALIAN DOLLAR AUD

44 BAHAMIAN DOLLAR BSD

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:54 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

48 BAHRAINI DINAR BHD

50 TAKA BDT

51 ARMENIAN DRAM AMD

52 BARBADOS DOLLAR BBD


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

60 BERMUDAN DOLLAR BMD

64 NGULTRUM BTN

68 BOLIVIAN PESO BOP

70 DINAR BAD

72 PULA BWP

76 CRUZEIRO BRC

84 BELIZE DOLLAR 084

90 SOLOMON ISLANDS DOLL SBD

96 BRUNEI DOLLAR BND

100 LEV BGL

104 KYAT BUK

108 BURUNDI FRANC BIF

112 BELARUSSIAN RUBLE BYB

116 RIEL KHR

124 CANADIAN DOLLAR CAD

132 CAPE VERDE ESCUDO CVE

136 CAYMAN ISLANDS DOLLA KYD

144 SRI LANKA RUPEE LKR

152 CHILEAN PESO CLP

156 YUAN RENMINBI CNY

157 CHINESE RENMIMBI CNH

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:55 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

158 CHINESE RENMINBI CNX

170 COLOMBIAN PESO COP

174 COMOROS FRANC KMF

180 ZAIRE ZRZ


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

188 COSTA RICA COLON CRC

191 CROATIAN KUNA HRK

192 CUBAN PESO CUP

196 CYPRUS POUND CYP

200 KORUNA CSK

203 CZECH KORUNA CZK

208 DANISH KRONE DKK

214 DOMINICAN PESO DOP

218 SUCRE ECS

222 EL SALVADOR COLON SVC

226 EKWELE GQE

230 ETHIOPIAN BIRR ETB

232 ERITREAN NAKTAN ERN

233 ESTONIAN KROON EEK

238 FALKLAND ISLANDS FKP

242 FIJI DOLLAR FJD

262 DJIBOUTI FRANC DJF

268 GEORGIAN LARI GEL

270 DALASI GMD

278 MARK DER DDR DDM

288 GHANA CEDI GHC

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:56 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

292 GIBRALTAR POUND GIP

320 QUETZAL GTQ

324 SYLI GNS

328 GUYANA DOLLAR GYD


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

332 GOURDE HTG

340 LEMPIRA HNL

344 HONG KONG DOLLAR HKD

348 FORINT HUF

352 ICELAND KRONA ISK

356 INDIAN RUPEE INR

360 RUPIAH IDR

364 IRANIAL RIAL IRR

365 IRANIAN AIRLINE RATE IRA

368 IRAQI DINAR IQD

376 ISRAEL SHEKEL ILS

388 JAMAICAN DOLLAR JMD

392 YEN JPY

398 TENGE KZT

400 JORDANIAN DINAR JOD

404 KENYAN SHILLING KES

408 NORTH KOREAN WON KPW

410 KOREAN WON KRW

414 KUWAITI DINAR KWD

417 KYRGYZSTAN SON KGS

418 KIP LAK

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:57 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

422 LEBANESE POUND LBP

426 LESOTHO LOTI LSM

428 LATVIAN LAT LVL

430 LIBERIAN DOLLAR LRD


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

434 LIBYAN DINAR LYD

440 LITHUANIAN LITAS LTL

446 PATACA MOP

450 MALAGASY FRANC MGF

454 MALAWI KWACHA MWK

458 MALASYAN RINGGIT MYR

462 MALDIVE RUPEE MVR

466 MALI MLF

470 MALTESE LIRA MTL

478 OUGUIYA MRO

480 MAURITIUS RUPEE MUR

484 MEXICAN PESO MXP

496 TUGRIK MNT

498 MOLDOVIAN LEU MDL

504 MORROCAN DIRHAM MAD

508 METICAL MZM

512 RIAL OMANI OMR

516 NAMIBIAN DOLLAR NAD

524 NEPALESE RUPEE NPR

532 NETHERLANDS ANTILLIA ANG

533 ARUBA AWG

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:58 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

536 YUGOSLAVIAN NEW DIAN NTZ

548 VANUATU VATU VUV

554 NEW ZEALAND DOLLAR NZD

556 NAIRA 566


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

558 CORDOBA NIC

566 NAIRA NGN

578 NORWEGIAN KRONE NOK

582 PACIFIC ISLAND PCI

586 PAKISTAN RUPEE PKR

590 BALBOA PAB

598 KINA PGK

600 GUARANI PYG

604 PERU INTI PEI

608 PHILIPPINE PESO PHP

616 ZLOTY PLZ

624 GUINEA

626 TIMOR ESCUDO TPE

634 QATARI RIAL QAR

642 LEU ROL

643 RUSSIAN ROUBLE RUB

646 RWANDA FRANC RWF

654 ST.HELENA POUND SHP

678 DOBRA STD

682 SAUDI RIYAL SAR

690 SEYCHELLES RUPEE SCR

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:59 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

694 LEONE SLL

702 SINGAPORE DOLLAR SGD

703 SLOVAK KORUNA SKK

704 DONG VND


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

705 SLOVENIAN TOLAR SIT

706 SOMALI SHILLING SOS

710 RAND ZAR

716 ZIMBABWE DOLLAR ZWD

720 YEMENI DINAR YDD

728 SOUTH SUDANESE POUND SSP

736 SUDANESE POUND SDP

737 SUDAN AIRLINES SDA

740 SURINAM GUILDER SRG

748 LILANGENI SZL

752 SWEDISH KRONA SEK

756 SWISS FRANC CHF

760 SYRIAN POUND SYP

762 TAJIK RUBLE TJR

764 BAHT THB

776 PA'ANGA TOP

780 TRINIDAD Y TOBAGO DO TTD

784 UAE DIRHAM AED

788 TUNISIAN DINAR TND

792 TURKISH LIRA TRL

793 PSEUDO TURKISH LIRA PTL

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:60 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

795 MANAT TMM

800 UGANDA SHILLING UGS

804 KARBOVANET UAK

807 MACEDONIAN DENAR MKD


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

810 RUSSIAN ROUBLE RUR

818 EGYPTIAN POUND EGP

826 POUND STERLING GBP

834 TANZANIAN SHILLING TZS

840 DOLAR U.S.A. USD

858 URUGUAYAN PESO UYP

860 UZBEKISTAN SUM UZS

862 BOLIVAR VEB

882 TALA WST

886 YEMINI RIAL YER

890 NEW YUGOSLAVIAN DOLL YUD

891 NEW DINAR YUG

894 KWACHA ZMK

901 NEW TAIWAN DOLLAR TWD

934 NEW MANAT TMT

936 GHANA CEDI GHS

941 DINAR SERBIO RSD

943 MOZAMBIQUE METICAL MZN

944 AZERBAIJANIAN MANAT AZN

946 NEW LEU RON

949 TURKISH LIRA TRY

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:61 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código ISO Moneda

950 CFA FRANC BEAC XAF

951 EAST CARIBBEAN DOLLA XCD

952 CFA FRANC BCEAO XOF

953 CFP FRANC XPF


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

954 E.C.U. EUROPEAN CUR XEU

967 KWACHA ZMW

968 SURINAME DOLLAR SRD

969 ARIARY MGA

971 AFGHANISTAN AFGHANI AFN

972 TAJIKISTAN SOMONI TJS

973 KWANZA ANGOLA AOA

974 BELARUSSIAN RUBLE BYR

975 NEW LEV BGN

976 FRANCO DEL CONGO CDF

977 BOSNIAN MARKA BAM

978 EURO EUR

980 HRYVNIA UAH

981 GEORGIAN LARI GEL

985 NEW POLISH ZLOTY PLN

986 BRAZILIAN REAL BRL

991 RAND FINANCIER ZAL

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:62 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.4 Idiomas

Código Idioma

0 Por defecto

1 Español

2 English - Ingles
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

3 Català

4 Français - Frances

5 Deutsch - Aleman

6 Nederlands - Holandes

7 Italiano

8 Svenska - Sueco

9 Português

10 Valencià

11 Polski - Polaco

12 Galego

13 Euskara

100 български език - Bulgaro

156 Chino

191 Hrvatski - Croata

203 Čeština - Checo

208 Dansk - Danes

233 Eesti keel - Estonio

246 Suomi - Finlandes

300 ελληνικά - Griego

348 Magyar - Hungaro

392 Japonés

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:63 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Código Idioma

428 Latviešu valoda - Leton

440 Lietuvių kalba - Lituano

470 Malti - Maltés

642 Română - Rumano


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

643 ру́сский язы́ к – Ruso

703 Slovenský jazyk - Eslovaco

705 Slovenski jezik - Esloveno

792 Türkçe - Turco

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:64 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.5 Notificación SOAP


El servicio SOAP que deben publicar los comercios debe tener las siguientes características:

1. El servicio deberá llamarse ‘InotificacionSIS’ y ofrecer un método llamado


‘procesaNotificacionSIS’. Este método estará definido con un parámetro de entrada tipo
cadena XML y otro parámetro de salida del mismo tipo. Para más información, se adjunta un
fichero WSDL a partir del cual se puede construir el esqueleto del servidor y que servirá para
definir los tipos de datos que se intercambiarán entre cliente y servidor, de cara a facilitar la
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

comunicación.

2. El formato de los mensajes que se intercambiarán en este servicio deberá ajustarse a las
siguientes DTD:

Petición:
<!ELEMENT Message (Request, Signature)>

<!ELEMENT Request (Fecha, Hora, Ds_SecurePayment, Ds_Amount, Ds_Currency, Ds_Order, Ds_MerchantCode, Ds_Terminal,
Ds_Response, Ds_MerchantData?, Ds_Card_Type?, DS_Card_Type?, Ds_TransactionType, Ds_ConsumerLanguage,
Ds_ErrorCode?, Ds_CardCountry?, Ds_AuthorisationCode?)>

<!ATTLIST Request Ds_Version CDATA #REQUIRED>

<!ELEMENT Fecha (#PCDATA)>

<!ELEMENT Hora (#PCDATA)>

<!ELEMENT Ds_SecurePayment (#PCDATA)>

<!ELEMENT Ds_Amount (#PCDATA)>

<!ELEMENT Ds_Currency (#PCDATA)>

<!ELEMENT Ds_Order (#PCDATA)>

<!ELEMENT Ds_MerchantCode (#PCDATA)>

<!ELEMENT Ds_Terminal (#PCDATA)>

<!ELEMENT Ds_Response (#PCDATA)>

<!ELEMENT Ds_MerchantData (#PCDATA)>

<!ELEMENT Ds_Card_Type (#PCDATA)>

<!ELEMENT Ds_TransactionType (#PCDATA)>

<!ELEMENT Ds_ConsumerLanguage (#PCDATA)>

<!ELEMENT Ds_ErrorCode (#PCDATA)>

<!ELEMENT Ds_CardCountry (#PCDATA)>

<!ELEMENT Ds_AuthorisationCode (#PCDATA)>

<!ELEMENT Signature (#PCDATA)>

<!ELEMENT DS_Card_Type (#PCDATA)>

Respuesta:
<!ELEMENT Message (Response, Signature)>

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:65 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

<!ELEMENT Response (Ds_Response_Merchant)>

<!ATTLIST Response Ds_Version CDATA #REQUIRED>

<!ELEMENT Ds_Response_Merchant (#PCDATA)>

<!ELEMENT Signature (#PCDATA)>

Un ejemplo del Mensaje de notificación de envío y respuesta son los siguientes:

Petición:
<Message>
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

<Request Ds_Version="0.0">

<Fecha>01/04/2003</Fecha>

<Hora>16:57</Hora>

<Ds_SecurePayment>1</Ds_SecurePayment>

<Ds_Amount>345</Ds_Amount>

<Ds_Currency>978</Ds_Currency>

<Ds_Order>165446</Ds_Order>

<Ds_Card_Type>C</Ds_ Card_Type >

<Ds_MerchantCode>999008881</Ds_MerchantCode>

<Ds_Terminal>001</Ds_Terminal>

<Ds_Card_Country>724</Ds_Card_Country>

<Ds_Response>0000</Ds_Response>

<Ds_MerchantData>Alfombrilla para raton</Ds_MerchantData>

<Ds_TransactionType>1</Ds_TransactionType>

<Ds_ConsumerLanguage>1</Ds_ConsumerLanguage>

</Request>

<Signature>I3gacbQMEvUYN59YiHkiml-crEMwFAeogI1jlLBDFiw=</Signature>

</Message>

Respuesta:
<Message>

<Response Ds_Version="0.0">

<Ds_Response_Merchant>OK</Ds_Response_Merchant>

</Response>

<Signature>d/VtqOzNlds9MTL/QO12TvGDNT+yTfawFlg55ZcjX9Q=</Signature>

</Message>

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:66 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.5.1 WSDL de Notificación SOAP con WSDL

A continuación, se adjunta un ejemplo de WSDL de este tipo de notificación:

<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="/WebServiceSIS"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="/WebServiceSIS">
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

<types>

<xsd:schema targetNamespace="/WebServiceSIS">

<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>

</xsd:schema>

</types>

<message name="procesaNotificacionSISRequest">

<part name="XML" type="xsd:string"/>

</message>

<message name="procesaNotificacionSISResponse">

<part name="return" type="xsd:string"/>

</message>

<portType name="procesaNotificacionSISPortType">

<operation name="procesaNotificacionSIS">

<input message="tns:procesaNotificacionSISRequest"/>

<output message="tns:procesaNotificacionSISResponse"/>

</operation>

</portType>

<binding name="procesaNotificacionSISBinding" type="tns:procesaNotificacionSISPortType">

<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="procesaNotificacionSIS">

<soap:operation soapAction="https://ejemploSoap/soap/InotificacionSIS.php/procesaNotificacionSIS"
style="rpc"/>

<input>

<soap:body use="encoded" namespace="/WebServiceSIS"


encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:67 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

</input>

<output>

<soap:body use="encoded" namespace="/WebServiceSIS"


encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</output>

</operation>
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

</binding>

<service name="procesaNotificacionSIS">

<port name="procesaNotificacionSISPort" binding="tns:procesaNotificacionSISBinding">

<soap:address location="https://ejemploSoap/soap/InotificacionSIS.php"/>

</port>

</service>

</definitions>

8.5.2 WSDL de Notificación SOAP estilo document/literal

<wsdl:definitions xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://notificador.webservice.sis.redsys.es"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="RedClsNotificacionSISService" targetNamespace="http://notificador.webservice.sis.redsys.es">

<wsdl:types>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://notificador.webservice.sis.redsys.es" version="1.0">

<xs:element name="notificacion">

<xs:complexType>

<xs:sequence>

<xs:element form="qualified" name="datoEntrada" nillable="true" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="notificacionResponse">

<xs:complexType>

<xs:sequence>

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:68 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

<xs:element form="qualified" name="notificacionReturn" nillable="true" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

</wsdl:types>
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

<wsdl:message name="procesaNotificacionSIS">

<wsdl:part element="tns:notificacion" name="parameters"> </wsdl:part>

</wsdl:message>

<wsdl:message name="procesaNotificacionSISResponse">

<wsdl:part element="tns:notificacionResponse" name="parameters"> </wsdl:part>

</wsdl:message>

<wsdl:portType name="RedClsNotificacionSIS">

<wsdl:operation name="procesaNotificacionSIS">

<wsdl:input message="tns:procesaNotificacionSIS" name="procesaNotificacionSIS"> </wsdl:input>

<wsdl:output message="tns:procesaNotificacionSISResponse"
name="procesaNotificacionSISResponse"> </wsdl:output>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="RedClsNotificacionSISServiceSoapBinding" type="tns:RedClsNotificacionSIS">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="procesaNotificacionSIS">

<soap:operation soapAction="" style="document"/>

<wsdl:input name="procesaNotificacionSIS">

<soap:body use="literal"/>

</wsdl:input>

<wsdl:output name="procesaNotificacionSISResponse">

<soap:body use="literal"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="RedClsNotificacionSISService">

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:69 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

<wsdl:port binding="tns:RedClsNotificacionSISServiceSoapBinding" name="RedClsNotificacionSISPort">

<soap:address location="https://ejemploSoap/services/redsys/RedClsNotificacionSISPort"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:70 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

8.6 Reintentos de pago


La opción de reintentar el pago ofrece al titular la posibilidad de intentar realizar el pago, con otra tarjeta
o con otro método de pago, cuando la operación ha sido denegada por el emisor o por error en la
autenticación del titular (Error = 184). No se ofrecerá al titular esta opción de reintento del pago, en caso
de que la operación se deniegue por aplicación de reglas de fraude, por un error técnico en el proceso de
autenticación o por cualquier otro tipo de error.

Para que al cliente le aparezca esta opción, el comercio debe tener una configuración específica en el
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Módulo de Administración del TPV-Virtual (Permitir Repetir Pedido = SI, con reintentos) y cumplir los
siguientes requisitos:

• El comercio debe ser capaz de recibir varias notificaciones asociadas al mismo número de pedido
y sólo tener en cuenta la primera notificación que identifique que la operación está autorizada,
o en caso de no recibir ninguna notificación de operación autorizada, deberá tener en cuenta la
última notificación que reciba sobre el número de pedido en cuestión.

• Actualmente la opción de reintentar no es compatible con los módulos de pago facilitados por
Redsys para las tiendas virtuales de Prestashop, Magento, etc. En módulos de pago externos a
Redsys esta opción podría no funcionar adecuadamente, provocando un error en la actualización
de los pedidos en la tienda virtual.

En la siguiente imagen se muestra un ejemplo del recibo que se muestra al cliente, en el que se le ofrece
la opción de reintentar:

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:71 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Errores frecuentes

No recibo la respuesta “on-line” de las compras con el TPV Virtual

El TPV Virtual enviará la notificación a la dirección que el comercio haya enviado en el campo
Ds_Merchant_MerchantURL de la petición de pago.

En la pestaña “Notificaciones” pueden consultarse todas las notificaciones que se han enviado al
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

comercio, tanto las aceptadas como aquellas en los que el servidor del comercio haya devuelto un error.

Puesto que la respuesta de los servidores sigue un protocolo internacional, el significado concreto de los
errores genéricos puede consultarse en multitud de páginas de internet. Por ejemplo:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Si el comercio no es capaz de instalarse correctamente un servidor que le permita recibir las notificaciones
HTTP y desea solicitar consultoría directa y personalizada, debe ponerse en contacto con su entidad.

No recibo el email de confirmación de las compras con el TPV Virtual.

Ocurre con frecuencia que las notificaciones que envía TPV Virtual sí que llegan al comercio, pero entran
en la bandeja de Correo No Deseado. Se debe revisar esta bandeja.

No recibo los parámetros con el resultado de las operaciones de la compra en mis URLs de OK y KO.

Las URL OK y KO nunca deben utilizarse para recibir los parámetros con el resultado de las operaciones.
Son URL’s que deben utilizarse únicamente para redirigir del titular a la web del comercio con fines
comerciales o para que el comercio muestre el recibo al titular, si está configurado para ello.

Error de firma

Cuando hay un error de firma el comercio ha de verificar:

• Que los datos que se han utilizado para hacer la firma son iguales a los que se envían en el
formulario, teniendo en cuenta, que cualquier modificación del valor o formato de un campo
posterior al cálculo de la firma, hace que ésta sea incorrecta.

• Que la clave secreta empleada por el comercio coincide con la clave que tiene cargada el
comercio en el módulo de administración (apartado comercios).

• Se debe revisar que los comercios no están enviando espacios en blanco en la firma. Si la petición
se hace mediante cURL o mediante el navegador Safari, puede que se conviertan los símbolos
“+” en espacio en blanco. Para que esto no ocurra se deben sustituir los símbolos “+” de la firma
por “%2B” (Valor URL encoded).

• Si el comercio no consigue localizar qué parámetro es el erróneo, debe contactar con el Centro
de Atención al Cliente de Redsys, o con el departamento de Soporte a la Integración de Redsys,
si su entidad le ha facilitado el contacto.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:72 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Tengo en mi comercio denegaciones por número de repetido, pero no tengo constancia de haberlos
repetido.

Esto ocurre habitualmente porque la plataforma del comercio está generando números de pedido
repetido únicamente cuando recibe denegaciones o autorizaciones, pero los está repitiendo cuando las
transacciones se quedan a medias. Ante esto hay dos opciones:

• Solicitar al servicio de Soporte que el TPV se configure para que pueda repetir números de
La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

pedidos. Máximo de una operación autorizada al día y sin límite para las denegadas.

• Generar siempre números de pedido distintos, no solo para las operaciones autorizadas y
denegadas, sino para aquellas que no hayan finalizado trascurrido un tiempo.

Necesito hacer una devolución de una operación, pero no me aparece la opción de devolución en el
módulo de administración.

Se debe a que el usuario con el que se está accediendo a Canales no tiene permiso para hacer
devoluciones. Si necesita este permiso debe ponerse en contacto con su entidad.

TPV-Virtual Manual de Integración - Redirección


Referencia: RS.TE.CEL.MAN.0028 Versión: 1.5
Autor: Redsys Página:73 de 73
Área propietaria: Comercio Electrónico Fecha: 29/01/2019

Preguntas Frecuentes

Soy un comercio y necesito conocer la clave de encriptación de mi TPV Virtual

Para ver la clave del TPV Virtual hay que seguir los siguientes pasos:

Acceda a su módulo de administración de su TPV virtual.

Seleccione la opción "comercio" y pulse “ver clave”


La propiedad intelectual de este documento pertenece a Redsys. Queda prohibida su reproducción, venta o cesión a terceros.

Introduzca su contraseña de su usuario del TPV virtual y pulse aceptar. -Tendrá acceso a ver la clave del
comercio durante 10 segundos.

Mi usuario de comercio de acceso al módulo de administración del Canales está bloqueado. ¿Cómo
puedo desbloquearlo?

Bajo las casillas de usuario y contraseña existe un link de “He olvidado mi contraseña”. Tras pulsarlo
deberá escribir su usuario y confirmar la dirección de envío de la nueva contraseña.

Quiero modificar las URLs de OK y KO de mi comercio.

Las URLs de OK y KO son unas direcciones de Internet definidas por el comercio, a las que es posible
redirigir al titular una vez aparece la pantalla del recibo de la compra. Existen dos formas de definir estas
URLs:

• Si están configuradas en la herramienta de administración.

• Si las envía el comercio en el formulario de pago en los campos Ds_Merchant_UrlOK y


Ds_Merchant_UrlKO, será el propio comercio el que deberá modificarlas en el formulario de
pago que envía.

TPV-Virtual Manual de Integración - Redirección

También podría gustarte