>  기사  >  백엔드 개발  >  checkout.session.completed Stripe-Go에서 세션 데이터를 검색하는 중에 문제가 발생했습니다.

checkout.session.completed Stripe-Go에서 세션 데이터를 검색하는 중에 문제가 발생했습니다.

WBOY
WBOY앞으로
2024-02-05 21:21:03442검색

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

질문 내용

내 목표는 고객이 체크아웃 세션을 완료한 후(Stripe의 사전 구축된 체크아웃 사용) 주문한 항목을 가져와 내 MongoDB 데이터베이스에 저장하는 것입니다. 내가 겪고 있는 문제는 CheckoutSession LineItems를 검색하려고 할 때 항상 0이라는 것입니다. 질문의 표현이 잘못된 것 같으면 죄송합니다. 저는 여기에 처음 왔습니다.

웹훅 엔드포인트의 일부입니다. 오류 처리를 포함하여 관련 없는 코드를 모두 생략하려고 했습니다.

으아악

기대사항: Stripe PriceID, 수량 등과 같은 데이터로 구매한 품목의 배열을 얻을 수 있기를 원합니다...

결과: 주문에 항상 항목이 포함되어 있어도 LineItem은 항상 0이지만 CheckoutSession 자체를 인쇄하려고 하면 더 많은 0이 나타납니다.

내 진단: 이것이 API 버전 불일치와 관련이 있는지 궁금합니다. 이벤트를 구성할 때 API 버전 불일치를 무시하는 옵션을 추가한 것을 볼 수 있습니다. 내가 겪고 있는 문제는 StripeCLI가 분명히 이전 버전의 Stripe API를 사용하고 있다는 것입니다(오늘 공식 GitHub에서 최신 공식 버전을 다운로드했으며 버전 1.17.2를 사용하고 있다는 점에 유의해야 합니다). CLI에서는 이 플래그를 추가할 것을 제안했습니다. 또한 pkg.go.dev 스트라이프-고의 최신 버전이 v70.15.0+ 호환되지 않는 것으로 표시되고 2020년 4월 14일에 출시된 것이 이상하다고 생각합니다. 결과가 실행되었습니다 go get -u github.com/stripe/stripe-go 会得到这个版本。但是,如果我访问 stripe-go GitHub Repo,它会显示最新版本是 v75.6.0,并且建议像这样添加 Go: go get -u github.com/stripe/stripe-go/v75. 이 글을 읽으면 '와, 이 사람 너무 멍청해서 LTS를 들어본 적도 없구나'라고 생각하실 수도 있죠? 하지만 제가 생각할 수 있는 유일한 것이기 때문에 이것을 언급할 수도 있겠다고 생각했습니다.

참고: 나는 또한 그들의 문서와 그들이 말하는 것에 몇 가지 문제가 있다는 것을 언급하고 싶었습니다:

FC4E38232407D7D61E722790E7D8A7F7

광고 항목을 가져오는데 오류가 발생했습니다. Unresolved reference 'Get'


정답


이 질문에 대한 답변에서 언급했듯이 line_items은 "확장 가능"하며 기본적으로 포함되지 않습니다. 이는 웹훅 이벤트에 전달될 때 객체에 포함되지 않음을 의미합니다.

다음 당사자에게 별도의 요청을 해야 합니다.

  • 결제 세션 개체를 검색하고 명시적으로 확장 line_items또는
  • RetrievelistLineItems

또한 스트라이프-고, 스트라이프-닷넷 및 스트라이프-자바는 모두 특정 API 버전에 고정되어 있습니다(강력한 유형이고 모든 API 변경으로 인해 역직렬화가 중단될 수 있기 때문입니다). 코드에서 사용하고 있는 것과 정확히 동일한 API 버전을 사용하여 웹훅 엔드포인트를 생성 해야 합니다.

Stripe CLI는 Stripe 계정 기본 API 버전 또는 최신 버전(https://www.php.cn/link/4379cf00e1a95a97a33dac10ce454ca4)에서만 웹훅을 전송/전달할 수 있습니다. 여기에서 계정의 기본 API 버전을 확인할 수 있습니다: https://www.php.cn/link/689041c2baed0f6d91050495d632d6e0.

오류와 관련하여Unresolved reference 'Get' 현재 제공되는 정보로는 무슨 일이 일어나고 있는지 파악하는 것이 거의 불가능합니다. 이는 IDE 또는 프로젝트 설정 문제일 수 있습니다. 다음 질문에 나열된 답변을 시도해 볼 수 있습니다. GoLand(JetBrains)는 "해결되지 않은 참조"라는 오류 메시지를 표시합니다. 하지만 코드는 컴파일되고 실행됩니다

위 내용은 checkout.session.completed Stripe-Go에서 세션 데이터를 검색하는 중에 문제가 발생했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:Golang 웹소켓다음 기사:Golang 웹소켓