【问题标题】:Get upcoming Stripe invoice for prorated change in quantity获取即将到来的 Stripe 发票以按比例更改数量
【发布时间】:2020-12-17 14:45:14
【问题描述】:

我想了解使用 Stripe 更改订阅数量的费用。我找到了Upcoming API,它看起来应该可以工作,但我无法计算出正确的参数组合来传递给它。

这会返回错误You must pass one of plan, price, or price_data.

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

但是当我添加价格 ID 时,如下所示,我收到错误 Cannot add multiple subscription items with the same plan: price_1H...

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

删除订阅 ID 后只会返回全新订阅的费用,而不是现有订阅的按比例分配的发票。

【问题讨论】:

    标签: php stripe-payments


    【解决方案1】:

    与往常一样,在发布问题两秒钟后,我解决了问题 - 除了传递订阅 id 之外,还需要传递订阅项的 id,这是我通过这个 sn-p 完成的:

    $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
        ]]
    ]);
    

    【讨论】:

    • 正是我要告诉你的:subscription_item 需要现有项目 id 或者它被视为新的(附加)项目。
    猜你喜欢
    • 2019-06-04
    • 1970-01-01
    • 2020-10-05
    • 2021-04-15
    • 1970-01-01
    • 2020-08-01
    • 2020-09-06
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多