- 사용엔진: Unity3D 2021.3.45f2
- 개발환경: Vanilla+JavaScript
- SDK버전: 1.5.1
샌드박스 앱에서 getProductItemList()를 호출했을 때 어제 까지는 문제가 없었습니다만, 오늘 갑자기 에러가 발생했습니다. 혹시 이번에 인앱 결제 기능 개선과 관련해서 제가 체크해야 할 부분이 있나요? 일단 상품은 모두 등록 하였으며 공개 처리도 된 상태입니다.
로그와 사용한 메소드 상점 상태 스크린샷을 첨부할게요.
!로그!
[Log] [UnityCache] ‘http://192.168.0.26:5173/Build/public.data’ successfully downloaded and stored in the indexedDB cache (public.loader.js, line 1)
[Log] WARNING: RGBA Compressed DXT5|BC3 UNorm format is not supported, decompressing texture (public.framework.js, line 1946, x33)
[Log] [GameLogin] UserKey: – “5KtXJR0qQlgj2PiIalWXUrrlNoU” (public.framework.js, line 1399)
[Log] JS → Unity: userKey:5KtXJR0qQlgj2PiIalWXUrrlNoU (public.framework.js, line 1946)
[Log] UserKey 저장됨: 5KtXJR0qQlgj2PiIalWXUrrlNoU (public.framework.js, line 1946)
[Log] 샾: False (public.framework.js, line 1946)
[Error] [TossIAP] getProductItemList FAILED: – Error: Validation에 실패했습니다: successAndRedirectCode code: 400
Error: Validation에 실패했습니다: successAndRedirectCode code: 400Error: Validation에 실패했습니다: successAndRedirectCode code: 400(익명 함수)(익명 함수) at next (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수) at apply (native)(익명 함수) at apply (native)(익명 함수) at apply (native)(익명 함수) at next (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수) at apply (native)(익명 함수) at apply (native)(익명 함수)(익명 함수) at next (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수) at apply (native)(익명 함수)(익명 함수) at apply (native)(익명 함수) at apply (native)(익명 함수) at apply (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수) at call (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수)(익명 함수) at apply (native)(익명 함수)(익명 함수)(익명 함수)(익명 함수)
(익명 함수) (public.framework.js:1386)
[Log] JS → Unity: iapProductsError:Validation에 실패했습니다: successAndRedirectCode code: 400 (public.framework.js, line 1946)
[Warning] 상품 목록 가져오기 실패: Validation에 실패했습니다: successAndRedirectCode code: 400 (public.framework.js, line 1941)
[Log] You can spawn radbox now! (public.framework.js, line 1946)
!사용코드!
// 인앱 상품 목록 요청 함수
GetProductItemList: function() {
if (!window.TossIAP) {
console.error(“[TossIAP] SDK not loaded!”);
window.unityInstance.SendMessage(“MessageRouter”, “OnMessageFromJS”, “IAP SDK not loaded”);
return;
}
// Promise 기반 호출 방식
window.TossIAP.getProductItemList()
.then((response) => {
console.log(“[TossIAP] Products:”, response.products);
window.unityInstance.SendMessage(
“MessageRouter”,
“OnMessageFromJS”,
“iapProducts:” + JSON.stringify(response.products)
);
})
.catch((error) => {
console.error(“[TossIAP] getProductItemList FAILED:”, error);
window.unityInstance.SendMessage(
“MessageRouter”,
“OnMessageFromJS”,
“iapProductsError:” + error.message
);
});
},
!상품 공개상태!

