Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一旦重定向到支付网关并返回,Laravel会话变量将变为Null_Laravel_Session - Fatal编程技术网

一旦重定向到支付网关并返回,Laravel会话变量将变为Null

一旦重定向到支付网关并返回,Laravel会话变量将变为Null,laravel,session,Laravel,Session,我发现了一些相关的问题,但是他们没有足够的解释/解决我的问题的方法。我正在将Paycorp支付网关与现有项目集成。在PaymentController.php中,我将所有酒店IPG设置放在一个数组中并放入会话。一旦我把它放到会话中,我试着用vardump打印它,它正在工作,它正在会话中!然后我启动支付并重定向到生成的url。它重定向到Paycorp支付,我提供卡的详细信息并提交。当它返回PaymentCompleteController.php时,我需要完成付款,并且需要我在会话中设置的酒店IP

我发现了一些相关的问题,但是他们没有足够的解释/解决我的问题的方法。我正在将Paycorp支付网关与现有项目集成。在PaymentController.php中,我将所有酒店IPG设置放在一个数组中并放入会话。一旦我把它放到会话中,我试着用vardump打印它,它正在工作,它正在会话中!然后我启动支付并重定向到生成的url。它重定向到Paycorp支付,我提供卡的详细信息并提交。当它返回PaymentCompleteController.php时,我需要完成付款,并且需要我在会话中设置的酒店IPG设置。当我试图得到它时,它是空的,什么也没有

PaymentController.php

    $params['something1'] = $something1;
    $params['something2'] = $something2;
    $params['something3'] = $something3;
    $params['something4'] = $something4;

    Session::put(SampleModel::PARAMS, $params);
    //At this point Params are in the session
    //var_dump(Session::get(SampleModel::PARAMS)); exit();

    //Initiate Payment and Redirect to URL
    vardump(Session::get(SampleModel::PARAMS)); exit();
一旦给出并提交了卡的详细信息,它将重定向回

PaymentCompleteController.php

    $params['something1'] = $something1;
    $params['something2'] = $something2;
    $params['something3'] = $something3;
    $params['something4'] = $something4;

    Session::put(SampleModel::PARAMS, $params);
    //At this point Params are in the session
    //var_dump(Session::get(SampleModel::PARAMS)); exit();

    //Initiate Payment and Redirect to URL
    vardump(Session::get(SampleModel::PARAMS)); exit();

PaymentCompleteController.php中的会话变量为null。但是放在PaymentController.php之前的变量仍然存在。

当Laravel应用程序生命周期开始时,在应用程序生命周期结束之前,会话中的任何值都不会被存储。重定向正在阻止这种情况

在调用
put()
后立即保存会话值:


谢谢,它正在工作!在Laravel上工作8个月以上,永远不要面对这个问题!我也很感谢你的解释。