Laravel Cashier Return订阅信息

问题描述:

我在实施Laravel Cashier时遇到了很大的麻烦,我已成功创建了订阅,为此卡充值,收到了令牌并将所有信息存储在订阅表中。Laravel Cashier Return订阅信息

我做这个使用下面的代码,由于某些原因,标准方法不工作:

public function createSubscription(Request $request) { 

    \Stripe\Stripe::setApiKey('sk_test_XXXXXXXXXXXXXXXXX'); 
     Auth::user('id')->newSubscription('monthly', 'basic')->trialDays(30)->create($request->stripeToken); 
     Session::flash('message', 'Your subscription has been updated, thank you.'); 
      return view('pages.packages')->with('user', Auth::user()); 
} 

一样多,因为这从我们被告知要使用标准的代码不同,它的作品! 继续前进,所以当数据进入表格时,我应该可以调用下一个收银员来检查用户是否已订阅;

$user->subscribed(); 

Ofcourse,如果我们去的办法我只好结构之前,我们最终像这样的代码;

Auth::user('id')->subscribed(); 

这不是工作,它不示数时,它每次只返回false,所以要避免的观点和所有这一切,我这样做;

dd(Auth::user('id')->subscribed()); 

而且所有显示的都是错误的,无论是用户还是软件包!

我觉得我的User.php中可能缺少一些东西,这是我们将收银员附加到用户模型的一部分!像这样;

namespace App; 

use Illuminate\Notifications\Notifiable; 
use Illuminate\Foundation\Auth\User as Authenticatable; 
use Laravel\Cashier\Billable; 



class User extends Authenticatable 
{ 
use Billable; 
use Notifiable; 

/** 
* The attributes that are mass assignable. 
* 
* @var array 
*/ 
protected $fillable = [ 
    'name', 'email', 'password', 
]; 

/** 
* The attributes that should be hidden for arrays. 
* 
* @var array 
*/ 
protected $hidden = [ 
    'password', 'remember_token', 
]; 

/** 
* The attributes that should be hidden for arrays. 
* 
* @var array 
*/ 
protected $dates = [ 
    'trial_ends_at', 'subscription_ends_at', 
]; 
} 

现在,我可以在这里做一个非常明显的错误,但这个应用程序是在这里吞没我的存在,因此任何帮助将非常感谢!

感谢

+0

“我正在使用下面的代码,因为某些原因,标准方法不工作......”你为什么不从这里开始?什么标准方法?他们为什么不工作?这样的事情可以解决您的应用程序中应解决的更大问题。 – ceejayoz

+0

坦率地说,标准的方法将包括我转换,Auth部分变成$ user的变量。因此,这部分只有很小的差异。 我一直在搜寻网络几个小时,试图找出这一点。\ 有什么,你可以建议? 谢谢 –

+0

当前用户可以通过'$ request-> user()'来访问,或者你可以使用契约和依赖注入来执行'public function createSubscription(Request $ request,\ Illuminate \ Contracts \ Auth \ Factory $ user) '自动将'$ user'用于你的函数。 – ceejayoz

随着许多感谢的答案@ceejayoz这个小问题不调用是保存到条纹的实际计划ID,它是调用(“月”),而不是!

$user->subscribed('monthly'); 
+0

什么样的愚蠢的设置是这样的?传递订阅名称而不是ID?上帝我花了3个小时试图弄清楚为什么我的模型中与订阅相关的所有内容都为空。我发誓我不小心读了你的答案,你可能为我节省了一天的工作时间。 –