php – Variables de sesión se pierden al rederigir a una página externa

tengo el siguiente inconveniente, mi web funciona perfectamente con sesiones si navego dentro de ella, pero si ejecutó un script que me envía a una página de terceros para realizar un pago, llegó devuelta a mi página deslogueado y con mis variables de sesión perdidas, como puedo mantener mi sesión correctamente para que no se pierda?

Este código está en todas mis páginas que requieren el uso de sesiones y al llegar deslogueado me bota automáticamente del sistema

Verify.php

<?php
session_start();

setlocale(LC_ALL,"es_ES");
include "conexion.php";
$con = new Conexion();
if(!isset($_SESSION('correo'))){
    $con->desconectar();
    header('Location: '.$raiz.'login');
}else{
    $ahora = time();
    if($ahora > $_SESSION('sesion-expire')){
        $liberar = $con->actualizar("sid = ?","usuarios","correo = ?",array(NULL,$_SESSION('correo')));
        unset($_SESSION('fecha'));
        unset($_SESSION('nombre'));
        unset($_SESSION('apellido'));       
        unset($_SESSION('sesion-start'));
        unset($_SESSION('sesion-expire'));
        $con->desconectar();
        session_regenerate_id();
        session_destroy();
        header('Location: '.$raiz.'login');
    }else{
        date_default_timezone_set("America/Santiago");
        $_SESSION('sesion-expire') = time() + (15 * 60);
        $actualizar = $con->actualizar("sesion_expira = ?","usuarios","correo = ?",array(date('Y-m-d H:i:s',$_SESSION('sesion-expire')), $_SESSION('correo')));     
        $inactivos = $con->actualizar("sesion_expira = ?,sid= ?","usuarios","CURRENT_TIMESTAMP > sesion_expira",array(NULL,NULL));
    }
} 

?>

Este es el script que ejecutó y me envía a la pagina externa y luego al regresar quedó deslogueado

<?php 

require_once '../vendor/autoload.php';include '../logica/conexion.php';
$con = new Conexion; 

use TransbankWebpayWebpay;
use TransbankWebpayConfiguration;
use TransbankWebpayWebPayNormal;

$urlRepository = "https://raw.githubusercontent.com/TransbankDevelopers/transbank-webpay-credenciales/master/";
$dirFiles = "integracion/Webpay%20Plus%20-%20CLP/597020000540";
$contentPublicCert = file_get_contents($urlRepository . $dirFiles . ".crt");
$contentPrivateKey = file_get_contents($urlRepository . $dirFiles . ".key");
$configuration = new Configuration();
$configuration->setCommerceCode(597020000540);
$configuration->setEnvironment("INTEGRACION");
$configuration->setPrivateKey($contentPrivateKey);
$configuration->setPublicCert($contentPublicCert);
$webpay = new Webpay($configuration);
$transaction = $webpay->getNormalTransaction();

$tokenWs = filter_input(INPUT_POST,'token_ws');
$result = $transaction->getTransactionResult($tokenWs);
$output = $result->detailOutput;
$comercio = 'WebPay';
$total = $output->amount;
$query_cantidad = $con->obtenerdatos("cantidad","escala_creditos","total = ?",array($total));
$cantidad = $query_cantidad(0)('cantidad');
$fechaautorizacion = DateTime::createFromFormat('Y-m-dTH:i:s.uT',$result->transactionDate);
$fechaautorizacion->setTimezone(new DateTimeZone('America/Santiago'));
$fecha = $fechaautorizacion->format('Y-m-d H:i:s');
$ordencompra = $output->buyOrder;
$codigoautorizacion = $output->authorizationCode;
$numerotarjeta = str_pad($result->cardDetail->cardNumber, 16, "X", STR_PAD_LEFT);
$idusuario = 'USER10001';
if($output->sharesNumber == 0){
    $numerocuotas = 0;
    $montocuotas = 0;
}else{
    $numerocuotas = $output->sharesNumber;
    $montocuotas = $output->sharesAmount;
}
if($output->paymentTypeCode == 'VD'){
    $tipoventa = 'Débito';  
}elseif($output->paymentTypeCode == 'VN'){
    $tipoventa = 'Normal';  
}elseif($output->paymentTypeCode == 'VC'){
    $tipoventa = 'En Cuotas';   
}elseif($output->paymentTypeCode == 'SI' or $output->paymentTypeCode == 'S2' or $output->paymentTypeCode == 'NC'){
    $tipoventa = 'Cuotas S/I';  
}elseif($output->paymentTypeCode == 'VP'){
    $tipoventa = 'Prepago'; 
}else{
    $tipoventa = '';    
}
if ($output->responseCode == 0) {
    
    echo '  <script>
                window.localStorage.clear();
                window.localStorage.setItem("result",JSON.stringify('.json_encode($result).'));
            </script>';
    

    
    $query = $con->insertar("?,?,?,?,?,?,?,?,?,?,?,?,?","creditos",array($ordencompra,$codigoautorizacion,$numerotarjeta,$numerocuotas,$montocuotas,$tipoventa,$total,$cantidad,$fecha,"Aprobada","123",$comercio,$idusuario));

    $query_creditos = $con->actualizar("creditos = creditos + ?","usuarios","idusuario = ?",array($cantidad,$idusuario));
}
?>
<?php if($output->responseCode == 0){?>
<form action="<?php echo $result->urlRedirection?>" method="post" id="return-form">
    <input type="hidden" name="token_ws" value="<?php echo $tokenWs;?>">
</form>


<script>
    document.getElementById('return-form').submit();
</script>
<?php }?>