애플, 구글 마켓 연동 (부제 : 인앱 결재 영수증 확인 A to Z)

|

하튼 뭔가 딱 찾아지는 구석이 없다. 애도 적당히 태워야지. 아무리 검색하고 찾아봐야 고만고만한 놈들에 긴가민가해도 확인해보면 아닌 놈들 뿐이다.


애플, 그러니까 iOS 인앱 결재 영수증 확인 루틴은 간단하다.



이젠 안드로이드 차례다. 구글의 영수증 인증은 ... 잠깐. 뒤에서 욕좀 하고.



뭐 나름 이해는 해보려고 하지만.. 그게 잘 안되네?

어쨌든 내 뒤에 고생할 누군가를 위해서 이 기록을 남깁.. 쿨럭. 내상이 심하니 백판은 쉬고 와야겠다.



Trackback 0 And Comment 19
  1. kyeo 2014.05.22 11:31 address edit & del reply

    구글과의 질의는 하지 않았었는데, 많은 도움이 되었습니다. 감사합니다

  2. hdh 2014.05.22 11:33 address edit & del reply

    좋은 글 감사합니다. 잘 쓰겠습니다.

  3. hdh 2014.07.28 12:14 address edit & del reply

    포스팅 된 내용을 보고 많은 도움되었습니다.
    AccessToken, RefreshToken 획득을 했는데.. AuthCode를 서버가 구동될때 Http통신을 통해서 얻을려고 하는데
    RedirectURI에 등록된 URI를 통해서 얻을려면 웹서버가 따로 있어야 하는것인가요?
    어떤 방법으로 하셨는지 궁금합니다.

    • 엘레노아 2014.07.28 23:55 신고 address edit & del

      Installed Application -> Others로 Client ID를 만들게 되면 Redirect URI가 localhost 혹은 다른 "코드"로 떨어집니다. 이 코드로 떨어지는 URI는 URI로 콜백되지 않고 AuthCode를 얻어올 수 있습니다.

    • 엘레노아 2014.07.28 23:57 신고 address edit & del

      그리고 AuthCode를 얻는 것은 AccessToken과 RefreshToken을 얻는 선행 과정이므로, AccessToken과 RefreshToken을 모두 얻었으면 AuthCode의 Callback URI는 별 관계 없을겁니다.

  4. hdh 2014.07.29 17:21 address edit & del reply

    지금 Http통신을 통해서 AuthCode를 얻어올려고하면 Login을 하라고 하는 스크립트가
    recv버퍼에 담기는데 구글 로그인 api가 선행되서 실행되어야 하는건가요?

    • 엘레노아 2014.08.01 16:16 신고 address edit & del

      AuthCode는 자동으로 얻어오도록 할 수 없습니다. 인터렉티브하게 진행됩니다. AuthCode를 얻어온 이후부터 자동화가 가능합니다.

  5. hdh 2014.08.04 18:58 address edit & del reply

    답변 정말 감사드립니다..^^
    RefreshToken의 경우 만료시간이 없는것인가요?

    • 엘레노아 2014.08.06 01:46 신고 address edit & del

      네. 사실상 RefreshToken이 한번 발행되면 무제한으로 AccessToken을 찍어낼 수 있게 됩니다.

  6. ☆> 2014.11.04 15:55 신고 address edit & del reply

    좋은정보 감사드립니다^^

  7. ☆> 2014.12.02 18:27 신고 address edit & del reply

    엘레노아님 혹시 subscriptions에서 다음달 자동 결제 완료되었을때 확인하는것은 안해보셨는지요...?
    아래글을 참조하여
    참조1
    https://developers.google.com/android-publisher/api-ref/
    참조2
    https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

    이렇게 계속 호출해보았지만...
    https://www.googleapis.com/androidpublisher/v2/applications/패키지이름/purchases/subscriptions/subscriptions고유값(for example, 'monthly001')/tokens/주문아이디(?)
    Not Found만 뜨네요... ㅠㅠ 혹시 경험이 있으시면 조언부탁드려요

    • 엘레노아 2014.12.02 18:57 신고 address edit & del

      인앱 구독 쪽은 경험이 없네요. 그런데 댓글은 삭제한 적이 없는데 왜 이렇게 뜰까요;;

    • ☆> 2014.12.02 21:28 신고 address edit & del

      인앱결제중 Subscriptions 다음달 자동 결제 되었을때 체크 해보신분 계신가요?
      (Google Play Android Developer API 이용)

      https://www.googleapis.com/androidpublisher/v2/applications/패키지네임/purchases/subscriptions/subscriptionsID입력/access_token/인증토큰

      위와같이 하라고
      아래 주소 참조해서 했는데 계속 Not Found만 뜨네요
      https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get

      혹시 개발해보신분 계시면 조언좀 부탁드립니다(__)
      왜 지우셨어요? ㅠㅠ

    • 엘레노아 2014.12.03 11:05 신고 address edit & del

      안지웠어요. 관리자 모드에서 보면 댓글은 정상적으로 보이네요. 뭔가 이상하군요.

      어쨌든 subscriptions 쪽은 androidpublisher v2를 써야 하는 것 같습니다. 제가 테스트했던 것은 v1.1 이구요. 저도 처음에 v2를 테스트 해보다가 뭔가 안되는게 있어서 v1.1을 쓴걸로 기억나네요.
      이제 이쪽은 더 작업하지 않는지라 제가 많은 도움이 되지 못하는군요.

    • ☆> 2014.12.03 21:09 신고 address edit & del

      아니에요 엄청난 도움이 되었어요!!!

      덕분에 해결했습니다^^

    • ☆> 2014.12.04 00:41 신고 address edit & del

      http://88oy.tistory.com/365
      이렇게 하였습니다.

  8. 김쩡 2014.12.19 17:28 address edit & del reply

    AccessToken과 RefreshToken은 최초 한번만 나오는건가요 ㅠㅠ? 처음 받았던 json파일을 지워버렸더니 그 뒤로는 refresh_token값이 포함이 안되서 응답이 오네욤 ㅠㅠ

  9. 야오 2015.06.20 02:02 address edit & del reply

    덕분에 많은 도움이 되었습니다. 마지막 단계에서 막히네요. 결제토큰 부분에서만 유효하지 않은 값이라고 에러메세지가 나옵니다. 나머지 정보는 다 맞구요.

    클라이언트에서 결제토큰을 받아왓는데 어떤 경우에 이런 경우가 있을까요? 많은 해외 개발자들이 같은 에러로 구글 그룹에 올렸더라구요.

    혼자 추측하기를 빌링 버젼 v2이어서 인데.... 지금 앱이 테스트 준비 상태입니다.
    테스트 준비 상태일지라도 빌링 버젼이 2이면 결제가 안되지 않나요? 테스트 구매는 되고 있습니다.

    아니면 테스트 구매라서 결제토큰이 유효하지 않은걸까요?

    검증 서버 만들기 전에 api 받아오는데 쓰러질거 같습니다.
    제발 한마디라도 달아주세요~~

    • 엘레노아 2015.06.20 02:45 신고 address edit & del

      제가 쓴건 v1.1 입니다. v2는 완전 다른 놈이구요. 설사 v2라고 해도 OAuth 얻어오는 루틴은 동일할겁니다. 말씀하신대로 토큰 확인 부분만 프로토콜이 다른겁니다. 굳이 v2를 쓰시겠다면 찾아서 하는 것 밖에 방법이 없습니다. 그쪽은 안해봤고, 이젠 해볼 기회도 없습니다.

      그런데 v1.1이나 v2나 결재 수단이 틀려지는게 아닙니다. 영수증 확인 API의 버전만 틀려질 뿐입니다. 굳이 v2 API를 쓸 이유가 없다면 그냥 v1.1 API로 진행하시는게 어떨까 합니다.