stripe checkout:试用订阅和附加付款(add_invoice_items)错误

问题描述 投票:0回答:1

我试图通过 stripe 出售订阅,订阅有席位用户可以订阅 4 个席位而无需付费,基本上这将是一个试用期,直到下个月,但如果用户选择拥有额外的席位,他必须立即为额外的席位付费

所以基本上我订阅了 30 天的试用期,其中可能包括当场额外付款

我使用结账会话来设置订阅,因为我不想收集用户银行信息

至于额外费用,我找到了

add_invoice_items
项目,我认为它可以让我通过试用和额外付款来出售订阅

问题是当我尝试使用结帐会话创建它时,stripe 不会接受此参数

该项目的所有文档均采用直接创建订阅的方式,通过收集用户信息并通过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]",

我不确定这是否可能,或者我可能误解了文档,应该创建一个单独的结账会话以支付额外费用

所以我不得不问是否有可能通过试用来销售订阅,但在此基础上添加额外费用以便通过一次结账会话立即付款?

php laravel stripe-payments
1个回答
0
投票

订阅的

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,
    ]
]
© www.soinside.com 2019 - 2024. All rights reserved.