Laravel 向订阅中添加定期和一次性费用

Laravel 向订阅中添加定期和一次性费用,laravel,stripe-payments,laravel-cashier,Laravel,Stripe Payments,Laravel Cashier,我们的用户需要能够在他们的帐户上激活插件,这将花费1倍的安装费(比如100美元),然后是每月的定期费用(比如10美元)。我可以手动执行此操作,方法是转到Stripe Dashboard,查找订阅,添加这两个项目(一次性100美元和定期10美元),然后单击“更新”。但是,当我更改代码时: $subscription->swapAndInvoice([ 'site-membership', // all users already have this plan

我们的用户需要能够在他们的帐户上激活插件,这将花费1倍的安装费(比如100美元),然后是每月的定期费用(比如10美元)。我可以手动执行此操作,方法是转到Stripe Dashboard,查找订阅,添加这两个项目(一次性100美元和定期10美元),然后单击“更新”。但是,当我更改代码时:

    $subscription->swapAndInvoice([
        'site-membership', // all users already have this plan

        '10-monthly-fee',  // this is the addon being added
        '100-one-time-fee' // one-time addon fee
    ]);
我得到一个错误:

Stripe\Exception\InvalidRequestException: 您传递了一个非周期性价格,但此字段仅接受周期性价格


如果我不能使用
交换
,是否有其他方法可以一次完成这一切?我知道我可以为一次性费用开具独立发票,但我不希望我们的客户收到两张单独的发票,因为他们只需为110美元开具一次发票。这可以通过使用出纳实现吗?

出纳中没有直接的方法,但我找到了一种通过将值传递给Stripe来实现这一点的方法。()

    $subscription->swapAndInvoice([
        'site-membership',
        '10-monthly-fee'
    ], [
        'add_invoice_items' => [
            [ 'price' => '100-one-time-fee' ]
        ]
    ]);