Featured image of post Stripe-Cliのバージョンで詰まった話

Stripe-Cliのバージョンで詰まった話

Error verifying webhook signature: Received event with API version ... のエラーの対処法

# stripe-cliでバージョンを上げるのに詰まった話

こんにちは、whatacottonです。stripeを決済に使用したシステムを構築しているのですが、stripe-cliのバージョンエラーで3時間くらい詰まってしまったので解決法をまとめておきます。

# 結論

ダッシュボードでバージョンを上げるだけで良かった。ちなみにテストモードではバージョンアップできないので注意。本番モードでバージョンアップをするとテストモードにも反映されます。 figure1 figure2

# スタックした問題

いくらパッケージをアップデートしてもcliのバージョンがアップデートされない。パッケージはgitを見ても最新なのに起動時のバージョンが一生アップデートされない。

1
2
3
4
5
6
7
8
$ stripe version

stripe version 1.19.2


$ stripe listen --forward-to http://127.0.0.1:8080/webhook

> Ready! You are using Stripe API Version [2023-08-16]. Your webhook signing secret is whsec_<API_KEY> (^C to quit)

バックエンド側は最新パッケージを使っているのでまあ23年8月のバージョンのwebhookが投げられたらそれはエラーが出ますよね。

バックエンドのサーバーでは以下のエラーが出ました。

1
2
3
4
5
6
7
Error verifying webhook signature: Received event with API version 2023-08-16, but stripe-go 76.17.0 expects API version 2023-10-16.

We recommend that you create a WebhookEndpoint with this API version. 

Otherwise, you can disable this error by using `ConstructEventWithOptions(..., ConstructEventOptions{..., ignoreAPIVersionMismatch: true})` 

but be wary that objects may be incorrectly deserialized.

ただ、エラーメッセージに時間などの固有の値があり、エラーメッセージで検索するのが難しかったです。

# 原因

stripeにはセキュリティなどの問題で、後方互換性がないアップデートがなされることがあるみたいです。

webhookが勝手にアップデートされると、それ以前のバージョンで動いているシステムが動かなくなってしまうため、ユーザー側からバージョンの指定をしてあげる必要があったんですね。

# 参考

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。