【发布时间】:2017-07-20 18:10:49
【问题描述】:
在继续对其 API 的其余调用之前,我正在尝试检查优惠券代码在条带中是否有效。如果您向他们发送无效的订阅优惠券代码,则会收到致命错误。
所以,作为一个菜鸟,我想我会尝试try/catch,但显然我搞砸了。我正在做这样的事情:
if (!empty($_POST['coupon'])) { //see if person even submitted a code
try {
$couponValid = \Stripe\Coupon::retrieve($coupon);
throw new Exception();//if not a valid coupon code
} catch (Exception \Stripe\Error\InvalidRequest $e) {
echo("error");
}
}
//run the rest of the code if no errors
这仍然给我致命的错误,即优惠券代码不存在(它不存在)。
PHP Fatal error: Uncaught Stripe\Error\InvalidRequest: No such coupon: fdsf
条纹文档说要处理我正在做的错误like this(我认为)
我在这里做错了什么。
【问题讨论】:
-
在您发表评论后,我又进行了一些挖掘工作。拿了一份 Stripe API 并自己运行了一些测试。 \Stripe\Error\InvalidRequest 被成功捕获。我相信错误可能是由您在此处发布的内容之后产生的。仅从上面发布的内容来看,如果 $_POST['coupon'] 为空,它将在您的评论中获取并运行下面的内容。在您上面发布的代码之后,是否有使用优惠券的 Stripe 调用,而不是包含在它自己的 try/catch 中?
标签: php stripe-payments