Я пытаюсь продать подписку через Stripe, подписка имеет места. Пользователи могут иметь подписку на 4 места без оплаты. По сути, это будет пробная версия до следующего месяца, но если пользователь решит иметь дополнительное место, он должен немедленно заплатить за это дополнительное место.
так что в основном у меня есть подписка с пробной версией на 30 дней, которая может включать дополнительную оплату на месте
я использую сеанс оформления заказа для настройки подписки, потому что не хочу собирать банковскую информацию пользователя
Что касается дополнительной платы, я нашел предмет add_invoice_items, который, я думаю, позволит мне продать подписку с пробной версией и за дополнительную плату.
проблема в том, что полоса не принимает этот параметр, когда я пытаюсь создать его с помощью сеанса оформления заказа
во всех документах по этому элементу используется прямой метод создания подписки со сбором информации о пользователе и созданием подписки через 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]",
Я не уверен, возможно ли это вообще, или, может быть, я неправильно понял документацию и должен создать отдельный сеанс оформления заказа за дополнительную плату
поэтому я должен спросить, возможно ли вообще продать подписку с пробной версией, но добавить к ней дополнительную комиссию, чтобы заплатить сразу за один сеанс оформления заказа?






Массив add_invoice_items подписки используется для добавления разовых цен к подписке. Их можно использовать в этой ситуации, поскольку они будут сняты один раз и до суда.
С помощью Checkout вы можете добавлять в массив line_items как повторяющиеся, так и разовые цены.
Если я правильно понимаю, скажем, место стоит 100 долларов США, вам потребуется единовременная цена 100 долларов США ($price_one) и повторяющаяся цена 100 долларов США ($price_sub).
'line_items' => [
[
'price' => $price_sub->id ,
'quantity' => 5,
],
[
'price' => $price_one->id ,
'quantity' => 1,
]
]
Сейчас взимается 100 долларов США, а после пробного периода — 500 долларов США.