使用Laravel接收空白的帖子数据

时间:2014-11-30 20:30:45

标签: laravel laravel-4 paypal-ipn

我正在使用Laravel 4和Paypal开发一款简单的购物车。

对于IPN侦听器,我安装了以下软件包: - https://github.com/mike182uk/paypal-ipn-listener

我使用Route :: any()创建了一个路由,允许paypal使用这个简单代码调用函数的请求上的任何方法:

    $listener = new \PayPal\Ipn\Listener;
    $verifier = new \PayPal\Ipn\Verifier\CurlVerifier;
    $ipnMessage = \PayPal\Ipn\Message::createFromGlobals();

    $verifier->setIpnMessage($ipnMessage);
    $verifier->setEnvironment('sandbox'); // can either be sandbox or production

    $listener->setVerifier($verifier);

    $listener->listen(function() use ($listener) {
        // on verified IPN (everything is good!)
        $resp = $listener->getVerifier()->getVerificationResponse();
        $report = $listener->getReport();

        $myfile = fopen("ipn.log", "w");
        fwrite($myfile, $report);
        fclose($myfile);

    }, function() use ($listener) {
        // on invalid IPN (somethings not right!)

        $report = $listener->getReport();
        $resp = $listener->getVerifier()->getVerificationResponse();


        $myfile = fopen("ipn.log", "w");
        fwrite($myfile, $report);
        fclose($myfile);
    });

当我看到日志文件Paypal返回INVALID时,我看到我没有收到任何帖子数据。 但是当我使用带有来自Paypal github的代码的单个php文件的IPN时,我收到了所有数据。 https://raw.githubusercontent.com/paypal/ipn-code-samples/master/paypal_ipn.php

P.S:我没有收到任何错误,IPN发送成功

1 个答案:

答案 0 :(得分:1)

问题是因为我有al路由的csrf过滤器。

我解决了它在组中引入此路由并将此代码添加到app / filters.php

// CSRF For routes outside "rest" route group.
$firstSegment = Request::segment(1);

if($firstSegment != 'rest')
    Route::filter('csrf','post');