VerifyCsrfToken.php第67行中的TokenMismatchException:将paytm与laravel 5.3集成时

VerifyCsrfToken.php第67行中的TokenMismatchException:将paytm与laravel 5.3集成时,php,laravel-5.3,csrf,payment-gateway,paytm,Php,Laravel 5.3,Csrf,Payment Gateway,Paytm,我将paytm与laravel 5.3进行了集成,在进行支付时,它会重定向到paytm站点,当它重定向回我的站点时,它会给出错误“VerifyCsrfToken.php第67行中的TokenMismatchException” View.php <form action="{{action('OrderController@order')}}" method="post" name="payuForm" > <i

我将paytm与laravel 5.3进行了集成,在进行支付时,它会重定向到paytm站点,当它重定向回我的站点时,它会给出错误“VerifyCsrfToken.php第67行中的TokenMismatchException”

View.php

               <form action="{{action('OrderController@order')}}" method="post" name="payuForm" >
                  <input type="hidden" name="_token" value="{{ csrf_token() }}">
                  <input type="hidden" name="firstname" id="firstname" value="{{$data1->first_name}}" />
                  <input type="hidden" name="email" id="email" value="{{$data1->email}}" />
                  <input type="text"   name="amount" value="<?php echo $data[0]->cost?>" readonly/>
                  <input type="text"   name="productinfo" value="<?php echo $data[0]->mid?>" readonly />
                  <input type="text"   name="phone" value="{{$data1->mobile}}" readonly/>
                  <center><button class="btn btn-colored btn-theme-colored text-uppercase pay">Pay</button></center>
                </form>

添加
/
以不通过现有url追加url

Route::get('/event-registration', 'OrderController@register');
Route::post('/payment', 'OrderController@order');
Route::post('/payment/status', 'OrderController@paymentCallback');
并使用
/payment
作为表单标记中的操作,因为您已经为此
创建了路由OrderController@order“
并且未使用任何命名路由

<form action="/payment" method="post" name="payuForm" >

我也犯了这个错误,但问题解决了

  • php artisan缓存:清除

  • 清除缓存和cookies浏览器

  • 使用专用浏览器(Mozilla)/匿名窗口(Chrome)

  • 打开表单/页面,然后提交

    希望这对你有用


  • 嘿@Deepak Patel我搜索了很多与你的问题相关的信息。我为你找到了一个解决方案。 版本5.1 Laravel的VerifyCsrfToken中间件允许路由。您需要将路由添加到应用程序\Http\MiddlewareVerifyCsrfToken类中的$except数组:

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

    按照您的建议进行了更改@user2486,但仍然得到相同的错误您使用的是什么中间件?这是我的荣幸@DeepakPatel
    
    <form action="/payment" method="post" name="payuForm" >
    
    Route::post('payment', function(Illuminate\Http\Request $request){
        return dd($request->all());
    });
    
    <?php namespace App\Http\Middleware;
    
    use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
    
    class VerifyCsrfToken extends BaseVerifier
    {
      protected $except = [
        'your-route-name/*',
      ];
    }