목록 보기
우리의 iOS 인앱 결제 불법 환불을 막기 위한 시도
백엔드

우리의 iOS 인앱 결제 불법 환불을 막기 위한 시도

스푼랩스
스푼랩스
2026년 5월 4일

두줄요약

iOS 인앱 결제 환불 악용을 조기에 인지하기 위한 서버 대응 방식을 공유했습니다. 알림 재검증과 소비 정보 전달로 환불 이후 손실을 줄이고자 했습니다.

문제 상황

  • Apple 주도 환불 처리 이후에도 서비스가 상태 변경을 즉시 인지하지 못하는 인앱 결제 악용 위험
  • 환불 후에도 아이템 사용이나 구독 권한 유지로 이어지는 서비스 손실

원인 분석

  • 결제 승인·환불 결정권이 Apple에 있고 서비스의 직접 제어 불가
  • Apple 상태 머신 기준 알림의 지연·일시 상태 변화 가능성

해결 방법

  • App Store Server Notifications 수신용 서버 엔드포인트 구성과 안정적 수신 우선 설계
  • 알림 수신 후 트랜잭션 재검증, 환불 최종 확정 시에만 아이템 회수 또는 사용자 플래그 처리
  • Send Consumption Information으로 상품 소비 내역을 Apple 환불 심사 참고 자료로 전달

주의할 점

  • Notification을 최종 결론이 아닌 검증이 필요한 신호로 취급
  • 이미 소비된 리소스의 소급 회수 대신 환불 이후 상태 정리에 집중
  • 환불 완전 차단보다 조기 인지와 손실 완화 중심의 운영

다음 읽기

#iOS 주제를 다룬 다른 회사 글

더 빠르게 주문 상태 전달하기: Live Activities

Live Activities를 iOS 주문 상태 전달에 적용한 사례를 소개했습니다. 앱 종료 상태와 여러 기기에서도 일관된 상태 반영을 위해 APNs 기반 서버 관리를 선택했습니다.

요기요
요기요
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...