IAP
인앱결제(In-App Purchase) 관련 기능을 모은 네임스페이스입니다. 단건 구매, 구독 구매, 상품 목록 조회, 주문 내역 조회와 함께 토스페이 일반 결제 진입점(checkoutPayment)도 같은 페이지에서 다룹니다. 결제 처리는 토스 앱이 직접 담당하므로 별도의 PermissionName 인가가 필요하지 않습니다.
메서드
| 메서드 | 용도 |
|---|---|
checkoutPayment | 토스페이 결제창을 띄워 payToken 기반 사용자 인증을 처리합니다. SKU 비기반 일반 결제. |
IAP.completeProductGrant | 상품 지급 완료 신호를 앱에 전달합니다. |
IAP.createOneTimePurchaseOrder | 단건 인앱결제 주문서 페이지로 이동합니다. |
IAP.createSubscriptionPurchaseOrder | 구독 인앱결제 주문서 페이지로 이동합니다. |
IAP.getCompletedOrRefundedOrders | 완료·환불된 주문 목록을 조회합니다. |
IAP.getPendingOrders | 대기 중인 주문 목록을 조회합니다. |
IAP.getProductItemList | 구매 가능한 상품 목록을 가져옵니다. |
IAP.getSubscriptionInfo | 구독 주문의 현재 상태를 조회합니다. |
checkoutPayment은 IAP.* 네임스페이스 메서드가 아닌 플랫 export지만, sdk-example의 IAP 페이지에서 함께 렌더링되며 결제 흐름의 한 갈래라는 점에서 같은 네임스페이스로 묶었습니다.
권한
권한이 필요하지 않습니다. IAP 네임스페이스는 별도의 PermissionName에 바인딩되지 않으며, 결제 흐름의 인가는 토스 앱 내부에서 처리됩니다.
일반적인 구매 흐름
getProductItemList() ← 상품 목록 조회
↓
createOneTimePurchaseOrder / createSubscriptionPurchaseOrder
↓ processProductGrant 콜백
↓ 서버에서 상품 지급
completeProductGrant() ← 지급 완료 신호 전송
두 주문 메서드(createOneTimePurchaseOrder, createSubscriptionPurchaseOrder)는 cleanup 함수를 반환합니다. 결제 흐름이 끝나면 반드시 이 함수를 호출해 앱브릿지 리소스를 해제해야 합니다.
최소 지원 버전
| 메서드 | Android | iOS |
|---|---|---|
getProductItemList | 5.219.0 | 5.219.0 |
getCompletedOrRefundedOrders | 5.231.0 | 5.231.0 |
getPendingOrders | 5.234.0 | 5.231.0 |
completeProductGrant | 5.233.0 | 5.233.0 |
createOneTimePurchaseOrder | — | — |
createSubscriptionPurchaseOrder | — | — |
getSubscriptionInfo | — | — |
지원 버전 미만의 앱에서는 일부 메서드가 undefined를 반환할 수 있습니다. 호출 전 isMinVersionSupported()로 확인하거나 반환값의 존재 여부를 체크하세요.
직접 실행해 보기
sdk-example의 IAP 페이지에서 전체 결제 워크플로를 실험해 볼 수 있습니다.
sdk-example에서 실행해 보기외부 참조
@apps-in-toss/web-framework— 상위 SDK 패키지. 실제 export는 내부적으로@apps-in-toss/web-bridge에서 가져옵니다.