¿Cómo afecta la política de cookies SameSite de Chrome a mi integración?

Tras la actualización de la política de cookies SameSite de Google Chrome, algunos merchants han tenido problemas al procesar pagos con 3DS mediante redirección en el navegador Chrome, debido a la configuración específica de su integración. Los merchants han informado de problemas con:

  • Redirección con 3DS1
  • Redirección con 3DS2

Sobre la política de cookies SameSite de Google Chrome

En la versión actualizada de Chrome 80 y posteriores, Google Chrome está aplicando un sistema de clasificación de cookies seguro en todos los casos. Esto significa que las cookies sin el atributo SameSite no se incluirán en una devolución de llamada de redirección POST. A las cookies que no hayan declarado un valor de SameSite se les asignará el valor predeterminado "SameSite=Lax". Solo las cookies configuradas como "SameSite=None; Secure" estarán disponibles en contextos de terceros, siempre que se acceda a ellos desde una conexión segura. 

¿Cómo sé si esto afecta a mi integración?

El hecho de que afecte a tu integración depende de si utilizas cookies para almacenar información de pago mientras procesas autorizaciones 3DS1 o 3DS2 con redirección. Un caso bastante habitual es, por ejemplo, el almacenamiento del atributo paymentData en las cookies.

¿Cómo se corrige?

Te recomendamos que verifiques tu integración para asegurarte de que puedes gestionar solicitudes de redirección POST en el navegador Chrome actualizado, pero también para asegurarte de que se puedan gestionar en navegadores más antiguos. Ten en cuenta que el campo SameSite todavía no es compatible con todos los navegadores más antiguos, así como Safari y Firefox.

Cómo implementar SameSite (de web.dev/samesite-cookie-recipes)

Para las cookies necesarias en el contexto de un tercero, tendrás que asegurarte de que estén marcadas como SameSite=None; Secure. Ten en cuenta que necesitas los dos atributos juntos. Si solo especificas None sin Secure, la cookie se rechazará. No obstante, existen algunas diferencias mutuamente incompatibles en las implementaciones de los navegadores, por lo que es posible que tengas que utilizar algunas de las estrategias de mitigación que se describen en el apartado Gestión de clientes incompatibles a continuación.


Set-Cookie: third_party_var=value; SameSite=None; Secure


Gestión de clientes incompatibles (de web.dev/samesite-cookie-recipes)

Dado que estos cambios para incluir None y actualizar el comportamiento predeterminado siguen siendo relativamente nuevos, existen inconsistencias entre los navegadores en cuanto a cómo se gestionan estos cambios. En la página de actualizaciones en chromium.org, puedes consultar los problemas conocidos actualmente, aunque no se puede garantizar que sea una lista exhaustiva. Aunque no es una situación ideal, hay algunas soluciones alternativas que puedes aplicar durante esta fase de transición. De todos modos, la regla general es tratar a los clientes incompatibles como el caso especial. No crees una excepción para los navegadores en los que se implementen las nuevas reglas.

La primera opción es configurar tanto las cookies de estilo nuevo como las de estilo antiguo:


Set-cookie: 3pcookie=value; SameSite=None; Secure
Set-cookie: 3pcookie-legacy=value; Secure

Los navegadores en los que se implementa el nuevo comportamiento configurarán la cookie con el valor SameSite, mientras que otros navegadores pueden ignorarla o configurarla incorrectamente. Sin embargo, esos mismos navegadores establecerán la cookie 3pcookie-legacy. Al procesar las cookies incluidas, el sitio debe verificar primero la presencia de la cookie del nuevo estilo y, si no se encuentra, recurrir a la cookie antigua.


Ejemplos en distintos idiomas (de github.com/GoogleChromeLabs/samesite-examples)

Otros enlaces útiles

Los siguientes documentos de Chrome te serán útiles en caso de que se requieran cambios en tu integración: Recetas de cookies SameSite, Ejemplos de SameSite 3DSv1.0 con diagramas de secuencia y Resolución de clientes incompatibles

Si estás intentando probar tu nuevo flujo de 3DS y no puedes comprobar si tu solución funciona, habilita los flags experimentales (chrome://flags) y configura todas las funciones denominadas "SameSite" como "Enabled". Consulta los consejos para probar y depurar cookies SameSite para obtener más información sobre cómo realizar pruebas en integraciones utilizando cookies SameSite de Chrome.

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 6 de 9