2015-07-23 4 views
2

Я собираюсь пойти на ум с этой проблемой, я внедряю систему IPN в своем приложении и начал делать тесты с помощью IPN Simulator от Paypal.Симулятор IPN Paypal с использованием Laravel 5

Когда я пытаюсь отправить моделирования IPN, он просто дает следующее сообщение об ошибке:

We're sorry, but there's an HTTP error. Please try again.

Первая мысль - сервис Paypal был вниз - Испытано неправильно, так как если я создаю пустую страницу и отправить сообщение IPN в http://myDNS.com/blankpage.php он может отправить его.

Вторая мысль - проблема с маршрутами - что я думаю, что это не проблема, как:

Вот мой IPN Слушатель в PurchaseController.php:

public function completed() 
{ 
    //FAHIM's Paypal IPN Listener 

    $ipn = new PaypalIPNListener(); 
    $ipn->use_sandbox = true; 

    $verified = $ipn->processIpn(); 

    $report = $ipn->getTextReport(); 

    Log::info("-----new payment-----"); 

    Log::info($report); 

    if ($verified) { 
     if($_POST['address_status'] == 'confirmed'){ 
      //sucess 
     } 
    } 
} 

В routes.php:

Route::post('purchase/completed/', array('as' => 'purchase.completed', 'uses' => '[email protected]')); 

ли есть ли какие-либо известные проблемы, связанные с симулятором IPN и Laravel?

Заранее спасибо.

ответ

7

Похоже, я нашел ответ! Проблема заключалась в том, что при попытке отправить информацию POST было отправлено исключение tokenMismatchException.

Для людей с той же проблемой, вот решение:

Добавить исключение в VerifyCsrfToken.php Middleware, так что исключение URI не будет нуждаться в проверке CsrfToken:

В моем случае, это выглядит что-то вроде этого:

protected $except = [ 
    'purchase/completed' 
]; 

Я работаю с Laravel 5, поэтому, пожалуйста, имейте в виду, что она может немного отличаться в более низких версиях.

Смежные вопросы