Laravel 收银台 `->withCoupon()->swap()` 不工作

Laravel Cashier `->withCoupon()->swap()` not working

我正在尝试更新订阅并同时添加优惠券。这是代码:

$user->subscription('subscription_name')->withCoupon($request->stripe_coupons)->swap($planName);

我得到的错误是 Call to undefined method Laravel\Cashier\Subscription::withCoupon()

我的理解是这应该可行。如果我删除 ->withCoupon() 位,它工作正常,我可以在收银员代码中看到该方法。我做错了什么??

因为有人提到它,据我所知我使用的是最新版本。 Cashier 是使用 composer require laravel/cashier 安装的,但这似乎让我在 composer.json 文件中处于 "laravel/cashier": "^9.3",

我该如何解决?

根据我的评论,代码应该是这样的。

    $subscription = $user->subscription('subscription_name');

    // Swap Plan with Coupon
    $subscription->swap($planName, [
        'coupon' => $request->stripe_coupons,
    ]);

You can see the development code here

Repository laravel/cashier master

已更新

显然,版本 10 仍在开发中。 (dev-master)

尝试更新作曲家,看看它是否已更新。

composer update

如果不更新,请手动更新。修改composer.json.

"require":
{
    ...
    "laravel/cashier": "dev-master",
    ...
}

运行 composer update 再次更新更改。

但如果它有效,您会很清楚,在您发布生产版本之前,您将无法使用该功能。

我警告你,不建议在生产中使用开发版本。因为他们没有通过必要的测试来验证最低稳定性。

尝试后,您可以随时返回到上一个。

"require":
{
    ...
    "laravel/cashier": "^9.3"
    ...
}

运行 composer update 再次更新更改。

请采纳为正确答案,如果有用,如果觉得我值得投赞成票,非常感谢。

亲切的问候。