Php 如何从Laravel中的通知url获取令牌号?

Php 如何从Laravel中的通知url获取令牌号?,php,laravel-5,sandbox,Php,Laravel 5,Sandbox,我在我的项目中使用citruspay支付网关,当返回url点击页面时 VerifyCsrfToken.php第53行中的TokenMismatchException:错误显示 如何匹配令牌 route.php Route::POST('ideas/paymentResponse',function(){ return View::make('ideas.paymentDone'); }); payment.php <form method="post" action="htt

我在我的项目中使用citruspay支付网关,当返回url点击页面时

VerifyCsrfToken.php第53行中的TokenMismatchException:错误显示

如何匹配令牌

route.php

Route::POST('ideas/paymentResponse',function(){
    return View::make('ideas.paymentDone');
});
payment.php

 <form  method="post" action="https://sandbox.citruspay.com/qwer">

         <input type="hidden" id="merchantTxnId" name="merchantTxnId" value="<?php echo $merchantTxnId; ?>" />

         <input type="hidden" id="orderAmount" name="orderAmount" value="<?php echo $orderAmount; ?>" />
          <input type="hidden" name="_token" id="_token" value="{{ csrf_token() }}">

         <input type="hidden" id="currency" name="currency" value="<?php $currency ?>" />
         <input type="hidden" name="returnUrl" value="http://local.ideabazaar.com/ideas/paymentResponse" />
         <input type="hidden" id="notifyUrl" name="notifyUrl" value="http://local.ideabazaar.com/ideas/paidNotify" />
         <input type="hidden" id="secSignature" name="secSignature" value="<?php echo $securitySignature ?>" />
         <input type="Submit" class="redBtn" value="Pay Now"/>


您必须插入带有_标记的隐藏输入,然后像在ajax文章中获取其他表单字段一样获取该值

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

在视图中,可以使用_标记设置对象

<script type="text/javascript">
    var _globalObj = {{ json_encode(array('_token'=> csrf_token())) }}
</script>

var_globalObj={{json_encode(数组(''u-token'=>csrf_-token())}

您必须插入带有_标记的隐藏输入,然后像在ajax帖子中获取其他表单字段一样获取该值

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

在视图中,可以使用_标记设置对象

<script type="text/javascript">
    var _globalObj = {{ json_encode(array('_token'=> csrf_token())) }}
</script>

var_globalObj={{json_encode(数组(''u-token'=>csrf_-token())}

如果您的支付网关允许为每个请求指定自定义回调URL,则可以将回调URL设置为包含当前CSFR令牌。大概是这样的:

$callbackUrl = url('ideas/paymentResponse?_token=' . csrf_token());
如果您不能自定义每个请求的回调URL,那么剩下的唯一选项是。像这样的

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
    * The URIs that should be excluded from CSRF verification.
    *
    * @var array
    */
    protected $except = [
        'ideas/paymentResponse',
    ];
}

如果您的支付网关允许为每个请求指定自定义回调URL,则可以将回调URL设置为包含当前CSFR令牌。大概是这样的:

$callbackUrl = url('ideas/paymentResponse?_token=' . csrf_token());
如果您不能自定义每个请求的回调URL,那么剩下的唯一选项是。像这样的

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
    * The URIs that should be excluded from CSRF verification.
    *
    * @var array
    */
    protected $except = [
        'ideas/paymentResponse',
    ];
}

谢谢Rahautos。但是我的回答来自支付网关站点,而不是如何匹配会话令牌和post令牌?谢谢Rahautos。但是我的回答来自支付网关站点,而不是如何匹配会话令牌和post令牌?谢谢Javi。我跳过了csrf令牌的特定路线。谢谢Javi。我跳过了csrf令牌的特定路径。