我试图通过stripe销售订阅,订阅有座位用户可以订阅4个座位,基本上不需要付费,这将是下个月的试用期,但如果用户选择有额外的座位,他必须立即为额外的座位付费
所以基本上我有一个30天试用期的订阅,其中可能包括现场额外付款
我使用结账会话来设置订阅,因为我不想收集用户的银行信息
至于额外费用,我找到了
add_invoice_items
我认为这将使我能够在试用和额外付款的情况下出售订阅
问题是stripe在我尝试使用checkout会话创建它时不会接受这个参数
关于这个项目的所有文档都使用了直接的方法,即通过收集用户信息创建订阅,并通过api创建订阅,而不是签出
这是我的代码
$session = $client->checkout->sessions->create([
'success_url' => config('front.public_url').'/payment?stat=ok' ,
'cancel_url' => config('front.public_url').'/payment?stat=cancel',
'line_items' => [
[
'price' => $price->id ,
'quantity' => 1,
],
],
'mode' => 'subscription',
'subscription_data' => [
'trial_period_days' => 30 ,
'trial_settings' =>['end_behavior' => ['missing_payment_method' => 'pause']] ,
'add_invoice_items' => ['price' => $price->id , 'quantity' => 1]
],
]);
我收到这个错误:
"message": "Received unknown parameter: subscription_data[add_invoice_items]",
我不确定这是否可能,或者我误解了文档,应该为额外的费用创建一个单独的结账会话
所以我不得不问,是否有可能在试用期内出售订阅,但在此基础上再加一笔额外费用,以便在一次结账时立即付款?