首页 > 解决方案 > 如果客户付款不完整,请重定向客户

问题描述

我想使用 Cashier 创建一个受限页面。简而言之,我希望开始订阅的页面具有以下限制:

这是我的代码:

if(Auth::user()->subscribed('default')) {
   return redirect()->route('index')->with('error', 'You already have an active subscription right now.');
}

if(Auth::user()->subscribed('default') || Auth::user()->subscription('default')->hasIncompletePayment()){
   return redirect()->route('account.invoices')->with('warning', 'You have a payment invoice for a pending subscription. Make payment or cancel.');
}

使用我的这段代码,唯一的问题是当我尝试使用没有订阅的用户访问该页面时,会出现此错误:

在 null 上调用成员函数 hasIncompletePayment()

标签: laravel

解决方案


if(Auth::user()->subscribed('default')) {
   return redirect()->route('index')->with('error', 'You already have an active subscription right now.');
}

if(!empty(Auth::user()->subscription('default'))){
   if(Auth::user()->subscribed('default') || Auth::user()->subscription('default')->hasIncompletePayment()){
      return redirect()->route('account.invoices')->with('warning', 'You have a payment invoice for a pending subscription. Make payment or cancel.');
   }
}

检查订阅 == null 为空


推荐阅读