前人未踏の領域へ WEB・インフラ・プログラミング全般編

フロントエンド、バックエンド、インフラ、言語など、アプリ開発、IOT以外の記録

Stripe:任意のWebhookにイベントを再送する

課題

ローカル環境にて、StripeのWebhookが発生する処理をWebhookを無効化している状態で実行してしまった。 webhookが動作してないと必要なデータが更新されない。どうすればよいか。

対応

15日間以内ならイベント詳細画面から「Webhook の試行」再送ボタンで再送ができる。
15日を超えてしまっているか、対象となるwebhookが施行一覧にない場合はCLIでコマンドを実行する必要がある

  1. (前提)webhookを登録・有効化して受け取れるようにしておく。CLIも使える状態であること
  2. 発生したはずの処理(定期支払とか)の画面から「イベントとログ」を見る。アクティビティの一覧があるので、どれかを選択して「イベントの詳細を表示」をクリック
  3. イベント詳細画面のURLまたは画面右上からevent_id (evt_xxxx のやつ)が得られる。
  4. Webhook一覧から対象のエンドポイントをクリック。URLからwebhook_id(we_xxxxxx)を得られる
  5. コンソールを開き eventのresendコマンドを実行する。--webhook-endpoint オプションを付けて対象のwebhookに通知されるようにする
stripe events resend evt_1IBf1YDm6Ck62QvL7XX3THT7 --webhook-endpoint=we_1HQ6sXXm6Ck62QvLBXTGoBEV

レスポンスのJSONが表示されれば成功。

/* Responsive: yes */