Stripeのドキュメントでは、課金APIは同期的であると説明されています。では、なぜWebhookが必要なのですか?
アプリケーションがStripe_Charge::create()
(PHPで)を実行する場合、戻り値を取得してデータベースに成功したトランザクションとして記録し、同じ実行で確認メールを送信することはできませんか?
Webhookは、通知が必要な別のバックオフィスシステムがある場合にのみ使用されますか?Webhookで聞くのに役立つ他の種類のイベントは何ですか?
Stripeのドキュメントでは、課金APIは同期的であると説明されています。では、なぜWebhookが必要なのですか?
アプリケーションがStripe_Charge::create()
(PHPで)を実行する場合、戻り値を取得してデータベースに成功したトランザクションとして記録し、同じ実行で確認メールを送信することはできませんか?
Webhookは、通知が必要な別のバックオフィスシステムがある場合にのみ使用されますか?Webhookで聞くのに役立つ他の種類のイベントは何ですか?
Stripe_Charge :: create()を呼び出すとき、あなたが述べたように、それを成功したトランザクションとしてログに記録し(失敗しなかったと仮定して)、確認メールを送信することができます。
Webhookは、サブスクリプションの販売など、ストライプを使用して定期的な支払いを管理する場合に非常に役立ちます。このシナリオでは、ユーザーの要求によって直接開始されなかった多くのことが起こっています。
たとえば、ユーザーが30日間の無料トライアルがあるゴールドプランに加入しているとします。試用期間が終了する3日前に、customer.subscription.trial_will_endWebhookがトリガーされます。これに対応するには、サブスクリプションを試してくれたことに感謝するメールを顧客に送信し、カードに請求が行われることを顧客に通知します。
その後、3日後にカードに請求され、支払いが成功すると、charge.succeeded webhookに応答して、毎月請求書を送信できます。
もう1つの非常に便利なWebhookはcharge.failedです。再試行の設定によっては、カードが拒否されていることをユーザーに通知し、n日以内にサブスクリプションが終了することをユーザーに警告することでこれに対応できます。
要約すると、サブスクリプションや請求書を利用していない場合、Webhookの有用性は限られています。しかし、あなたがそうなら、それらは不可欠です。