Проблема с попыткой поймать и перенаправить - PullRequest
0 голосов
/ 28 мая 2020

Я использую API-интерфейс Payment Getaway, и когда он неверен в параметрах, он показывает ошибку, мой код следующий:

$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 голосов
/ 28 мая 2020

Продолжая мой комментарий.

Попробуйте удалить один Instapago из \Socialgest\Instapago\Instapago\Exceptions\InstapagoException. Так как ошибка имеет только одну.

Также , всегда рекомендуется добавлять финальный (в конце) catch (Exception $e) {} на всякий случай, если другие исключения не ловятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...