android 정기 결제 작업할때 api 호출 시 401 에러가 반환될때
Updated on
android 에서 정기 결제를 작업할때, 토큰을 발급받아서 등록한 다음에 처리할때
API를 호출하면 401 에러가 발생하는 경우가 있다.
이걸 4-5시간동안 개뻘짓을 하다가 검색해서 겨우 찾은거다..
그냥 간단하게, 구독 관리에서 상품 가격
을 변경하면 된다.
플레이 스토어에 캐싱이 되어있는 것 같다…
스택오버플로우 보면 알겠지만, 생각보다… 심각하다 ㅠㅠ
그리고 API 호출부터 pub/sub 작업 순서는 아래와 같다.
IAM 생성 및 API 호출 방법
- IAM 계정 생성
payment@app.iam.gserviceaccount.com
- 플레이콘솔 - 사용자 및 권한 - 사용자 추가 (위 IAM 주소) - 계정 권한 부여 (
재무 데이터, 주문, 취소 설문조사 응답보기, 주문 및 구독 관리
)
이렇게 하면, 해당 IAM API TOKEN으로 GOOGLE STORE API에 호출 할 수 있게 된다.
pub/sub 받는 방법
pub/sub으로는 대게 push 방식으로 받고 있다. (pull 방식X) 이 방법은 msa 이다보니, 플레이 콘솔 -> google pub/sub -> push (my server endpoint) 형태로 되어있다. 그래서 권한하고 계정을 추가 다해줘야한다.
pub/sub에서는 여기 부분이 중요한데, 주제
와 구독 채널
을 추가 해준다.
근데 여기에서 pub/sub의 주제
에서 권한에 게시/구독 게시자
값에 꼭 google-play-developer-notifications@system.gserviceaccount.com
플레이 스토어 권한을 넣어줘야만 한다.
구독
에서 구독 수정
에서 푸시
로 변경하고 엔드포인트 URL을 입력해주면 된다.
그 다음에는 이렇게 앱
- 수익 창출 설정
에서 해당 테스트 알림 보내기
를 통해 테스트 해볼 수 있다.