Stripeで多くのイベントをリッスンするWebhookをCLIで作成する

多くのイベントをリッスンするWebhookをCLIで作成してみました。 ボタンポチポチは大変ですが、CLIだと簡単に設定できるのでありがたいですね。
2024.05.08

StripeのイベントをWebhookで受け取れます。 このWebhookの設定時には、対象イベントを複数選択できます。

01_stripe_webhook

対象イベントが多い場合(Failed系とか)は、ぽちぽち設定が大変です。 そのため、Stripe CLIで設定してみました。

おすすめの方

  • StripeのWebhookを設定したい方

StripeのWebhookを作成する(with CLI)

https://example.com に対して、29個のイベントを受け取れるようにしてみます(イベントは適当です)。

stripe webhook_endpoints create \
    --url="https://example.com" \
    -d "enabled_events[0]=balance.available" \
    -d "enabled_events[1]=charge.dispute.closed" \
    -d "enabled_events[2]=charge.dispute.created" \
    -d "enabled_events[3]=charge.dispute.funds_reinstated" \
    -d "enabled_events[4]=charge.dispute.funds_withdrawn" \
    -d "enabled_events[5]=charge.dispute.updated" \
    -d "enabled_events[6]=charge.failed" \
    -d "enabled_events[7]=checkout.session.async_payment_failed" \
    -d "enabled_events[8]=invoice.created" \
    -d "enabled_events[9]=invoice.finalization_failed" \
    -d "enabled_events[10]=invoice.paid" \
    -d "enabled_events[11]=invoice.payment_failed" \
    -d "enabled_events[12]=issuing_dispute.closed" \
    -d "enabled_events[13]=issuing_dispute.created" \
    -d "enabled_events[14]=issuing_dispute.funds_reinstated" \
    -d "enabled_events[15]=issuing_dispute.submitted" \
    -d "enabled_events[16]=issuing_dispute.updated" \
    -d "enabled_events[17]=payment_intent.payment_failed" \
    -d "enabled_events[18]=payout.canceled" \
    -d "enabled_events[19]=payout.created" \
    -d "enabled_events[20]=payout.failed" \
    -d "enabled_events[21]=payout.paid" \
    -d "enabled_events[22]=payout.reconciliation_completed" \
    -d "enabled_events[23]=payout.updated" \
    -d "enabled_events[24]=reporting.report_run.failed" \
    -d "enabled_events[25]=setup_intent.setup_failed" \
    -d "enabled_events[26]=source.failed" \
    -d "enabled_events[27]=terminal.reader.action_failed" \
    -d "enabled_events[28]=topup.failed"

Webhookを作成できた

02_stripe_webhook

さいごに

多くのイベントをリッスンするWebhookをCLIで作成してみました。 ボタンポチポチは大変ですが、CLIだと簡単に設定できるのでありがたいですね。

参考