@creem_io/react

中文文档
0.2.3发布于 2026/09/04MITTypeScriptESM + CJS构建来源已验证近 30 天下载 5020

React components and SDK to embed Creem checkout (modal & inline).

原始使用文档
文档目录7 节
  1. Install
  2. Getting a checkout URL
  3. 1. Declarative
  4. 2. Programmatic
  5. 3. Inline
  6. Options
  7. onComplete payload

@creem_io/react

React components + SDK to embed Creem checkout directly in your app — as a modal overlay or inline.

Install

npm install @creem_io/react

Getting a checkout URL

Create a checkout session server-side with your secret API key (Checkout API) and pass the returned checkout_url to these components. The URL is safe to expose; completion is confirmed server-side via webhook.

1. Declarative

Wrap any clickable element — clicking opens the checkout overlay.

import { CreemCheckout } from "@creem_io/react";

export function Pricing() {
  return (
    <CreemCheckout
      checkoutUrl="https://www.creem.io/checkout/<productId>/<checkoutId>"
      theme="light"
      onComplete={(detail) => console.log("paid!", detail)}
    >
      <button>Subscribe</button>
    </CreemCheckout>
  );
}

2. Programmatic

import { CreemEmbedCheckout } from "@creem_io/react";

const checkout = await CreemEmbedCheckout.create({
  checkoutUrl,
  theme: "dark",
  onComplete: (detail) => {
    // detail = { checkoutId, orderId, orderNo }
    checkout.close();
  },
});

Or the hook:

import { useCreemCheckout } from "@creem_io/react";

const openCheckout = useCreemCheckout();
openCheckout({ checkoutUrl, onComplete });

3. Inline

import { CreemCheckoutInline } from "@creem_io/react";

<CreemCheckoutInline
  checkoutUrl={checkoutUrl}
  onComplete={(detail) => unlock(detail.orderId)}
  style={{ width: 460, height: 820 }}
/>;

Options

All components accept theme ('light' | 'dark') and locale (BCP47 tag, e.g. 'pt-BR', to force the checkout language). They also emit a ready event (onReady) once the checkout UI has rendered. On completion, if the product has a Return URL, the page navigates there automatically — handle onComplete for custom behavior.

onComplete payload

{ checkoutId: string; orderId?: string; orderNo?: string; redirect?: boolean; redirectUrl?: string }

Fired when the embedded checkout finishes successfully. The SDK only accepts the completion event from the checkout's own origin.

版本与发布记录

@creem_io/react 共发布 4 个版本,首次发布于 2026/06/05;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.3latest2026/09/042 个月前
0.2.22026/06/254 个月前
0.2.12026/06/184 个月前
0.2.02026/06/055 个月前

关于 @creem_io/react 的常见问题

@creem_io/react 是什么?

React components and SDK to embed Creem checkout (modal & inline).

如何安装 @creem_io/react?

在项目目录运行 npm install @creem_io/react,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@creem_io/react 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@creem_io/react 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@creem_io/react 可以商用吗?

@creem_io/react 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@creem_io/react 的下载量有多少?

根据 npm 官方下载统计,@creem_io/react 在 2026/10/11 – 2026/11/09 这 30 天内被下载 5,020 次,日均约 167 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@creem_io/react 还在维护吗?

最新版本 0.2.3 发布于 2026/09/04(2 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/06/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。