微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel Cashier (Stripe) - 更改订阅

如何解决Laravel Cashier (Stripe) - 更改订阅

我正在将 Laravel 应用程序与 Stripe 集成,我决定使用 Laravel Cashier 来实现。 Stripe 配置有 1 个产品,具有两种定价选项 - 每月(2.99 美元)和每年(19.99 美元)。我设法为用户创建了一个订阅并且一切正常,但是当用户决定切换订阅时出现问题 - 假设他选择了年度订阅,然后决定在同一天降级为月度订阅。预期的情况是客户将按年订阅一年,然后开始按月订阅计费。然而,情况似乎并非如此,因为订阅立即更改为每月订阅,客户获得 19.99 积分,按月订阅收费 0,还剩 17 个积分 (19.99 - 2.99)。我还在文档中注意到他们提到了“按比例分配”,但在同一天从按年订阅切换到按月订阅时,这似​​乎只是扔掉了 19.99 的信用额度并立即向客户收取 2.99 的费用。有什么办法可以达到预期的场景吗?

这是我目前使用的代码

$user = $request->user();
$payment_method_id = $request->get('payment_method');
$price_id = $request->get('price_id');

if ($user->stripe_id == null){
    $user->createAsstripeCustomer();
}

if (!$user->subscribed('Basic')) {
    $user->newSubscription('Basic',$price_id)
        ->create($payment_method_id);
}
else {
    $user->subscription('Basic')
        ->swap($price_id);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。