簡體   English   中英

條帶化,在創建訂閱之前檢查優惠券是否存在

[英]Stripe, checking if coupon exists before creating subscription

我正在嘗試在創建訂閱之前檢查優惠券是否存在。 基本上,它使我可以捕獲卡信息,而無需在試用期結束前為卡充電。

如果存在,我不想創建它。 如果沒有,則需要創建它。

但是,當我嘗試這樣做時,它總是拋出錯誤:

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

好了,玩了一段時間之后,我找到了正確的解決方案。 無論出於何種原因,if語句似乎都不適合Stripe API。 因此,我們改為使用try and catch

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM