For the complete documentation index, see llms.txt. This page is also available as Markdown.

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(업데이트 안내 문구)를 사용자에게 보여주세요.

예시 코드

도움이 되었나요?