인 앱 결제 오류 처리

2019. 2. 25. 17:25Programming/Android

유저 문의로 모든 결제 과정이 완료되지 않음을 알게되었음.


유저는 클라이언트에서 띄운 안드로이드 IAP 결제창에서 

'You already own this item' 이라는 오류 메시지가 나오고

지불까지 완료된 상태.

지불이 완료되었으므로 구글 결제 서버에는 영수증 정보가 고스란히 남아 있고, 

아이템의 상태는 Consume되기 직전 상태이다.


유저가 다시 클라이언트를 실행하여 queryinventory 메서드를 실행해도 유효한 정보가 아무것도 

들어오지 않아서, 서버쪽으로 검증 요청조차 할 수 없는 상황이다.


서버로그를 보면 유저의 지불 영수증이 남은 시간대에 해당 유저가 timeout으로 연결이 끊긴 기록이 발견되었다.

즉 구글 서버와도 정상적인 통신이 안되었을 가능성이 있는 것이다.


https://stackoverflow.com/questions/52960426/in-app-billing-google-play-gives-me-the-you-already-own-this-item-message-wh


구글링하다 발견한 이 링크를 보면 Edit2 부분에 해결책이 나와있다.

구글 플레이 앱을 강제 종료하고 캐시를 날리고 앱에 재접속하도록 안내하였고

정상적으로 영수증 정보 및 consume 과정이 완료되었다.