問題タブ [laravel-cashier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Billing/Cashier を使用して Laravel がクーポンを適用しない
作成時にユーザーのサブスクリプションにクーポンを適用しようとしています。
これを行うには、次のコードを使用しています。
の値を確認しまし$request->coupon
たが、クーポンが含まれています。クーポンは存在し、Stripe にあります (これはプログラムで検証されているため、クーポンに問題がないことはわかっています)。
サブスクリプションは Stripe 内で作成されますが、クーポンを考慮せずに全額が請求されます。
クーポンは Web サイトと同様にテスト環境にあります。トランザクションもテスト環境で行われます。
laravel - laravel を使用してストライプの計画を作成する
ストライプのアプリケーションから計画を作成したいと考えています。シナリオは、ユーザーが定期的な支払いとして異なる価格で請求されることです。そのため、ユーザーごとにプランを作成したいと考えています。
私はlaravel 5を使用しています"laravel/cashier": "~5.0"
php - Laravel Cashier Webhook: 現在のユーザーを取得
handleCustomerSubscriptionDeleted
以下を使用して、デフォルトのメソッドをオーバーライドしますapp/Http/Controllers/WebHookController.php
。
これが実際にデフォルトを上書きするためには、ルートを拡張コントローラーに更新する必要がありますか、それともデフォルトを参照する必要がありますか? デフォルトのままにしておくと、Laravelにコントローラーの存在を知らせることさえできないと思いますが、確認したかったのです。
現時点の:
これの他の部分は、handleCustomerSubscriptionDeleted
これが参照している現在のユーザーを取得して、他のアクションを実行できるようにしたいです。この場合、レコードを自動的に非公開に設定します。ユーザーを取得するための最良の方法は何ですか? $payload['data']['object']['customer']
users テーブルの列を保持して関連付けることができるようstripe_id
ですが、確認したいと思います。助けてくれてありがとう!
アップデート
私は(ドキュメントに基づいて)、次のようになるはずだと信じています:
次に、ルートを次のように更新しました。
しかし、まだ発砲していません。しかし、私が疑問に思っているのはhandleCustomerSubscriptionDeleted
、「キャンセルしたとき」と呼ばれるか、猶予期間が終了して実際のサブスクリプションがキャンセルされた後に呼び出されるかということです。待機中のゲームをローカルでプレイするよりも、これをテストするためのより信頼できる方法はありますか?
アップデート #2
オーバーライド クラスを次のように更新しました。
私が変更した部分は$billable
、以前考えていたユーザー ID ではなく、応答が返すものであるため、ユーザーを検索するように変更することでした。@Shazが言及したように、localtunnel.meを試してみましたが、これによりリクエストを送信できましたが、影響を与えたい顧客IDを渡すことができませんでした。すべてが正しいことを確認する方法がわかりません実際に働いています。Cashier を介して手動でイベントを実行できるかどうかを調べてみることもできますが、それでも少し奇妙に思えます。
アップデート #3
聞く限り、少し簡単なことを試してみましたcustomer.subscription.created
(すぐに起動するため):
localtunnel.me を使用して Webhook をセットアップしましたが、Webhook に正しく応答しているようには見えません。Stripe ダッシュボード (顧客 ID が設定されていないことは明らかです) は問題ありません。500エラーについて私が得ている応答は、残念ながら、Laravelが吐き出しているソースコードのごちゃごちゃした混乱の中で失われている/途切れています:
laravel-5 - Laravel Cashier を使用して、Stripe サブスクリプションの開始日を指定します
ユーザーサブスクリプションを処理するために、Laravel Cashier を介して、Stripe を使用するアプリケーションを開発しています。ユーザー アカウントが作成されると、手動で確認する必要があります (ビジネス ロジックのためにこの方法で行う必要があります) が、サブスクリプションはすぐに開始されます。サブスクリプションを一時停止し、各アカウントが確認された後にのみ開始する方法はありますか? 私はLaravel5を使用しています。
laravel - Laravel Cashier - Stripe支払いが成功したかどうかを確認する方法
ストライプ支払いに Laravel 5.1 のキャッシャーを使用しています。ストライプ支払いが成功した場合にのみ、新しいデータベース エントリを作成する方法を確認したい。私はこのようなことをしています:
ストライプ サブスクリプションは true または false を返すので、最後の支払いが成功したかどうかを確認して続行できると思いました。しかし、$subscribe
空です。
DB 挿入クエリを続行する前に、最後のストライプ支払いが成功したかどうかを確認するにはどうすればよいですか? 私はドキュメントを読みましたが、使用するような全体的なサブスクリプションの確認についてのみ言及されています
ただし、最後のストライプ サブスクリプションの請求が成功したかどうかを確認する方法については言及されていません。どうすればいいですか?