尝试捕获和重定向的问题

时间:2020-05-28 03:44:16

标签: laravel

我正在使用Payment Getaway API,当参数不正确时,显示错误,我的代码是这样的:

$paymentData = [
    'amount' => '200',
    'description' => 'test',
    'cardHolder' => 'jon doe',
    'cardHolderId' => '11111111',
    'cardNumber' => '4111111111111111',
    'cvc' => '123',
    'expirationDate' => '12/2019',
    'IP' => '127.0.0.1',
];

try{
    $instapago = new Instapago();
    $respuesta = $instapago->directPayment($paymentData);
 } catch(\Socialgest\Instapago\Instapago\Exceptions\InstapagoException $e){
   // redirect
   session()->put('card_error', 1);
   return Redirect::to('checkout');
 } catch(\Socialgest\Instapago\Instapago\Exceptions\TimeoutException $e){
   // redirect
   session()->put('card_error', 1);
   return Redirect::to('checkout');
}     

问题是,如果显示错误,可以将其重定向到另一个页面,您将看到我正在添加重定向,但是它不起作用,因为当出现错误时,它将显示以下内容,例如:

Socialgest \ Instapago \ Exceptions \ InstapagoException
Error cardHolder: 2323

这是一条非常丑陋的消息,所以我想知道如何获取该错误并重定向到另一页?因为我试过了,但是根本没有用。

谢谢!

1 个答案:

答案 0 :(得分:0)

继续我的评论。

尝试从Instapago中删除一个\Socialgest\Instapago\Instapago\Exceptions\InstapagoException。由于错误只有一个。

通常最好在最后添加catch (Exception $e) {}(以防万一没有发现其他例外情况)。 >