私はLaravel Cashierを実装している間に大きな頭痛を覚えています。私は正常に購読を作成し、カードを請求し、トークンを受け取り、すべての情報を購読表に格納しました。Laravel Cashier返信定期購読情報
私は標準的な方法が機能していないいくつかの理由のために、次のコードを使用して、これをやっている:これは私たちが使用するように指示されている標準的なコードと異なって
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();
これが機能していない、それはとても景色を避けるために、それだけで偽のたびに戻っている、アウトerroringとすべてがされていない、私はこれをしませんでした。
dd(Auth::user('id')->subscribed());
これらの番組はすべて、ユーザーやパッケージに関係なく偽です。
キャッシャーをUserモデルの一部として添付した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',
];
}
今、私はここで本当に明白な間違いを作ることができますが、このアプリケーションは、任意のヘルプは大歓迎ですので、ここで私の存在を巻き込むています!
おかげで、この小さな問題に答えを@ceejayozするために多くのおかげで
"私は次のコードを使用してこの作業を行っていますが、何らかの理由で標準的な方法が動作していません..."なぜそこから始めませんか?どのような標準的な方法ですか?なぜ彼らは働いていないのですか?そのようなことは、解決すべきあなたのアプリケーションのより大きな問題に話しています。 – ceejayoz
標準的な方法はかなり正直なところ私の変換で構成され、Authの部分は$ user ...の変数になります。 その部分に小さな違いがあります。 私は何時間もウェブを精査して、それを理解しようとしています。\ あなたは何か提案できますか? ありがとう –
現在のユーザは '$ request-> user()'でアクセスすることができます。あるいは、 'public function createSubscription(Request $ request、\ Illuminate \ Contracts \ Auth \ Factory $ user) '$ user'を自動的にあなたの関数で利用できるようにします。 – ceejayoz