Laravel 5.5 使用 Paypal 后会话未保存

Laravel 5.5 Sessions not saving after using Paypal

我已经检查了几个问题并尝试了所有方法,但没有帮助。

我想使用 Laravel 会话来存储一些数据,但它们不会持久化。

代码是这样的:

public function payment (Request $request)
{
$data = "somedata";
$provider = new Provider();

       $request->session()->put("data",$data);
       $request->session()->put("provider",$provider);

       $response = $provider->setExpressCheckout($data);

       return redirect($response['paypal_link']);
}

打开时会出现这种情况,比方说www.mypage。com/pay

我这里用dd($request->sesion()->all());的时候,session已经保存了

现在用户被重定向到 Paypal,进行结帐,它被重定向到我的应用程序中的某个地方。

public function aferpay(Request $request)
{
dd($request->sesion()->all());
}

调用此函数时,之前的 url 没问题 "url" => "www.mypage.com/pay" 即使它来自 Paypal,但其余数据不再存在。

有什么帮助吗?

检查您的 session 配置是否有任何疏漏,尤其是 session 域。

确保 session driver 正常工作,如果您正在使用文件 sessions,请确保 session 目录可写并且有足够的可用磁盘 space.

最后,请确保您没有先访问 mypage.com/pay,然后 paypal 重定向到 www.mypage.com/pay 并且 session 不会因此而卡住 - 设置 .mypage.com 因为 session 域将解决此问题。

如果所有其他方法均失败,请附上 mypage.com/pay 页面的 set-cookie 响应 headers。