Estoy integrando un nuevo método de pago en mi página web. Este método utiliza una redirección web para enviar al cliente a la página de pago.
La redirección se realiza mediante el comando location.href=.... , luego, por lo general, mi página web se descarga y el usuario se envía al sitio de pago.
Tengo un problema cuando el enlace se abre de alguna manera en otra ventana o si el cliente está navegando con un teléfono, cuando el enlace de la aplicación maneja el enlace y se abre la aplicación de pago. El cliente completa el pago en la segunda ventana o en la aplicación móvil y luego se enfoca nuevamente en mi página web, pero mi página web sigue porque por su lógica, se arrojó el archivo location.href.
Sé que de alguna manera tengo que manejar una actualización automática cuando el usuario regresa. ¿Cómo puedo entender si el comando location.href ha descargado la página o si una aplicación acaba de abrirla y mi página todavía está allí?
Por lo general, los redireccionamientos de pagos de terceros ocurren en una nueva ventana y se realizan a través de window.open
Advertencias: el usuario debe permitir las ventanas emergentes en el navegador
Brinda un mejor control sobre la nueva pestaña / Iframe abierta y establece un puente de comunicación bidireccional para obtener el estado y los eventos bidireccionalmente a través de WindowProxy como closed o verificación de referrer .
Alternativamente, puede conectarse a window.onbeforeunload y establecer una bandera como se muestra a continuación
ejemplo:
window.onbeforeunload = function(){ sessionStorage.isUnloaded = 1 } y use la bandera en window.onload para deducir si se alejó/cerró/duplicó la sesión.