# Untitled

IAP - 인앱 결제에 대한 기본

- PG와 IAP를 비교한다면,

    - 실물이 있는 제품을 앱에서 구매한다고 한다면 PG를 통해서 결제를 진행한다. (애플 수수료 정책으로 실제 매출이 잡히기 어렵기 때문)

    - 앱 내부에서 활용되고 (이모티콘 같은) 앱 외부에서 실물이 없다면 인앱결제를 통해 진행한다. (StoreKit 활용)

- 인앱 결제를 붙인다고 한다면,

    - 개발자 계정을 생성하고 유료 응용 프로그램 계약을 진행한다.

    - 개발한 App의 Appstore Connect에서 앱 내 구입 항목을 만들 수 있다. 

        - 소모품/비소모품 여부를 결정한다. 소모품은 포인트 같이 계속 결제할 수 있는 상품이다. 비소모품은 테마/광고제거와 같은 '기능'을 결제하는 상품이다.

        - 인앱 상품에 대한 고유 식별 정보와 제품 ID를 구성한다. (제품 ID는 고유해야 한다.)

        - 어떤 지역에서 인앱 결제를 활성화 할 것인지 설정해주고, 해당 앱 스토어에서 어떤 문구로 어떤 설명으로 보여질 지 결정한다.

    - Xcode에서 앱 내 구입을 활성화하고 개발을 진행한다.

        - 구매 내역 복구가 있는 경우? → 유저가 Device 자체를 변경하여 앱을 다시 설치한 경우 '비소모품' 기능을 계속 이관시킬 수 있도록 필요하다.

            - 단, 복구의 기준은 AppleID 가 동일해야 한다.

        - 권한/기능을 구독하는 경우? → 구독하는 유저의 device가 애플 기기가 맞는지 (웹, 안드로이드에도 서비스를 하는 경우 기기가 변경되면 어떻게 처리하는지 서버 로직 결정 필요), 정상적인 구독이 맞는지에 대한 영수증 확인 로직이 필요하다.

        - TestFlight, SandBox를 통해서 실제 결제 없이 인앱 결제 테스트를 한다. (Sandbox 계정)

- IAP에 대한 정책

    - 구매할 수 있는 상품의 갯수는 10,000개

    - tbd

For the site tree, see the [root Markdown](https://slashpage.com/hankyeol.md).
