条带订阅-已禁用按比例更新

时间:2018-08-24 20:19:20

标签: php stripe-payments

我正在使用Stripe来管理订阅,并且我具有用于升级用户订阅的php函数。当前代码如下:

$stripe_subscription = \Stripe\Subscription::retrieve($stripe_subscription_data->id);
$stripe_subscription->plan = $request->plan;
$stripe_subscription->save();

现有代码有效,但是我试图告诉Stripe不要按比例分配订阅。根据{{​​3}},我可以使用更新功能并将prorate设置为false。 Stripe's API。因此,我将代码修改为:

$stripe_subscription = \Stripe\Subscription::retrieve($stripe_subscription_data->id);
\Stripe\Subscription::update($stripe_subscription_data->id, array(
    "items" => array(
        array(
            "id" => $stripe_subscription->items->data[0]->id,
            "plan" => $request->plan,
            ),
        ),
    "prorate" => false,
));
$stripe_subscription->save();

现在使用该函数时,出现错误:

  

“调用未定义的方法Stripe \ Subscription :: update()”

我检查了Stripe的php插件Their example code looks like this,并且正在运行3.14版本,该版本应该定义了更新功能。此外,在同一更新中定义的检索方法没有问题,因此我看不到如何拥有一个未定义但没有另一个。

如何通过更改原始代码或修复未定义的错误来将“ prorate”设置为false来更新订阅?

1 个答案:

答案 0 :(得分:0)

我想我知道发生了什么事-变更日志相当不正确。看来 <a href="#" class="btn btn-primary" onclick="history.go(-1)">Go Back</a>方法是在PHP库的 3.15.0 版本中添加的:

https://github.com/stripe/stripe-php/commit/51d4ece822c4db166adbe2be167564d84bce6222

我还将注意到该版本很旧,建议您升级到最新版本。如果您使用的是旧版本的PHP(由于缺乏安全补丁,不建议在生产环境中使用),那么您最多可以使用5.9.2版:

https://github.com/stripe/stripe-php/blob/master/CHANGELOG.md#600---2018-02-07