【问题标题】:Laravel Cashier throwing exception No such subscription on cancel subscriptionLaravel Cashier 抛出异常 取消订阅时没有此类订阅
【发布时间】:2021-03-31 11:38:39
【问题描述】:

“没有这样的订阅:'sub_Ic51hhLuYFOFNN'”。

我正在尝试使用 Laravel 收银员取消条带订阅。之上 调用 cancelNow() 函数 Stripe 会引发异常。每次我发送不同的 Stripe 计划但 Stripe 都会抛出相同的异常:

没有这样的订阅:'sub_Ic51hhLuYFOFNN'

if ($user->subscription('main',$subscription->stripe_plan)->cancelNow()) {
    session()->flash('error', 'Unsubscribed package succesfully.');
}

【问题讨论】:

  • 您在使用 Connect 吗?如果是这样,订阅是否可能存在于不同的帐户中?另一种可能性是您在某处使用了错误的 API 密钥。
  • 这里是场景: 1) 我已经创建了三个计划。 2)我已经订阅了所有这些计划。3)我取消了第一个计划,它取消了成功。 4)当我取消订阅第二个计划时,stripe/laravel收银员抛出这个异常“没有这样的订阅:'sub_Ic51hhLuYFOFNN'”
  • sub_Ic51hhLuYFOFNN 这是取消订阅/取消的第一个订阅的 ID。我不知道为什么在我取消订阅时第二次抛出这个 id sub_Ic51hhLuYFOFNN
  • 你能分享你正在使用的代码取消订阅第一个计划吗?听起来您可能会取消整个订阅,而不是删除一个计划。
  • ` foreach($user->subscriptions as $subscription) if($subscription->stripe_status != 'canceled' && $subscription->stripe_plan == $package['stripe_plan_id'] ){ $ subscriptionId = $subscription->stripe_plan; } } try{ if( $user->subscription($subscriptionId)->cancelNow()) { session()->flash('error', '取消订阅包成功。'); } } catch (Exception $ex) { session()->flash('error', '出了点问题。'); } `

标签: laravel stripe-payments laravel-cashier


【解决方案1】:

此错误表明没有提供的 id 订阅。也许您必须检查您使用的 Stripe 的环境。根据您所在的环境有不同的数据,因此您必须检查数据是否存在于您的环境中。

在 stripe 中有两种不同的环境:生产环境和测试环境

【讨论】:

  • 这里是场景:1)我已经创建了三个计划。 2)我已经订阅了所有这些计划。3)我取消了第一个计划,它取消了成功。 4)当我取消订阅第二个计划时,stripe/laravel收银员抛出这个异常“没有这样的订阅:'sub_Ic51hhLuYFOFNN'”
  • sub_Ic51hhLuYFOFNN 这是取消订阅/取消的第一个订阅的 ID。我不知道为什么在我取消订阅时第二次抛出这个 id sub_Ic51hhLuYFOFNN
  • 我猜你不能再次取消订阅相同的订阅。也许这就是问题所在。您必须根据应用程序的逻辑检查是否正确设置了条带
  • 是的,我无法取消订阅相同的订阅,并且我不想这样做。问题是我每次都传递不同的 stripe_plan 键,但是在我单击取消订阅时,stripe 总是抛出相同的异常
  • 指定订阅是否存在 Stripe 计划密钥?
猜你喜欢
  • 2020-07-25
  • 2017-04-06
  • 2015-05-01
  • 2021-04-02
  • 2020-01-12
  • 2022-01-19
  • 2018-01-15
  • 1970-01-01
  • 2022-01-03
相关资源
最近更新 更多