私の目標は、顧客がチェックアウト セッション (Stripe の事前構築済みチェックアウトを使用) を完了した後に注文した商品を取得し、保存することです。それをMongoDBデータベースにコピーします。私が抱えている問題は、CheckoutSession LineItems を取得しようとすると、それらが常にゼロになることです。 質問の言葉が下手だったらごめんなさい、私はここでは初めてです。
これは Webhook エンドポイントのスニペットです。エラー処理を含む無関係なコードはすべて省略してみました。
リーリー ######期待する:### Stripe PriceID、数量などのデータを含む、購入した商品の配列を取得できるようにしたいと考えています...######結果:### 注文に常に品目が含まれている場合でも、LineItems は常に 0 ですが、CheckoutSession 自体を印刷しようとすると、さらに多くの 0 が表示されます。
私の診断:これが API バージョンの不一致と関係があるのではないかと思わずにはいられません。イベントを作成したときに API バージョンの不一致を無視するオプションを追加したことがわかります。私が遭遇しているのは、StripeCLI が明らかに古いバージョンの Stripe API を使用しているということです (今日、公式 GitHub から最新の公式バージョンをダウンロードし、バージョン 1.17.2 を使用していることに注意してください)。 CLI は、このフラグを追加することを提案しました。 また、pkg.go.dev strip-go の最新バージョンが、v70.15.0 は互換性がなく、2020 年 4 月 14 日にリリースされたものとしてリストされているのも奇妙に思います。その結果、 go get -u github.com/ストライプ/ストライプ-go を実行すると、このバージョンが取得されます。ただし、 Stripe-go GitHub リポジトリにアクセスすると、最新バージョンが v75.6.0 であることが示され、次のように Go を追加することが提案されます:
go get -u github.com/ストライプ/ストライプ-go/v75 。
これを読んだあなたは、「うわー、この男はとても愚かだ、LTS について聞いたこともない」と思うかもしれません?しかし、それしか思いつかなかったので、これについて言及するかもしれないと思いました。
######知らせ:###
また、彼らのドキュメントにいくつかの問題があることにも言及したいと思います。彼らは次のようにするようにと言っています:
FC4E38232407D7D61E722790E7D8A7F7
ラインアイテムを取得しようとしましたが、エラーが発生しました:
未解決の参照 'Get'
正解
Likeこの質問として が言及した答え、
line_items
チェックアウト セッション オブジェクトを取得し、line_items または を明示的に展開します。 取得
listLineItems を使用して Webhook エンドポイントを作成する必要があります。
エラー 未解決の参照 'Get' については、現在提供されている情報に基づいて何が起こったのかを判断することはほとんど不可能です。これは、IDE またはプロジェクト設定の問題である可能性があります。この質問にリストされている回答を試すことができます:
GoLand (JetBrains) に「未解決の参照」というエラー メッセージが表示されます。ただし、コードはコンパイルされて実行されます以上がcheckout.session.completed Stripe-Go でのセッション データの取得の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。