Hadle cartlyst剥离计划错误

时间:2016-02-06 10:17:19

标签: laravel-5 stripe-payments

我正在使用我的laravel应用程序中的cartalyst strip API创建strip的付款计划,它正常工作但是当strip显示任何错误时,它会直接显示在DOM中。我想将它存储在变量中,然后重定向到上一页。我使用了try...catch方法,但它不适用于创建计划。

以下是我的代码

$stripe = Stripe::make(STRIPE_KEY);
try {
    $plan = $stripe->plans()->create([
              'id'                    => 'monthly',
              'name'                  => 'palan name'
              'amount'                => '22',
              'currency'              => 'USD',
              'interval'              => 'month',
              'interval_count'        => '6',
              'statement_descriptor'  => 'test description'
            ]);
}
catch (Stripe\Error\Base $e) { 
    echo($e->getMessage());
}

1 个答案:

答案 0 :(得分:0)

我不熟悉那个库,但我认为问题在于你没有正确捕捉错误,因为Cartalyst在他们自己的命名空间中有这些错误。您可以在他们的documentation中看到这一点,他们会举例说明如何捕获错误:

try {
    $customer = $stripe->customers()->find('foobar');

    echo $customer['email'];
} catch (Cartalyst\Stripe\Exception\NotFoundException $e) {
    // Get the status code
    $code = $e->getCode();

    // Get the error message returned by Stripe
    $message = $e->getMessage();

    // Get the error type returned by Stripe
    $type = $e->getErrorType();
}

他们没有提到如何捕获Base,但我无法访问代码进行仔细检查,但我猜这是一个疏忽,你可以简单地抓住Cartalyst\Stripe\Exception\Base $e