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 函数在功能结束后必须调用。

Toss应用 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

如果当前运行的 Toss App 版本不支持此功能,调用后会立即发生。 IAP.createSubscriptionPurchaseOrder.isSupported()可通过它提前确认,发生时 error.message请向用户显示(更新提示文案)。

示例代码

这有帮助吗?