我正在使用我的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());
}
答案 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