首页 > 解决方案 > 空优惠券 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',
]);

标签: stripe-payments

解决方案


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

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);

推荐阅读