안녕하세요 ChargeTBC 문의입니다.

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : 5.11.1
  • 프로젝트명 : Rogue Defense
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요 ChargeTBC를 처음 써보고있는데요. 처음 게임 실행해서 apple로 로그인하고 인앱결제를 진행했을 때인데요. IsSuccess는 true이던데 ReturnCase가 나오지 않고 GetTBC가 0이 나오고 있어요. 혹시 어디가 문제인지 알 수 있을까요?

아래 사진이 결제했을 때 실행되는 코드입니다. 로그를 띄워봤습니다.


스크린샷 2024-01-21 오후 10.56.39

안녕하세요 개발자님,
남겨주신 문의에 따라 상세 정보 확인 시,
ChargeTBC 함수에서 에러가 발생한 것으로 확인됩니다.

코드 확인 시 결제 후 TBC를 충전하도록 로직이 짜여져 있으나,
ChargeTBC에 대한 코드가 잘못 작성되어 있어 결제는 성공후, TBC 충전은 실패하였습니다.
또한 결제에 대해서는 실패 처리가 있지만, TBC 충전은 실패에 대한 처리가 없어서 에러를 확인하지 못하신 것으로 예상됩니다.

안드로이드와 아이폰의 인자값의 구성이 다른 상황에서 인자값이 2개만 들어가다보니 정상적으로 처리되지 못해 발생한 상황으로 예상됩니다.

public BackendReturnObject ChargeTBC(string productId, string receiptToken, string details);

productId, receiptToken 와 함께 details 인자값도 입력하여 재시도해 주시면 감사하겠습니다.
(필요치 않은 경우도 ""를 입력하여 처리해 주시면 감사하겠습니다.)

안녕하세요 답변 감사합니다. 말씀하신대로 바꿔서 시도했는데 아래처럼 실패가 되는걸 확인하였고 에러코드는 usedReceipt가 나오는데 이건 어떻게 처리해야 하는건지 알 수 있을까요?


스크린샷 2024-01-23 오전 12.31.49

이미 사용한 영수증 토큰
statusCode : 409
errorCode : UsedReceipt
message : This receipt has already been used. usedDate: 사용일시정보

위 에러는 이미 사용한 영수증 토큰을 통해 시도한 경우 발생하는 에러입니다.
한번 사용된 영수증 토큰의 재사용은 불가하기에, 새로운 결제를 발생시켜 시도해주세요.

뒤끝 콘솔에서 영수증검증을 확인하니 저 함수대로 하면 거래가 두번 찍혀서 처음 성공 두번째 실패가 뜨는걸 확인했습니다. 그래서 아래처럼 IsValidateApplePurchase 함수를 지우니 정상적으로 결제테스트가 되는데 이 함수를 안써도 ChargeTBC가 영수증 검증을 하는건가요? 둘 중 하나만 써도 괜찮은건가요?

캐시기능을 사용하지 않는다면 영수증 검증 기능만을 단독으로 이용해주시면 되며,
TBC 기능을 이용할 경우라면 ChargeTBC 에 영수증 검증 과정이 함께 이루어지니 영수증 검증 선호출 없이 ChargeTBC 함수를 이용해 주시면 됩니다. :D

답변 감사합니다. 좋은 하루 되세요~