저번달에 앱스토어와 구글 플레이스토어에 인 앱 결제가 가능한 앱을 올렸는데, 일반적으로 예측하기 힘든 황당한 오류가 발생하여 공유드립니다.
1. Google play store
앱 내에서 결제를 성공한 후, 보통 서버에서 validation을 하는데 그때 발생할 수 있는 오류입니다.
서버 어플리케이션이 Play console의 개발자 소유라는 걸 인증하기 위해 사용하는 가장 편한 방법이 서비스 계정인데요.
서비스 계정을 제대로 연동하여 토큰을 얻고 validation url에 검증을 요청했지만 권한이 없다는 오류가 계속 반환되는 경우가 있습니다.
이럴 때 해당 앱의 앱 내 결제 상품을 아무거나 하나 생성했다 삭제하면 정상적으로 검증이 됩니다.
stackoverflow에 관련 답변이 있는걸로 보아 꽤 예전부터 개발자들을 괴롭힌 버그 같은데, 왜 여전히 남아있는 것인지 미스테리하네요.
이걸로 몇 시간 날렸습니다.
2. Appstore
개인 개발자의 경우 어떤지 모르겠지만, 회사 계정으로 애플 개발자 멤버쉽 가입을 한 경우 유료 결제를 위해서는 앱스토어 컨넥트의 계약 탭에서 유료 앱 계약을 회사 주소(영어)와 함께 활성화해야 합니다.
이 때 회사 주소를 정확히 입력했음에도 유효한 주소가 아니라고 계속 저장이 안 되고 오류가 발생하는 경우가 있는데요.
해결을 위해 애플 쪽에 전화문의를 했더니 답변이 저장 버튼을 여러번 연타하세요 였습니다.
의심스러워하면서 따다다닥 연타를 했더니 진짜 그냥 통과가 되었습니다. 어떤 로직으로 존재하는 버그고 왜 안고친건지도 모르겠습니다.
이렇게 인고의 시간을 보내고 드디어 앱 내 결제가 가능해졌습니다. 부디 저같이 고통받는 개발자가 줄어들길 바랍니다...