IAP.createSubscriptionPurchaseOrder
기능 설명
구독 인앱결제 주문서 페이지로 이동해요. 단건 결제와 같이 options / onEvent / onError 이벤트 스타일이에요.
options.sku: 구독 상품 ID예요.options.offerId: 적용할 offer ID예요. 없으면 기본 가격이 적용돼요.options.processProductGrant: 주문 생성 후 상품 지급 시 호출해요.{ orderId, subscriptionId? }를 받아요.
반환값인 cleanup 함수는 기능이 끝나면 반드시 호출해요.
토스앱 Android 5.248.0, iOS 5.249.0 이상에서 사용할 수 있어요. 미지원 버전에서 호출하면 UNSUPPORTED_APP_VERSION 에러가 발생해요.
타입
IAP.createSubscriptionPurchaseOrder(params: CreateSubscriptionPurchaseOrderOptions): () => void;Params
interface CreateSubscriptionPurchaseOrderOptions {
options: {
sku: string;
offerId?: string | null;
processProductGrant: (params: {
orderId: string;
subscriptionId?: string;
}) => boolean | Promise<boolean>;
};
onEvent: (event: {
type: "success";
data: IapCreateSubscriptionPurchaseOrderResult;
}) => void | Promise<void>;
onError: (error: unknown) => void | Promise<void>;
}
type IapCreateSubscriptionPurchaseOrderResult =
IapCreateOneTimePurchaseOrderResult;Response
결제 흐름이 끝나면 호출해 리소스를 해제하는 cleanup 함수(() => void)를 반환해요.
에러
에러 코드는 onError로 받거나 호출을 감싼 try/catch에서 잡은 에러의 error.code 값이에요.
코드
설명
UNSUPPORTED_APP_VERSION
실행 중인 토스앱 버전이 이 기능을 지원하지 않으면 호출 즉시 발생해요. IAP.createSubscriptionPurchaseOrder.isSupported()로 사전 확인하고, 발생 시 error.message(업데이트 안내 문구)를 사용자에게 보여주세요.
예시 코드
도움이 되었나요?