마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

인앱 결제시 오류 날 경우 처리 방법은 어떻게 되나요?

0 추천
안녕하세요.
 
안드로이드 초보입니다. 
 
구글 인앱으로 결제 처리하는 것을 진행중인데 궁금한게 있어 문의 드려요.
 
결제를 하면 다음의 프로세스로 진행하는데
 
앱 -> 구글인앱서버 -> 앱 -> 앱웹서버(구매내역 디비저장)처리 -> 앱(정상처리됐음을 알림)
 
여기에서 앱 -> 앱웹서버(구매내역 디비저장)처리 
 
이 부분에 서버에 연결을 못한다거나, 네트웍에 오류가 발생해서 서버로 연결하여 처리 못할 경우에는 
 
어떻게 하죠?
 
결제가 잘 되는데 한번씩 이런 일이 생기네요.
 
청개구리대왕 님이 2015년 6월 18일 질문

2개의 답변

0 추천
실패 시 바로 재시도는 이미 하고 계시겠죠?

앱 자체에 결제가 완료된걸 저장해 두고 , 나중에(네트웍이 복구된 것이 확인된 적절한 때에, 백그라운드에서라던지) 서버로 전송을 해야 할 것 같습니다
Andromer (1,360 포인트) 님이 2015년 6월 18일 답변
0 추천
안녕하세요.^^ 폰토스입니다.

클라이언트에서 인앱결제가 완료되고 앱서버로 전송시 네트웍 단절이 발생하면 failed처리를 하실것입니다.

이때에 정상적이라면 다른 처리는 필요없겠지만 실패시에는 무조건 영수증데이타를 암호화해서 파일로 저장을 하세요.

클라이언트가 강제 종료될수도 있기 때문이죠. !!

이 저장된 영수증은 앱을 재실행시나 상점등으로 접근시 파일을 체크해서 앱서버로 전송하시면 됩니다.

앱서버로 전송시에는 문자열이라서 순식간에 서버로 보내질 거에요.

전송결과값을 받고 실패시에는 백그라운드로 2~3번 더 앱서버로 전송을 하게끔 구현하시면 될거 같습니다.

앱서버가 문제가 발생할 수도 있기 때문에 3번정도가 좋겠네요. ㅋ

전송결과가 성공시에는 파일 데이타에서 해당 영수증을 지우시면 됩니다.

실패한 해당 영수증이 10개라면 10개  만큼 앱서버로 보내시면 되구요.

성공, 실패에 대한 팝업은 표시를 하실 필요가 없을듯 합니다.

매번 확인하시는 로직이 구현되어 있을 테니깐요.
폰토스 (620 포인트) 님이 2015년 6월 18일 답변
...