session - 重定向到外部网站时,Laravel session 不会持续存在

标签 session paypal laravel-4 omnipay

我正在将以下数组分配给 transactionInfo。

        $transactionDetails=[
            'amount' => $total,
            'description'=>$description,
            'notify_url'=>'http://url.com/paypal/log',
            'headerImageUrl'=>'http://url.com/img/bhi_logo.png',
            'brandName'=>'Name',
            'encodedTestIDs' => serialize($payForTestID),
            'returnUrl' => 'http://url.com/payment/return', 
            'cancelUrl' => 'http://url.com/payment/cancel' 
        ];
        Session::put('transactionInfo',$transactionDetails);

如果我重定向到网站上的另一个页面,我可以使用以下方法拉取数组

Session::get('tranactionInfo');

但是,如果我重定向到 PayPal 以收取付款,然后 PayPal 将用户重定向回我的站点,则 session 变量将为空。

这是 PayPal 返回的路线:

Route::any('/payment/return',function(){
  if(Session::has('transactionInfo')){
      echo 'what is happening?';
  }
    //Session::flush();
    dd(Session::get('transactionInfo')); die;
    });

最佳答案

我不确定为什么 Laravel 不会持久化 session 数据。

但是,另一种方法是在重定向到 PayPal 之前将交易数据存储在您的数据库中。您可以在您的 returnUrl 中引用 transactionId,正如我在此处描述的那样:

CodeIgniter custom value with omnipay

关于session - 重定向到外部网站时,Laravel session 不会持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440048/

相关文章:

ruby-on-rails - 与 erlang 服务器共享 Rails session

sql - Postgresql session 的自定义参数

android - Android 的 Paypal 回调 url

php - Twilio 在 PHP 中无法识别新行

laravel-4 - 使用一个查询进行多项操作

caching - 在 Laravel 4 中为动态查询生成 Redis 缓存键

php - 在哪里存储登录尝试和当前登录状态、cookie 或 session ?

javascript - 将 php session 变量从 jquery、ajax 传递到 PHP 谢谢页面

ios - Braintree Paypal 授权在 iOS >9 上不起作用

csv - PayPal 自动完成付款的每月或每周报告