#
stripe-cliでバージョンを上げるのに詰まった話
こんにちは、whatacottonです。stripeを決済に使用したシステムを構築しているのですが、stripe-cliのバージョンエラーで3時間くらい詰まってしまったので解決法をまとめておきます。
#
結論
ダッシュボードでバージョンを上げるだけで良かった。ちなみにテストモードではバージョンアップできないので注意。本番モードでバージョンアップをするとテストモードにも反映されます。
#
スタックした問題
いくらパッケージをアップデートしても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が勝手にアップデートされると、それ以前のバージョンで動いているシステムが動かなくなってしまうため、ユーザー側からバージョンの指定をしてあげる必要があったんですね。
#
参考