Jac*_*row 3 php stripe-payments
我想获取使用 Stripe 更改订阅数量的成本。我找到了即将推出的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
]]
]
Run Code Online (Sandbox Code Playgroud)
但是当我添加价格 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
]]
]));
Run Code Online (Sandbox Code Playgroud)
删除订阅 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
]]
]);
Run Code Online (Sandbox Code Playgroud)