Estoy construyendo un sitio web de comercio electrónico y he tenido un problema con dos pasarelas de pago diferentes. Los visitantes ingresan los detalles de su tarjeta y luego van al paso 3D Secure, que requiere visitar el sitio web de su banco. Cuando regresan de eso, no tienen cookies en nuestro sitio web y no podemos reconocerlos para vincular el pedido.
Con una pasarela de pago, esto hace que el pedido falle; con el otro, el pago se realiza, pero no está vinculado a ninguna cuenta específica o productos comprados. Claramente, ambos son problemas.
Sé que muchos navegadores borran las cookies al cerrar el navegador , pero no conozco ninguno que borre las cookies solo porque has dejado el sitio por un momento. (Además, en una de las dos pasarelas de pago, el paso 3D Secure se realiza en un iframe, por lo que el usuario ni siquiera ha abandonado el sitio). Es la sesión del usuario la que está desapareciendo.
Preguntas concretas:
¿Podría haber algo más causando los efectos que estoy viendo?
En este tipo de escenario, en estos días a menudo tiene que ver con el atributo SameSite de la cookie de sesión.
El valor Strict evitará que se envíen cookies en cualquier solicitud iniciada por sitios web de terceros. Cuando los usuarios son redirigidos a su sitio desde la pasarela de pago, eso es "navegación" desde un sitio de terceros, y las cookies no se envían; por lo que su propia sesión no puede ser retomada en ese momento.