샌드박스로 결제 테스트 중에 있습니다

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

일단 결제 테스트까지는 완료했고, 현재 ‘결제 성공(서버 실패)’ 테스트를 진행하고 있습니다.

테스트를 해보니 이 메뉴는 사용자의 결제(출금)는 정상적으로 완료되었지만, 토스 측 서버 검증에 실패한 경우를 가정한 시나리오인 것 같습니다.

안내 메시지를 보면 getPendingOrders를 호출하여 복구 플로우를 진행해야 하는 것으로 보이는데, 이 API를 언제 호출해야 하는지가 궁금합니다.

현재 생각해본 경우는 다음과 같습니다.

  1. 결제는 성공한 것으로 간주하고 먼저 유저에게 아이템을 지급한 뒤, 게임은 진행하게하고,getPendingOrders를 이용해 백그라운드에서 복구 플로우를 진행해야 하는지( 만일 또 실패하면 지속해서 백그라운드에서 계속 시도해야할 까요?)

  2. 결제는 실패한 것으로 간주하고 아이템은 지급하지 않은 상태에서, getPendingOrders를 계속 호출하여 복구가 성공할 때까지 재시도해야 하는지

  3. 이미 실제 결제는 성공했으므로 getPendingOrders를 통한 복구 플로우는 별도로 처리하지 않아도 되는지

  4. 아니면 게임이 실행 될 때마다 getPendingOrders를 한번씩 호출해서 복구플로우를 진행해야 하는지

어떤 방식으로 결제 흐름을 구성하는 것이 올바른지 잘 모르겠습니다.

또한 getPendingOrders는 일반적으로 어떤 시점에 호출하는 것이 권장되는지도 함께 알려주시면 감사하겠습니다.

appName (선택)

taptapgun

이미지 첨부

안녕하세요 :slight_smile:
결제는 정상적으로 완료되었으나, 상품이 지급이 되지 않은 경우(processProductGrant가 호출되지 않았거나 해당 콜백의 결과가 true가 아닐경우)
getPendingOrders 로 조회하여 조회된 주문을 대상으로 상품 지급을 수동으로 처리후 completeProductGrant 를 호출해주셔야 합니다.

게임이 실행될때 getPendingOrders로 미결 주문 조회 후 지급 처리를 부탁드립니다.