ホームページ >バックエンド開発 >Golang >checkout.session.completed Stripe-Go でのセッション データの取得の問題

checkout.session.completed Stripe-Go でのセッション データの取得の問題

WBOY
WBOY転載
2024-02-05 21:21:03538ブラウズ

在 checkout.session.completed Stripe-Go 上检索会话数据时出现问题

質問の内容

私の目標は、顧客がチェックアウト セッション (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

は「拡張可能」であり、デフォルトでは含まれていません。これは、Webhook イベントで渡されるときに、それらがオブジェクトに含まれないことを意味します。

次の当事者のいずれかに個別にリクエストを行う必要があります:


チェックアウト セッション オブジェクトを取得し、line_items または を明示的に展開します。 取得

listLineItems

  • さらに、stripe-go、stripe-dotnet、stripe-java はすべて特定の API バージョンに固定されています (これらは厳密に型指定されており、API を変更するたびに逆シリアル化が中断される可能性があるため)。コードで使用するものとまったく同じ API バージョン を使用して Webhook エンドポイントを作成する必要があります。
  • Stripe CLI は、Stripe アカウントのデフォルト API バージョンまたは最新バージョン (
  • https://www.php.cn/link/4379cf00e1a95a97a33dac10ce454ca4) でのみ Webhook を送信/転送できます。アカウントのデフォルトの API バージョンは、https://www.php.cn/link/689041c2baed0f6d91050495d632d6e0
  • で確認できます。

エラー 未解決の参照 'Get' については、現在提供されている情報に基づいて何が起こったのかを判断することはほとんど不可能です。これは、IDE またはプロジェクト設定の問題である可能性があります。この質問にリストされている回答を試すことができます:

GoLand (JetBrains) に「未解決の参照」というエラー メッセージが表示されます。ただし、コードはコンパイルされて実行されます

以上がcheckout.session.completed Stripe-Go でのセッション データの取得の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。