Laravel 8\Stripe\Exception\CardException, когда введенная карта не работает

Я использую Laravel Cashier, но на этот раз я вызываю StripeClient. Я пытаюсь отобразить ошибки CardException, когда пользователь ввел номер карты с истекшим сроком действия. Но он просто возвращает ответ paymentMethods->create вместо ошибок CardException.

Вот код

try{
        $stripe = new \Stripe\StripeClient(config('app.stripe_secret'));
   
        echo $stripe->paymentMethods->create([
          'type' => 'card',
          'billing_details' => [
              'name' => '123',
              'email' => '123@gmail.com',
          ],
          'card' => [
            'number' => '4000000000000002',
            'exp_month' => 11,
            'exp_year' => 2023,
            'cvc' => '314',
          ],
        ]);
    }  catch(\Stripe\Exception\CardException $e){

        echo 'Status is:' . $e->getHttpStatus() . '\n';
        echo 'Type is:' . $e->getError()->type . '\n';
        echo 'Code is:' . $e->getError()->code . '\n';
        echo 'Param is:' . $e->getError()->param . '\n';
        echo 'Message is:' . $e->getError()->message . '\n';
    }
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Разработка Laravel помогает бизнесу достичь новых высот
Разработка Laravel помогает бизнесу достичь новых высот
Глобальный рынок электронной коммерции постоянно расширяется. Услуги Laravel Development позволяют им увеличить целевой рынок и продажи, предоставляя...
Использование SendGrid в Laravel
Использование SendGrid в Laravel
Чтобы использовать Sendgrid в Laravel, вам нужно выполнить следующие шаги:
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
0
0
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

внутри попробовать сначала проверьте токен полосы, создать или нет

 $token = $stripe->tokens()->create(

                    [

                        'card' => [

                            'number'    => $request->get('card_no'),

                            'exp_month' => $request->get('ccExpiryMonth'),

                            'exp_year'  => $request->get('ccExpiryYear'),

                            'cvc'       => $request->get('cvvNumber'),

                        ],

                    ]

                );

    if (!isset($token['id'])) {

                    // Session::flash('error', 'The Stripe Token was not generated correctly');

                    // return Redirect::back();

                    $json['type'] = 'error';

                    $json['message'] = 'The Stripe Token was not generated correctly';

                    return $json;

                }

Другие вопросы по теме