条带化,在创建订阅之前检查优惠券是否存在

时间:2018-09-13 21:11:27

标签: php stripe-payments

我试图在创建订阅之前检查优惠券是否存在。基本上,我可以在不支付卡费用的情况下捕获卡信息,直到试用期结束。

如果存在,我不想创建它。如果没有,则需要创建它。

但是,当我尝试这样做时,它总是抛出错误:

// 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,
  ));
}

1 个答案:

答案 0 :(得分:1)

好一会儿之后,我找到了正确的解决方案。无论出于何种原因,if语句似乎都不适合Stripe API。因此,我们改为使用trycatch

try {
    \Stripe\Coupon::retrieve('free-period');
  } catch(\Exception $e) {
    \Stripe\Coupon::create(array(
      'percent_off' => 100,
      'duration' => 'once',
      'id' => 'free-period'
      )
    );
  }