stripeの実装をするにあたり、localでwebhookの挙動を試す方法をまとめました。
CLIの導入
下記記事でstripe CLIを導入する。下記コマンドでhomebrew経由でDLできる。
brew install stripe/stripe-cli/stripe
Stripe CLI を使ってみる
https://stripe.com/docs/stripe-cli
エンドポイントの設定
今回はローカルだが、staging環境などでeventをリッスンしたい場合は管理画面からエンドポイントを設定するとeventをそのurlで受けられるようになる。対象のイベントはテスト環境のイベント全て。
ローカルで受けるための設定
stripe listen --forward-to localhost:4242/stripe_webhooks
上記コマンドでlocalで受けられるようになる。
Stripe CLI で Webhook の組み込みをテストする
https://stripe.com/docs/webhooks/test?locale=ja-JP
上記はすでにエンドポイントがある場合のコマンド。まだなくて新規に作る場合は下記。
stripe listen --load-from-webhooks-api --forward-to localhost:5000
上記コマンドを打つと下記のようにwebhookシークレットが出る。これを環境変数に入れ、dockerならdocker buildし直す。
% stripe listen --forward-to http://localhost:3000/webhook
> Ready! You are using Stripe API Version [2020-08-27]. Your webhook signing secret is whsec_xxxx (^C to quit)
その後にtriggerを打つとlocalにイベントを送れる
stripe trigger account.updated
トリガー一覧
https://stripe.com/docs/cli/trigger#trigger-event
受け取るイベントの対象環境は?
ローカルを登録した際に受け取るイベントはテスト環境のeventになる。
eventのtypeは下記に一覧がある。
event一覧
https://stripe.com/docs/api/events/types
止める方法は?
止めたい場合は^Cで止められる。