Laravel 收银员 `$user->subscribed()` 当不存在订阅时返回 true

TH1*_*981 1 laravel laravel-cashier

我的代码很简单:

if($user->subscribed('main')){
    $user->subscription('main')->cancel();
}
Run Code Online (Sandbox Code Playgroud)

我得到这样的回应:

Stripe \ Error \ InvalidRequest
No such subscription: sub_EQTvxKjit2Ak6i
Run Code Online (Sandbox Code Playgroud)

事实上,订阅之前已经被取消,所以它不应该给出回应true。

我尝试返回$user->subscribed('main'),结果返回为true.

该用户有其他订阅,但“主要”未激活。

我错过了什么吗?

Eri*_*rin 5

更新收银员 v13.4

您可以首先使用以下命令将数据库条目与 Stripe 同步:

optional($user->subscription('main'))->syncStripeStatus();
Run Code Online (Sandbox Code Playgroud)

然后打电话

 if ($user->subscribed('main')) { ... }
Run Code Online (Sandbox Code Playgroud)