我试图在创建订阅之前检查优惠券是否存在。基本上,我可以在不支付卡费用的情况下捕获卡信息,直到试用期结束。
如果存在,我不想创建它。如果没有,则需要创建它。
但是,当我尝试这样做时,它总是抛出错误:
// Check if coupon is valid
$coupon_check = \Stripe\Coupon::retrieve('free-period');
if (!$coupon_check->valid) {
$coupon = \Stripe\Coupon::create(array(
'duration' => 'once',
'id' => 'free-period',
'percent_off' => 100,
));
}
答案 0 :(得分:1)
好一会儿之后,我找到了正确的解决方案。无论出于何种原因,if语句似乎都不适合Stripe API。因此,我们改为使用try
和catch
。
try {
\Stripe\Coupon::retrieve('free-period');
} catch(\Exception $e) {
\Stripe\Coupon::create(array(
'percent_off' => 100,
'duration' => 'once',
'id' => 'free-period'
)
);
}