Webフックの処理インボイスイントロダクションLaravelキャッシャーは、Stripeによる購読(定期課金)サービスの、読みやすく、スラスラと記述できるインターフェイスを提供します。これにより、書くことが恐ろしくなるような、購読支払いのための決まりきったコードのほとんどが処理できます。基本的な購読管理に加え、キャッシャーはクーポン、購読の変更、購入数、キャンセル猶予期間、さらにインボイスのPDF発行まで行います。設定Composer最初に、composer.jsonファイルに、Cashierパッケージを追加します。次に、app設定ファイルへ、Laravel\Cashier\CashierServiceProviderを登録します。マイグレーションキャッシャーを使用する前に、データベースにいくつかカラムを追加する必要があります。Artisanコマンドで、必要なカラムを追加するマイグレーションが生成されます。usersを実行します。マイグレーションを生成したら、後はmigrateコマンドを実行するだけです。次に、BillableTraitと適切な日付ミューテターをモデルで定義してください。最後に、初期設定ファイルのどれかで、Stripeキーを指定します。User::setStripeKey(&#39;stripe-key&#39;);プランの購読モデルインスタンスを取得したら、そのユーザーに指定したStripeプランを簡単に購読してもらえます。User::find(1);$user-&gt;subscription(&#39;monthly&#39;)-&gt;create($creditCardToken);購読の作成時に、クーポンを適用したい場合は、withCouponメソッドを使用してください。-&gt;create($creditCardToken);subscriptionメソッドは、自動的にStripeの購読を作成すると同時に、StripeのカスタマーIDと関連する支払い情報をデータベースに保存します。Stripeでプランの試用期間を設定している場合、試用終了日も自動的に、ユーザーのレコードに設定されます。Stripeで、プランの試用期間を指定していない場合でも、購読後に手動で終了日を指定することもできます。Carbon::now()-&gt;addDays(14);$user-&gt;save();ユーザーの詳細情報を指定するユーザーに関する詳細情報を追加したい場合は、createメソッドの第2引数に渡すことができます。Customer&#39;]);Stripeがサポートしている追加のフィールドについては、顧客の作成に関するドキュメントをご覧ください。カードの前払いなしアプリケーションで、カードによる前払いなしの試用期間を提供する場合、モデルのcardUpFrontプロパティーをfalseに設定してください。false;アカウント作成時に、試用期間の最終日をモデルへセットするのをお忘れなく。Carbon::now()-&gt;addDays(14);$user-&gt;save();購読の変更ユーザーの購読を新しいものへ変更する場合、swapメソッドを使用してください。$user-&gt;subscription(&#39;premium&#39;)-&gt;swap();ユーザーが試用期間中の場合、試用期間は通常通りに続きます。より、購読が影響を受けることがあります。あなたのアプリケーションで、一つのアカウントごとに一月10ドル課金しているとしましょう。incrementとdecrementメソッドで、簡単に購読数を増減できます。現在の購読数から5つ減らす...$user-&gt;subscription()-&gt;decrement(5);購読のキャンセル購読のキャンセルも、お茶の子さいさいです。$user-&gt;subscription()-&gt;cancel();購読がキャンセルされると、キャッシャーは自動的に、データベースのsubscription_ends_atカラムをセットします。このカラムはいつからsubscribedメソッドがfalseを返し始めればよいのか、判定するために使用されています。顧客が3月1日にキャンセルしたが、その購読が3月5日に終了するようにスケジュールされていれば、subscribedメソッドは3月5日になるまで、trueを返し続けます。購読の再開ユーザーがキャンセルした購読を、再開したいときには、resumeメソッドを使用してください。$user-&gt;subscription(&#39;monthly&#39;)-&gt;resume($creditCardToken);ユーザーが購読をキャンセルし、それからその購読を再開する場合、その購読の有効期日が完全に切れていなければ、すぐに課金されません。その購読はシンプルに再度有効になり、元々の支払いサイクルにより課金されます。購読状況のチェックあるユーザーがアプリケーションのサービスを購読しているか確認するには、subscribedコマンドを使用してください。//}subscribedメソッドは、ルートフィルターにとても有益です。}});また試用期間を採用している場合、そのユーザーが試用期間中であるかを判定するために、onTrialメソッドが使用できます。//}そのユーザーが一度購読し、その後キャンセルしたかを判定するためには、cancelledメソッドが使用できます。//}また、ユーザーが購読をキャンセルしているが、まだ完全に期限が切れる前の「猶予期間」中であるかを調べることもできます。ユーザーが3月5日に購読をキャンセルし、3月10日に無効になる場合、そのユーザーは3月10日までは、「猶予期間」中です。subscribedメソッドは、この期間中、まだtureを返すことに注目して下さい。//}everSubscribedメソッドにより、そのユーザーがアプリケーションの、永久購読プランを持っているかを決定することができます。//}onPlanメソッドにより、そのユーザーが指定されたIDのプランを購入しているかを判定できます。キャッシャーは、顧客の購読を簡単にキャンセルする、Webフックコントローラーを用意しています。コントローラーへのルートを指定するだけです。課金の失敗は、コントローラーにより捉えられ、処理されます。コントローラーは課金に3回失敗すると、その顧客の購読をキャンセルします。この場合のURI、stripe/webhookはただの例にすぎません。Stripe設定のURIを設定する必要があります。Webフックイベントがある場合、シンプルにWebフックコントローラーを拡張してください。メソッド名はCashierが期待する命名規則に従う必要があります。メソッド名はhandleで始まり、取り扱いたいStripeのWebフックを続けます。Webフックを使用したいのなら、コントローラーにはhandleInvoicePaymentSucceededメソッドを追加しなければなりません。APIにより、その購読をキャンセルしようとします。インボイスinvoicesメソッドにより、ユーザーのインボイスの配列を簡単に取得できます。$user-&gt;invoices();顧客に対し、インボイスを一覧表示する場合、そのインボイスに関連する情報を表示するために、以下のヘルパーメソッドが使用できます。}}downloadInvoiceメソッドで、そのインボイスのPDFダウンロードを生成できます。これも本当に簡単です。kawase(Translation).このバージョンのサポートは終了しています。