에러 코드
"요청하신 Application ID를 찾을 수 없습니다"(-2410)는 왜 나오나요?
요청에 쓴 키의 프로젝트와 조회하려는 결제 건의 프로젝트가 서로 다를 때 납니다. 결제는 A 프로젝트에서 일어났는데 검증·취소는 B 프로젝트의 REST 키로 호출하는 경우가 대부분입니다. 운영 서버와 개발 서버가 각각 다른 프로젝트를 보고 있지 않은지부터 확인합니다.
이 코드로 들어온 상담 21건을 읽고 정리했습니다.
거의 항상 프로젝트가 어긋난 것입니다
- 토큰을 발급받은 프로젝트의 REST Application ID와, 검증하려는 receipt_id 가 만들어진 프로젝트가 다릅니다.
- 결제가 일어난 프로젝트와 취소를 요청하는 API 프로젝트의 ID가 다릅니다.
- 운영 서버와 개발 서버에 각각 다른 Application ID가 들어가 있습니다.
- RestClient.setConfig() 에 development 같은 문자열이 섞여 들어갔습니다.
직접 REST를 호출한다면 헤더를 봅니다
PHP 등으로 검증 API를 직접 구현한 경우, Authorization 헤더와 Access Token이 실제로 실려 나가는지 확인합니다. 헤더 이름을 상수로 빼두고 그 줄이 주석 처리돼 누락된 사례가 실제로 있었습니다.
REST API는 클라이언트가 아니라 서버 간 통신으로 호출합니다. Secret Key가 브라우저에 노출되면 안 됩니다.
플랫폼별로 다른 Application ID를 씁니다
- 안드로이드는 관리자에서 안드로이드용 Application ID를 넣었는지 확인합니다.
- Flutter 예제의 webApplicationId 에는 JavaScript Application ID를 넣습니다.
- 결제창 호출에서 "암호화키 정보를 가져오지 못했습니다"가 같이 나온다면 이건 다른 원인입니다 — 시크릿 모드나 광고 차단 확장의 쿠키 제한을 봅니다.
기준입니다. 같은 코드라도 PG 와 계약 상태에 따라 응답 문구가 달라질 수 있습니다. 응답 본문 전체를 함께 확인하세요.