отключить csrf в laravel для определенного маршрута

У меня есть платежная система, где данные передаются на сторонний сайт, а затем выгружаются обратно …

Когда данные возвращаются, он попадает на определенный URL-адрес, который позволяет сказать / ok маршрут. $_REQUEST['transaction'] .

Но из-за промежуточного ПО laravel у меня возникает несоответствие токенов. Нет никакого способа, по которому сторонний платежный API может генерировать токен, так как я его отключил? только для этого маршрута?

или есть лучший вариант?

 Route::get('/payment/ok', 'TransactionsController@Ok'); Route::get('/payment/fail', 'TransactionsController@Fail'); public function Ok( Request $request ) { $transId = $request->get('trans_id'); if ( isset( $transId ) ) { return $transId; } } 

Начиная с версии 5.1 промежуточное ПО VerifyCsrfToken Laravel позволяет указывать маршруты, которые исключаются из проверки CSRF. Чтобы достичь этого, вам нужно добавить маршруты в $ except array в свой класс App \ Http \ MiddlewareVerifyCsrfToken :

 <?php namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier; class VerifyCsrfToken extends BaseVerifier { protected $except = [ 'payment/*', ]; } 

См. http://laravel.com/docs/master/routing#csrf-excluding-uris для получения дополнительной информации.