Php 获取数量按比例变化的发票

Php 获取数量按比例变化的发票,php,stripe-payments,Php,Stripe Payments,我想获得使用Stripe更改订阅数量的成本。我找到了API,它看起来应该可以工作,但我还没有找到传递给它的参数的正确组合 这将返回错误,您必须传递一个计划、价格或价格数据。: $this->stripe->invoices->upcoming([ 'customer' => $this->stripe_id, 'subscription' => $this->subscription_id, 'subscription_items

我想获得使用Stripe更改订阅数量的成本。我找到了API,它看起来应该可以工作,但我还没有找到传递给它的参数的正确组合

这将返回错误
,您必须传递一个计划、价格或价格数据。

$this->stripe->invoices->upcoming([
    'customer' => $this->stripe_id,
    'subscription' => $this->subscription_id,
    'subscription_items' => [[
      'quantity' => $quantity
    ]]
 ]
但是当我添加price id时,如下所示,我得到一个错误
无法使用相同的计划添加多个订阅项目:price\u 1H…

$this->stripe->invoices->upcoming([
    'customer' => $this->stripe_id,
    'subscription' => $this->subscription_id,
    'subscription_items' => [[
        'price' => $this->price_id,
        'quantity' => $quantity
    ]]
]));

删除订阅id只会返回全新订阅的成本,而不会返回现有订阅的按比例发票。

与往常一样,在发布我解决的问题两秒钟后,除了传递订阅id外,还需要传递订阅项目的id,我通过以下代码段做到了这一点:

$subscription = $this->stripe->subscriptions->retrieve($this->subscription_id);
$this->stripe->invoices->upcoming([
    'customer' => $this->stripe_id,
    'subscription' => $this->subscription_id,
    'subscription_items' => [[
        'id' => $subscription->items->data[0]->id,
        'quantity' => $quantity
    ]]
]);

正是我要告诉你的:订阅项目需要现有项目id,或者将其视为新的(附加)项目。