-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
サブスクリプション処理 #2
Comments
task
webhookで受け付けれるのでemailとか?
|
請求モデル: licensed |
退会処理のロジック 入会 => 退会 => 入会
案1: 退会時にuser tableのstripe情報はnullにして、stripe上のcustomerは削除する or 案2: 退会時にuser tableのstripe情報は残す
=> users tableは特にいじらない
退会
|
サブスクリプション不可 顧客のクレジットカードが有効期限切れだったら? 心配いりません。CashierのWebhookコントローラが顧客のサブスクリプションをキャンセルします。失敗した支払いは自動的に捉えられ、コントローラにより処理されます。このコントローラはStripeがサブスクリプションに失敗したと判断した場合、顧客のサブスクリプションを取り消します。(通常、3回の課金失敗) |
課金失敗の処理 最初の方法は、その顧客をCashierに含まれている支払い確認専門ページへリダイレクトする方法です。このページに紐つけたルートは、Cashierのサービスプロバイダで登録済みです。IncompletePayment例外を捉えたら、支払い確認ページへリダイレクトします。 https://qiita.com/mimoe/items/8f5d9ce46b72b7fecff5 https://teratail.com/questions/272376 初回error => try catchする |
Stripeでの課金を払い戻す必要がある場合は、refundメソッドを使用します。このメソッドの第1引数は、Stripe Payment Intent IDです。 $payment = $user->charge(100, $paymentMethod); $user->refund($payment->id); 返金手続きはユーザーにキャンセルしてもらって、stripe dashboardから手動で返金で対応することとする |
Cashierを使用するアプリケーションをテストする場合、Stripe APIに対する実際のHTTPリクエストをモックしたいことがあります。しかしながら、これはCashier自身の動作を部分的に再実装する必要があります。そのためテストでは実際のStripe APIへアクセスすることを勧めます。この方法は低速ですが、アプリケーションが期待どおりに動作していることをより確信できます。そして遅いテストは独自のPHPUnitテストグループに配置できます。 Cashier自身はすでに十分なテストスーツを持っているため、Cashierの裏で実行されているすべての振る舞いをテストする必要がないことを思い出してください。自分のアプリケーションにおけるサブスクリプションと支払いのフローをテストすることだけに集中すべきでしょう。 使用開始する前に、phpunit.xmlファイルへtestingバージョンのStripeシークレットを追加します。 https://stackoverflow.com/questions/60398112/laravel-cashier-unit-tests-with-creating-subscriptions-with-payment-methods laravel dust |
|
https://readouble.com/laravel/7.x/ja/billing.html
そもそもの月額課金の仕様を作成する
https://qiita.com/y_toku/items/235b5e7ee00792edcbbf
https://tech.innovator.jp.net/entry/stripe-subscription-billing-lifecycle-event
product作成 => plan作成 => サブスク処理というながれ
card情報を保存するか否か
決済は一つのサブスクにしか使用しないので保存する必要ない?
一度登録したカードとは違うカードに支払いを切り替えたいという要望も出てくる
=> 保存できるカードは1枚までとし、users tableに保存
切り替えたい場合はusers tableを更新し、stripeのpayment methodを更新 + 次からのサブスク処理を新しく登録したカードで処理できるようにする
https://takkublog.net/stripe03/
https://pllogg.com/laravel/1424/
The text was updated successfully, but these errors were encountered: