サブスクリプションを管理するために、Stripe と一緒にLaravel Cashierを使用しています。ユーザーはサインアップ時にクレジット カード情報を提供しますが、この時点では特定のプランに加入することはありません。そのため、Stripe Checkout を使用して Stripe 顧客オブジェクトを作成し、Stripe 顧客 ID をデータベースに保存できます。しかし、ユーザーがプランに登録するときが来たら、Stripe 顧客 ID を使用してユーザーが希望するプランに登録する方法がわかりません。
もちろん、彼らのクレジット カード情報をもう一度尋ねて、Laravel Cashier で使用する Stripe トークンを取得することもできますが、サインアップ時にアプリがすでに Stripe 顧客オブジェクトを作成しているので、これは避けたいと思います。カード番号を再度尋ねるのではなく、既存の顧客オブジェクトを使用してクレジット カードに請求するだけです。
私がやろうとしていることを説明するために、Laravel ドキュメントのサンプル コードを次に示します。
$user->newSubscription('main', 'monthly')->create($creditCardToken);
しかし、私ができるようにしたいのは、次のようなことです ( create メソッドの変更に注意してください:
$user->newSubscription('main', 'monthly')->create($user->stripe_id);
何かアドバイス?