Laravel 5跳过异常处理

时间:2017-10-13 03:49:07

标签: php laravel-5 exception-handling payment-gateway

我将支付网关集成到Laravel 5项目,来自支付网关网站的回调响应,

e.g。发布http://example.com/payments/response

但是,如果付款失败,则响应处于419状态。

我已经创建了一个处理此问题的路线,例如

Route::post('payments/response', [
    'as' => 'payments.response',
    'uses' => 'PaymentController@response'
]);

但它始终属于 app / Exceptions / Handler.php

public function render($request, Exception $exception)
{   
    if (in_array($request->route()->getName(), ['payments.response'])) {
        // HOW TO SKIP THE EXCEPTION HANDLER ???
    }

    return parent::render($request, $exception);
}

我想继续回复我的PaymentController,我该如何实现?

2 个答案:

答案 0 :(得分:0)

如果要调用未定义的方法app / Exceptions / Handler.php,则需要将控制器声明为get not post。

答案 1 :(得分:0)

我发现了。该错误实际上是TokenMismatchException。因此,我的解决方案是

编辑 app / Http / Middleware / VerifyCsrfToken.php

protected $except = [ 
    'payments/response', <------- ADD THIS
];

现在它可以进入控制器