我正在使用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来更新订阅?
答案 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