IAP 테스트 Sandbox 계정생성 방법

JaeEun Lee·2025년 3월 6일

iOS

목록 보기
3/4

Sandbox 계정이란?

Sandbox 계정은 Apple의 In-App Purchase(IAP)를 개발 및 테스트할 때 사용하는 가상의 Apple ID입니다.
즉, 실제 결제 없이 IAP 기능을 테스트할 수 있도록 제공되는 환경입니다.

Sandbox 계정의 주요 특징

  • 실제 신용카드 결제가 발생하지 않음 → 가상의 구매만 수행
  • Apple Developer Program에 등록된 개발자만 사용 가능
  • App Store에 로그인하는 것이 아니라, IAP 테스트에서만 사용
  • 테스트 가능한 항목

    소비형 상품 (Consumable)
    비소비형 상품 (Non-Consumable)
    구독 상품 (Subscription)
    구매 복원 (Restore Purchases)
    iOS/iPadOS/tvOS/macOS에서 모두 지원됨

Sandbox계정 생성방법

Sandbox 계정은 Apple Developer 계정에서 생성해야 합니다.

1.Apple Developer 계정에 로그인

  1. Apple Developer Account 에 접속
  2. “Users and Access” 메뉴 선택

2. 테스트 계정 추가

  1. “Sandbox” 탭 클릭
  2. “Add (+)” 버튼 클릭하여 새로운 테스트 계정 생성
  3. 다음 항목을 입력
  • 이메일: 실존하지 않는 테스트용 이메일 입력 (예: iap_tester@example.com)
  • 국가/지역: 테스트하려는 App Store 지역 선택
  • 비밀번호: 테스트 계정 비밀번호 설정
  • 생년월일: 아무 값 입력 (18세 이상)
  • 보안 질문/답변 설정 (임의의 값)
  • 동의 및 저장

3. Sandbox계정 활성화

  1. iPhone/iPad에서 설정 → App Store → Sandbox 계정 로그인
  2. Mac에서 Xcode의 ‘StoreKit Configuration’을 통해 테스트 가능

Sandbox 계정을 사용하여 IAP테스트하는 방법

1. iOS 디바이스에서 Sandbox 계정 로그인

iOS 설정 → App Store → Sandbox 계정으로 로그인
일반 Apple ID 로그인과 별개로 관리됨 (기기 전체에 영향을 주지 않음)

2. 앱 실행 후 결제 테스트

SKPaymentQueue.default().add(payment) 호출 시, Apple의 샌드박스 환경으로 연결됨.
결제 창이 표시되며, 실제 결제 없이 테스트 계정으로 구매 진행 가능
Apple 결제 UI에서 “확인”을 누르면 가상의 결제가 완료됨

3. 영수증 검증 (Sandbox 환경)

실제 영수증 검증 API는 Apple의 Sandbox 서버 (https://sandbox.itunes.apple.com/verifyReceipt) 를 사용해야 함.
개발 모드에서 isDebugMode 체크하여 Sandbox 서버를 호출하도록 설정

let isSandbox = true  // 개발 중에는 true, 배포 시 false
let receiptURL = isSandbox
    ? "https://sandbox.itunes.apple.com/verifyReceipt"
    : "https://buy.itunes.apple.com/verifyReceipt"

4. 구독 (Subscription) 테스트

  • Sandbox에서는 구독 기간이 단축됨
  • 1개월 구독 → 5분
  • 1년 구독 → 1시간
  • 자동 갱신 → 6회 반복 후 종료

개발자가 Sandbox 계정을 활용할 때 주의할 점

1. 실제 Apple ID와 Sandbox 계정을 혼동하지 말 것

설정에서 Apple ID와 Sandbox ID를 별도로 관리해야 함.

2. 기기 설정에서 Sandbox 계정이 제대로 로그인되었는지 확인

IAP 테스트가 실패하는 경우 Sandbox 계정이 정상적으로 등록되지 않았을 가능성이 높음.

3. Xcode에서 StoreKit Configuration 파일을 활용하여 로컬에서 테스트 가능

iOS 14 이상에서는 StoreKit을 통해 실제 기기 없이도 IAP 테스트 가능.

4. 구독 테스트는 실제 배포 환경과 시간이 다름

Sandbox에서는 구독 기간이 단축되므로, 테스트 시 이를 고려해야 함.

요약

  • Sandbox 계정은 Apple의 IAP를 테스트할 수 있는 전용 가상의 Apple ID
  • 실제 결제 없이 모든 IAP 기능을 개발자가 테스트 가능
  • Apple Developer 사이트에서 생성 후 iOS 설정에서 로그인하여 사용
  • 실제 배포 환경과 다르므로, 서버에서 isSandbox 플래그를 활용하여 처리해야 함
profile
공업철학프로그래머

0개의 댓글