2017-04-05 4 views
0

Laravel 5.1でストライプ支払いを初めて統合しています。このチュートリアルSimple Payments with Stripe and Laravelを参照してすべての手順を完了しました。Laravel 5.1にストライプ支払い詳細を保存する問題があります

支払い後、私はこのエラーを取得しています:ストライプログで

enter image description here

、その支払いが正常に行わ私を見ます。私は、この機能では、このエラーを取得しています

public function createStripeCustomer($token) 
{ 
    \Stripe\Stripe::setApiKey(env('STRIPE_SECRET')); 

    $customer = \Stripe\Customer::create(array(
     "description" => Auth::user()->email, <-- Error at this line 
     "source" => $token 
    )); 

    //Auth::user()->stripe_id = $customer->id; 
    Auth::user()->save(); 

    return $customer; 
} 

私は、ユーザーのために怒鳴るスキーマを作成しているが、保存する必要のある内容を理解していません:

Schema::table('users', function ($table) { 
    $table->string('stripe_id')->nullable(); 
    $table->string('card_brand')->nullable(); 
    $table->string('card_last_four')->nullable(); 
    $table->timestamp('trial_ends_at')->nullable(); 
}); 
+0

ユーザーを承認していないため、Auth :: user()がfalseを返したため、ログインしてもう一度お試しください。 –

+0

@VaheGalstyan私はあなたが私のことを説明しているように努力していますが、このフィールドにどのような詳細を保存する必要があるのか​​教えてください: 'stripe_id、card_brand、card_last_four、trial_ends_at'。 –

+0

チュートリアルを使用して、回答を追加しました。 –

答えて

0

は、使用してルートを守りますAuthミドルウェア:

Route::get('stripepayment', [ 
    'middleware' => 'auth', 
    'uses' => '[email protected]' 
]); 

自動的にAuth :: user()がチェックされ、loにリダイレクトされますあなたがログアウトすると偶然のページが表示されます。

ログインしていないため、Auth :: user()を取得できないため、コードにエラーが発生します。

+0

私はあなたが私の説明をしているように努力していますが、このフィールドにどのような詳細を保存する必要があるのか​​教えてください: 'stripe_id、card_brand、card_last_four、trial_ends_at'。 –

+0

@ Mr.Happy in stripe_id $ customer-> id、card_brandはユーザが選択したもの、card_last_fourは入力されたカード番号の最後の4文字をフェッチし、trial_ends_atはカードの有効期限 –