空优惠券 ID 的值 -STRIPE

Value of empty coupon ID -STRIPE

我正在为订阅创建结帐会话,我有时有优惠券 ID,有时没有。我想知道在没有优惠券时我应该设置 $coupon_id 变量的值。 应该设置为 'none' 还是空字符串 '' ?

$coupon_id = $ID;
} 
else {
$coupon_id = ''; //or 'none' ? 
}

$session = \Stripe\Checkout\Session::create([
  'payment_method_types' => ['card'],
  'line_items' => [[
    'price' => $plan_id,
    'quantity' => 1,
  ]],
  'mode' => 'subscription',
  'discounts' => [[
    'coupon' => $coupon_id,
  ]],
  'success_url' => 'https://example.com/success',
  'cancel_url' => 'https://example.com/cancel',
]);

您是否允许您的用户在结帐页面中输入促销代码?如果是,在创建Session时设置allow_promotion_codes参数。

否则,如果没有可用的优惠券,则完全省略 discounts 参数。

https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-allow_promotion_codes

$params = [
  'payment_method_types' => ['card'],
  'line_items' => [[
    'price' => $plan_id,
    'quantity' => 1,
  ]],
  'mode' => 'subscription',
  'success_url' => 'https://example.com/success',
  'cancel_url' => 'https://example.com/cancel',
];

if ($coupon_id) {
    $params['discounts'] = [[
        'coupon' => $coupon_id
    ]]
}

$session = \Stripe\Checkout\Session::create($params);