DESARROLLADORES

Aquí encontrarás todo lo necesario para integrar nuestra pasarela de pago de forma rápida y sencilla

Selecciona la opción a consultar:

PAGO 1-CLICK O TOKENIZACIÖN

Introducción

El pago 1-Click proporciona al comercio grandes posibilidades para la realización de los pagos en su tienda web. Con este tipo de operación, el comercio no tendrá que almacenar los datos de tarjeta de sus clientes para poder realizar pagos posteriores. De éste modo, Redsys genera una referencia asociada (Token) a la tarjeta y amacenará todos los datos necesarios para posteriores operaciones. En futuros pagos, el comercio solo deberá indicar la referencia generada para realizar el pago, sin necesidad de enviar los datos de tarjeta.

Descripción general del flujo

Los pasos a seguir en el primer pago mediante pago 1-Click son los siguientes:

  1. El comercio solicita un pago al SIS, junto con los datos necesarios para el pago, se envía un nuevo parámetro para solicitar la generación de una “referencia” asociada a los datos de tarjeta. Esta petición se puede realizar por cualquiera de las actuales llamadas al SIS (realizarPago, operaciones o WebService).

  2. Si el comercio no ha enviado la tarjeta, el SIS se encargará de solicitarla junto con el dato de caducidad y CVV2.

  3. El SIS procesa la solicitud de pago y almacena los datos de tarjeta (sólo Tarjeta y Caducidad, nunca CVV2) asociados a una referencia generada internamente. Sólo se generará la referencia si el pago es autorizado.

  4. El SIS devuelve la referencia y la fecha de caducidad (aunque el comercio no esté configurado para ello) junto con la respuesta del pago para que el comercio pueda utilizarla con posterioridad. Dependiendo del tipo de conexión utilizado por el comercio, la referencia se devolverá por los siguientes medios:

    • realizarPago: se devolverá la referencia y la fecha de caducidad en la notificación On-Line y en la URL OK.

    • operaciones y webService: se devolverá la referencia y la fecha de caducidad en la respuesta de las operaciones autorizadas.

Los pasos a seguir una vez el comercio ha obtenido la referencia:

  1. Nuevo pago: el comercio solicita un pago al SIS y para ello envía una referencia. También podría solicitar otro tipo de operación, por ejemplo preautorización. Opcionalmente el comercio también podrá indicar si quiere mostrar o no pantallas adicionales (DCC, Fraccionamiento y Autenticación).

  2. El comercio puede utilizar cualquier entrada de las actuales al SIS (realizarPago, operaciones o WebService).

  3. El SIS valida la referencia asociada al comercio y recupera los datos de tarjeta.

  4. Una vez que ha localizado los datos de la tarjeta, el SIS procede a realizar el pago. En caso de que se haya indicado que no se muestren pantallas, el pago se realizará sin mostrar las pantallas de DCC ni de fraccionamiento y sin usar ningún método de pago seguro. La fecha de caducidad sólo se incluye en la respuesta si el comercio está configurado para ello(*).

    (*) Si se indica que no se deben mostrar pantallas, el comercio debe estar configurado para permitir pagos tradicionales.

Consideraciones a tener en cuenta

Para que un comercio utilice esta operativa debe tener en cuenta las siguientes restricciones:

  • La entidad debe configurar el comercio con los permisos necesarios.

  • El número de referencia se asociará también al número de comercio que ha realizado la solicitud. Si el comercio desea que esta referencia pueda ser usada por otros comercios, estos deberán estar configurados formando un grupo.

  • Los datos de la tarjeta se mantendrán almacenados hasta la fecha de validez de su caducidad. En ese momento la referencia pasará a ser inválida.

  • La caducidad de la tarjeta será devuelta con cada nueva referencia generada.

  • Sólo se podrán indicar que no se muestren pantallas en el caso de que se use una referencia válida. Cuando se pide generar una nueva referencia y en cualquier otro caso, no se puede indicar que no se muestren pantallas.

  • Para generar una referencia, el SIS validará que el comercio tenga permisos para ello y que el pago en el que se solicita sea autorizado. También se permitirá hacer operaciones de importe 0.

  • Las operaciones no requieren autenticación del titular, pero se solicitará autenticación si el comercio está configurado para ello.

  • Cuando se indique que no se muestren pantallas (parámetro Ds_Merchant_DirectPayment=true), no se autenticarán las operaciones aunque el comercio esté configurado para ello. En este caso, se realizará el pago sin tener en cuenta los métodos de pago seguro que pueda tener configurado el comercio. Si se activa este parámetro, el comercio debe estar configurado para permitir pago tradicional.

Modelos de utilización

Esta operativa es muy flexible por lo que cada comercio puede adaptarla a las necesidades de su negocio, no obstante en este punto se describen los tres principales modelos de integración.

Captura de la tarjeta en primera operación, resto de operaciones sin autenticar

En este escenario el comercio realiza dos integraciones diferentes con el TPV virtual y es posiblemente el modo más habitual de utilización.

Cuando un titular realiza la primera compra en el comercio, procede a registrarse proporcionando sus datos de identificación. En ese momento el comercio lanza una solicitud de pago al SIS por la entrada “realizarPago”. Esta entrada permite que el SIS capture los datos de la tarjeta y la autenticación del titular en función de la configuración del comercio. Como resultado de este primer pago, el SIS almacena la tarjeta y devuelve la referencia que deberá ser almacenada por el comercio.

Para posteriores pagos el comercio identifica al titular en su sistema y envía la referencia para realizar la solicitud de pago en el SIS. Si en este segundo pago no se desea autenticar al titular, se recomienda utilizar la conexión WebService con el parámetro Ds_Merchant_DirectPayment=true. El comercio debe estar configurado adecuadamente para realizar esta operativa.

Este esquema también es el ideal para comercios que realicen pagos recurrentes o subscripciones.

NOTA: La entrada “realizarPago” está diseñada para la interacción con el navegador del titular. Si el comercio quiere realizar una petición directa debe utilizar la entrada WebService.

Posibilidad de autenticación en todas las operaciones

En este escenario el comercio debe integrarse con el SIS utilizando la entrada “realizarPago” para todas las peticiones.

La primera operación se realiza de modo similar al descrito en la Opción 1.

Para posteriores pagos el comercio identifica al titular en su sistema y envía la referencia para realizar la solicitud de pago en el SIS. En el momento que el SIS detecta la referencia recupera los datos de tarjeta y solicita la autenticación del titular continuando con el pago.

En este escenario se evita que el titular deba introducir de nuevo los datos de tarjeta, aunque sigue siendo necesaria su presencia activa en la realización de todos los pagos.

Esta forma de conexión también es válida para aquellos comercios que sólo quieran autenticar a algunos de sus titulares (se recomienda utilizar el parámetro Ds_Marchant_DirectPayment=true). También se puede combinar con la utilización de la integración WebService para algunas operaciones.

NOTA: es muy importante identificar el modo de funcionamiento que desea realizar el comercio para poder adaptar la configuración que necesita.

Comercios con envío de tarjeta en la primera operación

Aunque el pago por referencia se ha diseñado especialmente para que el comercio no deba tratar en ningún momento con los datos de tarjeta. También existe la posibilidad de que un comercio envíe la tarjeta en la primera operación con integración WebService, en función de sus necesidades.

El SIS almacenará la información de la tarjeta en nombre del comercio de forma que para pagos posteriores no sea necesario que el comercio solicite los datos de la tarjeta de nuevo ni que la almacene en sus sistemas con las consiguientes implicaciones de PCI-DSS.

NOTA: Desde el momento que el comercio maneja la tarjeta en la primera operación ya se ve afectado por PCI-DSS, pero en menor grado que si las almacenase en sus instalaciones.

Parametrización

Se han definido nuevos parámetros para esta operativa que deberá utilizar el comercio en las peticiones y considerar en las respuestas del TPV Virtual. A continuación se describen los nuevos parámetros definidos. El resto de parámetros necesarios para un pago no varía con respecto a un pago normal.

  • Ds_Merchant_Identifier:

    Este parámetro se utilizará para manejar la referencia asociada a los datos de tarjeta. Es un campo alfanumérico de un máximo de 40 posiciones cuyo valor es generado por el TPV virtual.

    1ª Petición: en la primera petición para que el comercio solicite la generación de una nueva referencia debe enviar el valor “REQUIRED”. El SIS devolverá la referencia generada asociada a la tarjeta en un parámetro con ente mismo nombre. Además el SIS devolverá siempre la fecha de caducidad, que irá en el parámetro Ds_ExpiryDate. Como ya hemos indicado anteriormente ambos parámetros se devolverán en la Notificación on-line, URL OK o respuesta a WebService dependiendo de la conexión utilizada por el comercio.

    2ª Petición y sucesivas: el comercio deberá enviar la referencia en el parámetro Ds_Merchant_Identifier y no facilitar datos de tarjeta. La fecha de caducidad sólo se incluirá en la respuesta si el comercio está configurado para ello.

  • Ds_Merchant_Group:

    Este parámetro permite asociar una referencia a un conjunto de comercios. Es un parámetro opcional numérico de un máximo de 9 posiciones. Si se utiliza este parámetro, la referencia estará asociada al código de grupo en lugar de al código de comercio.

    El grupo de comercios debe estar previamente definido en el SIS.

    Si una referencia se asocia a un grupo de comercios, posteriormente la podrán utilizar cada uno de los comercios de forma individual.

  • Ds_Merchant_DirectPayment:

  • Este parámetro es opcional, funciona como un flag que indica si hay que mostrar pantallas adicionales (DCC, Fraccionamiento y Autenticación) que tan sólo puede tomar los valores “true” o “false”. Si se utiliza con el valor “true”, no se mostrarán pantallas adicionales (DCC, Fraccionamiento y Autenticación) durante el pago y se debe utilizar conjuntamente con el parámetro Ds_Merchant_Identifier conteniendo una referencia válida. Si no se utiliza o se utiliza con el valor de “false”, el pago se hará de manera normal y se mostrarán todas las pantallas adicionales (DCC, Fraccionamiento y Autenticación) que se requieran dependiendo de la configuración del comercio.

    IMPORTANTE: si se envia este parámetro, el comercio debe estar configurado para permitir pago tradicional

    NOTA: si quieren la realización de pagos sin autenticación, se recomienda la utilización del tipo de operación “A” en lugar de incluir este parámetro.

Ejemplos de utilización

A continuación se incluyen varios ejemplos basados en un comercio que utilice este tipo de operativa.

Ejemplo 1: Pago con petición de nueva referencia

Se hace un pago y se añade el parámetro Ds_Merchant_Identifier con el valor REQUIRED para que se genere una referencia nueva y se devuelva en la notificación junto con la fecha de caducidad. La referencia estará asociada al comercio indicado por el parámetro Ds_Merchant_MerchantCode.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_Currency>978</Ds_Merchant_Currency>
<Ds_Merchant_TransactionType>0</Ds_Merchant_TransactionType>
<Ds_Merchant_Amount>100</Ds_Merchant_Amount>
<Ds_Merchant_Order>112545</Ds_Merchant_Order>
<Ds_Merchant_Identifier>REQUIRED</Ds_Merchant_Identifier>
<Ds_Merchant_MerchantURL>www.urldenotificaciondelcomercio.es</Ds_Merchant_MerchantURL>
						
					

Respuesta en notificación on-line:

Si la operación es autorizada, la notificación On-Line y la URL OK incluirán los nuevos parámetros con el valor de la referencia generada y la caducidad de la tarjeta a modo de caducidad de la referencia.

Un ejemplo de referencia y caducidad sería el siguiente:

						
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>
<Ds_ExpiryDate>1412</Ds_ExpiryDate>
						
					

Ejemplo 2: Pago con referencia

Se hace un pago y se añade el parámetro Ds_Merchant_Identifier con el valor de la referencia a utilizar. En este caso, se podría usarse el parámetro Ds_Merchant_DirectPayment con valor ‘true’ y el comportamiento sería el mismo.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_Currency>978</Ds_Merchant_Currency>
<Ds_Merchant_TransactionType>0</Ds_Merchant_TransactionType>
<Ds_Merchant_Amount>100</Ds_Merchant_Amount>
<Ds_Merchant_Order>112546</Ds_Merchant_Order>
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>
<Ds_Merchant_MerchantURL>www.urldenotificaciondelcomercio.es</Ds_Merchant_MerchantURL>
						
					

Ejemplo 3: Pago con petición de nueva referencia y código de grupo

Se hace un pago y se añade el parámetro Ds_Merchant_Identifier con el valor REQUIRED para que se genere una referencia nueva y se devuelva en la notificación junto con la fecha de caducidad. La referencia estará asociada al grupo de comercios que se indique en el campo Ds_Merchant_Group.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_Currency>978</Ds_Merchant_Currency>
<Ds_Merchant_TransactionType>0</Ds_Merchant_TransactionType>
<Ds_Merchant_Amount>100</Ds_Merchant_Amount>
<Ds_Merchant_Order>112545</Ds_Merchant_Order>
<Ds_Merchant_Identifier>REQUIRED</Ds_Merchant_Identifier>
<Ds_Merchant_Group>777888991</Ds_Merchant_Group>
<Ds_Merchant_MerchantURL>www.urldenotificaciondelcomercio.es</Ds_Merchant_MerchantURL>
						
					

Respuesta en notificación on-line

Si la operación es autorizada, la notificación On-Line y la URL OK incluirán los nuevos parámetros con el valor de la referencia generada y la caducidad de la tarjeta a modo de caducidad de la referencia. El resto de los campos de la notificación no varían.

Un ejemplo de referencia sería el siguiente:

						
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>
<Ds_ExpiryDate>1412</Ds_ExpiryDate>
						
					

Ejemplo 4: Pago con referencia asociada a un grupo

Se hace un pago y se añade el parámetro Ds_Merchant_Identifier con el valor de la referencia a utilizar y el campo Ds_Merchant_Group con el ID de grupo. En este caso, se podría usarse el parámetro Ds_Merchant_DirectPayment con valor ‘true’ y el comportamiento sería el mismo.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_Currency>978</Ds_Merchant_Currency>
<Ds_Merchant_TransactionType>0</Ds_Merchant_TransactionType>
<Ds_Merchant_Amount>100</Ds_Merchant_Amount>
<Ds_Merchant_Order>112545</Ds_Merchant_Order>
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>
<Ds_Merchant_Group>777888991</Ds_Merchant_Group>
<Ds_Merchant_MerchantURL>www.urldenotificaciondelcomercio.es</Ds_Merchant_MerchantURL>
						
					

Ejemplo 5: Pago con referencia y flag para no mostrar pantallas

Se hace un pago y se añaden los parámetros Ds_Merchant_Identifier con el valor de la referencia a utilizar y Ds_Merchant_DirectPayment con el valor “true”.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_Currency>978</Ds_Merchant_Currency>
<Ds_Merchant_TransactionType>0</Ds_Merchant_TransactionType>
<Ds_Merchant_Amount>100</Ds_Merchant_Amount>
<Ds_Merchant_Order>112545</Ds_Merchant_Order>
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>
<Ds_Merchant_MerchantURL>www.urldenotificaciondelcomercio.es</Ds_Merchant_MerchantURL>
<Ds_Merchant_DirectPayment>true</Ds_Merchant_DirectPayment>
						
					

Ejemplo 6: Borrado de referencia generada

Se hace una operación donde se indican los parámetros Ds_Merchant_Identifier con el valor de la referencia a borrar y Ds_Merchant_TransactionType con el valor 44.

Datos a enviar en la petición:

						
<Ds_Merchant_MerchantCode>999008881</Ds_Merchant_MerchantCode>
<Ds_Merchant_Terminal>1</Ds_Merchant_Terminal>
<Ds_Merchant_TransactionType>44</Ds_Merchant_TransactionType>
<Ds_Merchant_Order>891123</Ds_Merchant_Order>
<Ds_Merchant_Identifier>a091f0f9f0aaf0506930dda4a6974f1df4a0d9c1</Ds_Merchant_Identifier>