2016-09-22 4 views
-1

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(); 

물론, 코드를 구조화해야한다면, 이렇게 끝내야합니다.

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

작동하지 않습니다, 너무보기를 방지하고 모든 것을 할 때마다 false를 반환하고, 밖으로 erroring되지, 내가 이런 짓을;

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

답변

2

스트라이프에 저장되는 실제 계획 ID를 호출하지 않는이 작은 문제에 대한 답변을 @ceejayoz하는 대신 ('월')를 호출하는 것입니다!

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

어떤 종류의 바보 설정이 무엇입니까 ??? id 대신 구독 이름을 전달 하시겠습니까 ??? 하나님로드 3 시간 동안 내 모델에서 구독과 관련된 모든 항목이 null 인 이유를 알아 냈습니다. 나는 실수로 당신의 답을 읽었을 맹세합니다. 당신은 아마 저에게 하루의 하루를 구했습니다. –