Pago 1-Click
El pago 1-Click proporciona al comercio grandes posibilidades para la realización de los pagos en su tienda web. En el caso que el comercio tenga muchos clientes recurrentes, registrados en su web y desee hacer más sencillos y rápidos los futuros pagos de esos clientes a los que ya conoce y han operado al menos una vez, existe la opción de pago 1-click usando pago por tokenización, de esta forma, el titular no tiene que volver a incluir sus datos de tarjeta en próximas compras.
Funcionamiento
Para realizar un pago mediante 1-click, el comercio debe haber obtenido la referencia asociada a la tarjeta:
- El comercio solicita un pago y envía la 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).
- Redsys valida la referencia asociada al comercio y recupera los datos de tarjeta.
- Una vez que ha localizado los datos de la tarjeta, se 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.
Consideraciones
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.
Parámetros
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.
-
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” en el parámetro. 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 en la respuesta a la Interfaz REST, dependiendo de la integración utilizada por el comercio.
- 2ª Petición y sucesivas: El comercio deberá enviar la referencia generada en el paso anterior como valor del parámetro Ds_Merchant_Identifier sin facilitar datos de tarjeta. La fecha de caducidad sólo se incluirá en la respuesta si el comercio está configurado para ello.
-
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
Generacion de referencia
Se realiza un pago con los datos de tarjeta y se añade el parámetro Ds_Merchant_Identifier con el valor REQUIRED para que se genere una referencia nueva y se devuelva el valor junto con la fecha de caducidad. La referencia estará asociada al comercio indicado por el parámetro Ds_Merchant_MerchantCode.
Modalidad de Redirección
Para crear esta referencia debe enviarse el parámetro "DS_MERCHANT_IDENTIFIER" con el valor "REQUIRED" junto a los datos de tarjeta:
{
"DS_MERCHANT_ORDER":"1552565870",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"999",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_IDENTIFIER": "REQUIRED",
"DS_MERCHANT_AMOUNT":"1000",
"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"
}
Como respuesta se recibe el "Ds_Merchant_Identifier" con el número de referencia asociado, y la fecha de caducidad de la tarjeta, misma fecha en la que caduca la referencia. Este número de referencia puede usarse en futuras operaciones en el comercio, sin necesidad de incluir los datos de la tarjeta:
{
"Ds_Date":"10%2F12%2F2019",
"Ds_Hour":"09%3A41",
"Ds_SecurePayment":"0",
"Ds_Card_Type":"D",
"Ds_Card_Country":"724",
"Ds_Amount":"1000",
"Ds_Currency":"978",
"Ds_Order":"1575967259",
"Ds_MerchantCode":"999008881",
"Ds_Merchant_Identifier": "01903f9b923895767228066924f23b5892e88fdb",
"Ds_Terminal":"1",
"Ds_Response":"0000",
"Ds_MerchantData":"",
"Ds_TransactionType":"0",
"Ds_ConsumerLanguage":"1",
"Ds_AuthorisationCode":"372663",
"Ds_Card_Brand":"2"
}
Modalidad REST
Para crear esta referencia debe enviarse el parámetro "DS_MERCHANT_IDENTIFIER" con el valor "REQUIRED" junto a los datos de tarjeta:
{
"DS_MERCHANT_AMOUNT": "145",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_CVV2": "123",
"DS_MERCHANT_EXPIRYDATE": "3912",
"DS_MERCHANT_IDENTIFIER": "REQUIRED",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "0281WjRq",
"DS_MERCHANT_PAN": "4548810000000003",
"DS_MERCHANT_TERMINAL": "1",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Como respuesta se recibe el "Ds_Merchant_Identifier" con el número de referencia asociado, y la fecha de caducidad de la tarjeta, misma fecha en la que caduca la referencia. Este número de referencia puede usarse en futuras operaciones en el comercio, sin necesidad de incluir los datos de la tarjeta:
{
"Ds_Amount": "145",
"Ds_AuthorisationCode": "630117",
"Ds_CardNumber": "454881******0003",
"Ds_Card_Brand": "1",
"Ds_Card_Country": "724",
"Ds_Currency": "978",
"Ds_ExpiryDate": "3912",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_Merchant_Identifier": "01903f9b923895767228066924f23b5892e88fdb",
"Ds_Order": "0281WjRq",
"Ds_Response": "0000",
"Ds_SecurePayment": "0",
"Ds_Terminal": "1",
"Ds_TransactionType": "0"
}
Pago con referencia
Tras crearse la referencia en un pago anterior, para hacer un segundo pago, no es necesario volver añadir los datos de tarjeta, en su lugar se añade el parámetro Ds_Merchant_Identifier con el valor de la referencia a utilizar.
Modalidad de Redirección
{
"DS_MERCHANT_ORDER":"1552565870",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"999",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_IDENTIFIER": "219851688d37e3b965e41c1545a34b6f4538f9e7",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"1000",
"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_Date":"10%2F12%2F2019",
"Ds_Hour":"09%3A41",
"Ds_SecurePayment":"0",
"Ds_Card_Type":"D",
"Ds_Card_Country":"724",
"Ds_Amount":"1000",
"Ds_Currency":"978",
"Ds_Merchant_Identifier": "219851688d37e3b965e41c1545a34b6f4538f9e7",
"Ds_Order":"1575967259",
"Ds_MerchantCode":"999008881",
"Ds_Terminal":"1",
"Ds_Response":"0000",
"Ds_MerchantData":"",
"Ds_TransactionType":"0",
"Ds_ConsumerLanguage":"1",
"Ds_AuthorisationCode":"372663",
"Ds_Card_Brand":"2"
}
Modalidad REST
{
"DS_MERCHANT_AMOUNT": "145",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_IDENTIFIER": "219851688d37e3b965e41c1545a34b6f4538f9e7",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "5691VzB",
"DS_MERCHANT_TERMINAL": "1",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
{
"Ds_Amount": "145",
"Ds_AuthorisationCode": "600119",
"Ds_CardNumber": "454881******0003",
"Ds_Card_Brand": "1",
"Ds_Card_Country": "724",
"Ds_Currency": "978",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_Merchant_Identifier": "219851688d37e3b965e41c1545a34b6f4538f9e7",
"Ds_Order": "5691VzB",
"Ds_Response": "0000",
"Ds_SecurePayment": "0",
"Ds_Terminal": "1",
"Ds_TransactionType": "0"
}