Laravel会话变量获得Null,一旦重定向到Payment Gateway并返回

问题描述 投票:2回答:1

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

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

一旦提供并提交了卡片详细信息,它将重定向回

PaymentCompleteController.php

    vardump(Session::get(SampleModel::PARAMS)); exit();

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

laravel session
1个回答
2
投票

当Laravel应用程序生命周期开始时,在应用程序生命周期结束之前,尚未存储任何放入Session的值。重定向阻止了这一点。

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

Session::put(SampleModel::PARAMS, $params);
Session::save();
© www.soinside.com 2019 - 2024. All rights reserved.