본문으로 건너뛰기

IAP

인앱결제(In-App Purchase) 관련 기능을 모은 네임스페이스입니다. 단건 구매, 구독 구매, 상품 목록 조회, 주문 내역 조회와 함께 토스페이 일반 결제 진입점(checkoutPayment)도 같은 페이지에서 다룹니다. 결제 처리는 토스 앱이 직접 담당하므로 별도의 PermissionName 인가가 필요하지 않습니다.

메서드

메서드용도
checkoutPayment토스페이 결제창을 띄워 payToken 기반 사용자 인증을 처리합니다. SKU 비기반 일반 결제.
IAP.completeProductGrant상품 지급 완료 신호를 앱에 전달합니다.
IAP.createOneTimePurchaseOrder단건 인앱결제 주문서 페이지로 이동합니다.
IAP.createSubscriptionPurchaseOrder구독 인앱결제 주문서 페이지로 이동합니다.
IAP.getCompletedOrRefundedOrders완료·환불된 주문 목록을 조회합니다.
IAP.getPendingOrders대기 중인 주문 목록을 조회합니다.
IAP.getProductItemList구매 가능한 상품 목록을 가져옵니다.
IAP.getSubscriptionInfo구독 주문의 현재 상태를 조회합니다.

checkoutPaymentIAP.* 네임스페이스 메서드가 아닌 플랫 export지만, sdk-example의 IAP 페이지에서 함께 렌더링되며 결제 흐름의 한 갈래라는 점에서 같은 네임스페이스로 묶었습니다.

권한

권한이 필요하지 않습니다. IAP 네임스페이스는 별도의 PermissionName에 바인딩되지 않으며, 결제 흐름의 인가는 토스 앱 내부에서 처리됩니다.

일반적인 구매 흐름

getProductItemList() ← 상품 목록 조회

createOneTimePurchaseOrder / createSubscriptionPurchaseOrder
↓ processProductGrant 콜백
↓ 서버에서 상품 지급
completeProductGrant() ← 지급 완료 신호 전송

두 주문 메서드(createOneTimePurchaseOrder, createSubscriptionPurchaseOrder)는 cleanup 함수를 반환합니다. 결제 흐름이 끝나면 반드시 이 함수를 호출해 앱브릿지 리소스를 해제해야 합니다.

최소 지원 버전

메서드AndroidiOS
getProductItemList5.219.05.219.0
getCompletedOrRefundedOrders5.231.05.231.0
getPendingOrders5.234.05.231.0
completeProductGrant5.233.05.233.0
createOneTimePurchaseOrder
createSubscriptionPurchaseOrder
getSubscriptionInfo

지원 버전 미만의 앱에서는 일부 메서드가 undefined를 반환할 수 있습니다. 호출 전 isMinVersionSupported()로 확인하거나 반환값의 존재 여부를 체크하세요.

직접 실행해 보기

sdk-example의 IAP 페이지에서 전체 결제 워크플로를 실험해 볼 수 있습니다.

sdk-example에서 실행해 보기

외부 참조