- 프로젝트명 : 핵 앤 슬래시 키우기
영수증 검증 기능 구현 중인데요.
여기에 유니티에서 지원하는 IAP 서비스 의 학습 콘텐츠를 더이상 사용할수 없다고 나와있어요.ㅠ
현재는 IAP 카탈로그 등 구글 쪽 준비는 해두고 IAP Button만 붙여둔 상태라 ProcessPurchase() 를 어떻게 써야할지
모르겠습니다. 도움 부탁드려봅니다. ㅠㅠ
영수증 검증 기능 구현 중인데요.
여기에 유니티에서 지원하는 IAP 서비스 의 학습 콘텐츠를 더이상 사용할수 없다고 나와있어요.ㅠ
현재는 IAP 카탈로그 등 구글 쪽 준비는 해두고 IAP Button만 붙여둔 상태라 ProcessPurchase() 를 어떻게 써야할지
모르겠습니다. 도움 부탁드려봅니다. ㅠㅠ
안녕하세요 개발자님,
현재 Unity IAP의 학습 콘텐츠는 더 이상 제공되지 않고 공식 문서를 대체 안내중인 것으로 확인됩니다. 관련하여서는 개발자 문서 내 수정이 이루어질 수 있도록 하겠습니다.
(뒤끝에서는 Unity IAP 4.x 버전을 기준으로 제공중이며 5.x 이상 버전은 현재 지원되지 않는 점 참고 부탁드립니다.)
Unity IAP에서 ProcessPurchase()를 통해 구매 성공 후 뒤끝 서버에 영수증 검증을 요청하는 기본 흐름은 다음과 같습니다.
아래 안내드리는 예시 참고 부탁드리며, 상세한 정보는 공식 문서 페이지를 꼭 확인하여 주시기 바랍니다.
Unity IAP 초기화 및 IDetailedStoreListener 구현 확인
ProcessPurchase 구현 예시
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
{
// 1) Google 영수증 문자열 추출
string rawReceipt = e.purchasedProduct.receipt;
// 2) 뒤끝 서버로 영수증 검증 요청
var validation = Backend.Receipt.IsValidateGooglePurchase(rawReceipt, "receiptDescription");
if (validation.IsSuccess())
{
// 검증 성공 시 상품 ID 확인 후 보상 처리
if (e.purchasedProduct.definition.id == "내_상품_ID")
{
onPurchaseComplete?.Invoke(e.purchasedProduct); // 보상 로직
}
// 주의: 동일 영수증 재사용 시 실패 처리됨 (중복 사용 방지 필요)
}
else
{
Debug.LogError($"Receipt Validation Failed: {validation.GetStatusCode()} / {validation.GetMessage()}");
// 실패 처리 및 사용자 안내
}
// 검증 후 자동 소비 처리 (또는 Pending 처리 가능)
return PurchaseProcessingResult.Complete;
}
실제 테스트 환경 관련 팁
또한 IAP를 다운받으시면 유니티 패키지 매니저에 관한 샘플도 확인할 수 있으니 함께 참고하여 주시면 감사하겠습니다.