1) Supponendo che la sessione sia basata su cookie, dovrebbe essere ancora presente quando tornano sul tuo sito (a patto che nel frattempo non abbiano chiuso la finestra del browser, il che è improbabile).
Se davvero non vuoi essere sicuro, archivia la sessione nel database in una tabella temporanea associata all'id_ordine che stai generando. Credo che sia possibile che questo (order_id) venga restituito dopo che la transazione è stata completata. Leggi i documenti su PDT .
2) Credo che non sia così. Consulta i documenti pagina 250 in poi.