Descripción general del flujo

 

El siguiente esquema presenta el flujo general de una operación realizada con el TPV Virtual:

1. El titular selecciona los productos que desea comprar en el comercio.
2. El comercio redirige la sesión 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 sesión del navegador del cliente al comercio para que continúe navegando en su tienda web.

 

 

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.
  • 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:

  • Entorno de pruebas: https://sis-t.redsys.es:25443/sis/reali­zarPago
  • Entorno real: https://sis.redsys.es/sis/realizarPago

 

 

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

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.

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.

 

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

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.