2017-10-20 33 views
2

我已经检查了几个问题,并尝试了一切,但没有帮助。Laravel 5.5使用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());这里,会话已保存。

现在用户被重定向到PayPal,检出并将其重定向到我的应用程序中的某处。

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

当此功能被调用,前面的网址是好的"url" => "www.mypage.com/pay"即使它来自贝宝,但数据的其余部分是不存在了。

任何帮助?

+0

我认为问题在于您离开您的网站。尝试使用cookie或在paypal api用于将用户重定向到您的网站的返回url中保存一些信息。 – Yes92

回答

2

检查您的会话配置的任何疏忽,尤其是会话域。

确保会话驱动程序正在运行,并且如果您正在使用文件会话,请确保会话目录是可写的,并且有足够的可用磁盘空间。

最后,msure你不加www访问mypage.com/pay第一,和PayPal重定向到www.mypage.com/pay和会话不沾,因为那 - 设置.mypage.com作为会话域名将解决这个问题。

如果一切都失败,请附上您的mypage.com/pay页面的设置cookie响应标题。