빌링 사용하기¶
IAP v4는 간단하게 결제를 구현할 수 있도록 영수증 검증과 중복지급 체크 및 결제 로그 전송 등의 일련의 과정을 지원하여 개발 시간을 줄이고, 마켓의 변화에 빠르게 대응할 수 있는 결제 모듈입니다.
IAP v4 소개¶
IAP v4는 다음과 같은 특징을 가지고 있습니다.
- Google, Apple, 원스토어, 러비 상점의 빌링 시스템을 하나의 API로 개발할 수 있습니다.
- 상품 정보 요청 시 IAP v4 서버가 통화 표기 및 부가세를 계산하여 게임에 전달합니다.
- 매출 정보 시스템에 등록된 마켓 PID 리스트를 SDK를 통해 전달받을 수 있습니다.
- 게임 클라이언트에서 영수증 검증 요청 시 게임 정보를 함께 전송하면 IAP v4 서버가 결제 로그와 게임 정보를 함께 애널리틱스에 전송합니다.
- 마켓 PID 기준으로 구매 플로우가 진행됩니다.
- pre purchase(구매 클릭 시), purchase(구매 후), post purchase(finish 호출 후) 과정의 로그를 수집하여 구매 상태 및 영수증 검증 과정을 명확히 합니다.
- IAP v4에서는 결제 및 영수증 검증, 로그 전송을 수행하고 아이템 지급은 게임 서버에서 처리해야 합니다.
- Window, 모바일 환경에서 PG 결제를 지원합니다.
- Windows 환경에서는 Steam 마켓 결제를 지원합니다.
- Steam 마켓 결제를 위해 다음 하이브 콘솔 설정이 필요합니다.
- Steam 환경을 샌드박스로 설정하면 샌드박스 결제로 진행됩니다.
IAP v4 구매 과정 도식화¶
IAP v4 기능 지원 현황¶
| 운영체제 | iOS | Android | Windows | ALL | |||||
|---|---|---|---|---|---|---|---|---|---|
| 마켓/플랫폼 | Apple App Store | Google Play Store | ONE Store v4 | ONE Store v7 (v5,v6) | Samsung Galaxy Store | Amazon Appstore | Huawei AppConnect | Steam | PG |
| 단건 구매 | O | O | O | O | O | O | O | O | O |
| 복수 구매 | - | O | - | - | - | - | - | - | O |
| 구매 복구 | O | O | O | O | O | O | O | O | O |
| 취소/환불 내역 조회 | O | O | X | O | X | O | O | O | O |
| 환불 사용자 재결제 | O | O | X | O | X | O | O | O | O |
| 구독 | O | O | X | O | O | O | O | X | X |
| 자동 갱신 구독 | 주간, 1개월, 2개월, 3개월, 6개월, 연간 | 주간, 1개월, 3개월, 6개월, 연간 | X | 주간, 1개월, 3개월, 6개월, 연간 | 주간, 1개월, 3개월, 6개월, 연간 | Weekly, BiWeekly, Monthly, BiMonthly, Quarterly, SemiAnnually, Annually | P1W, P1M, P2M, P6M, P1Y, ..., ISO 8601 | X | X |
| 페이로드 지원 | O | O | 지원불가 | O | O | O | O | O | O |
IAP v4 연동 플로우¶
Note
모바일 PG 연동 시 모바일 PG 연동 플로우 문서를 참고해 주세요.
마켓이 여러 개인 경우 연동 플로우¶
앱에서 여러 마켓을 지원하는 경우(예: App Store + Hive Store), 아래 플로우를 참고하여 API를 호출하세요.
flowchart TD
A(["marketConnect"])
B(["getProductInfo"])
C(["setMarketSelection"])
D(["purchase"])
E(["영수증 검증 (게임 서버)"])
F(["transactionFinish"])
A -- "앱 실행 시 1회" --> B
B -- "마켓별 최초 1회" --> C
C -- "구매에 사용할 마켓 지정" --> D
D --> E --> F Note
getProductInfo는 마켓별로 최초 1회만 호출하면 됩니다. 이후 마켓을 변경하더라도 재호출할 필요가 없습니다.- 사용자가 결제 수단(마켓)을 변경할 때마다
setMarketSelection을 호출한 뒤purchase또는restore를 진행합니다. - 각 API의 호출 시점에 대한 자세한 내용은 마켓 선택을 참고하세요.
Warning
Apple은 iOS 엔터프라이즈 빌드에 Apple Game Center와 인앱을 지원하지 않습니다.
Note
Steam 자체의 터치 스크린 지원 특징으로 인해, UMPC에서는 Steam에서 노출하는 창(결제 화면 등)을 터치할 때 사용자의 의도와 다르게 동작할 수 있습니다. SteamDeck에서는 터치가 정상 작동합니다.

