1) Suponiendo que la sesión esté basada en cookies, aún debería estar allí cuando regresen a su sitio (siempre y cuando no hayan cerrado la ventana del navegador mientras tanto, lo cual es poco probable).
Si realmente no quiere estar seguro, almacene la sesión en la base de datos en una tabla temporal asociada con el order_id que está generando. Creo que es posible que este (order_id) se devuelva después de que se complete la transacción. Lea los documentos en PDT .
2) Creo que este no es el caso. Consulte los documentos página 250 en adelante.