Laravel会话变量获得空,一旦重定向到支付网关并返回



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

支付控制器.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

提供并提交卡详细信息后,它将重定向回

支付完成控制器.php

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

在 PaymentCompleteController 中.php会话变量为 null。但是放在支付控制器之前的变量.php仍然存在。

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

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

Session::put(SampleModel::PARAMS, $params);
Session::save();

最新更新