# @baukit/purchases-core 中文文档

规范地址：https://npmcn.com/package/%40baukit/purchases-core/

版本：0\.19\.1
npm 元数据更新时间：2026-11-08T02:16:46.006Z
中文译文更新时间：2026-11-07T22:32:29.060Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40baukit/purchases-core
原文对照：https://npmcn.com/package/%40baukit/purchases-core/?lang=original
项目主页：https://github.com/PatrickKoss/baukit#readme
源码仓库：https://github.com/PatrickKoss/baukit

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：152 kB，63 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.0\.0
- 运行依赖：1 个
- peer 依赖：react ^19\.2\.0
- 首次发布：2026-10-31T06:47:10.714Z
- 最新版本发布：2026-11-08T02:16:45.645Z
- 近 30 天下载量：2210（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 15 个）

## 中文简介

存储中性移动购买:一个购买端口,一个不开放的客户端,一个等待套房身份和刷新权益的购买流程,以及特色钥匙的接钩.

## 安装

```sh
npm install @baukit/purchases-core
```

也可以使用：`pnpm add @baukit/purchases-core`、`yarn add @baukit/purchases-core`、`bun add @baukit/purchases-core`

## README

# `@baukit/purchases-core`

Baukit 移动应用程序的商店中性购买流程。 它定义 `PurchasesPort` 用于构建没有存储密钥的不开放端口,以及 `PurchaseFlow` 产品后端所核查的属性。 它从来不读商店的权利。 Schlüsselbund拥有应享待遇,所以在刷新票上写明之前,商店收据不会给任何东西.

该套件没有"博览会"(Expo, React Industrial)或"ForwardCat"的进口. `@baukit/purchases-revenuecat` 是“ForwardCat”适配器.

```ts
import {
  PurchaseFlow,
  createNoopPurchasesPort,
  createAccountPlanBackend,
} from '@baukit/purchases-core';

const flow = new PurchaseFlow({
  port: createNoopPurchasesPort(),
  backend: createAccountPlanBackend({ baseUrl: `${apiOrigin}/api/v1`, fetch, headers: authHeaders }),
});

await flow.identify(suiteSubject);
const { current } = await flow.offerings();
const outcome = await flow.purchase(current!.packages[0]!);
```

-   `identify(suiteSubject)` 必须在前完成 `purchase`, (中文(简体) ), `restore` 或者说 `purchaseCreditPack`没有它,他们就拒绝 `not_identified`。 。 。 .
-   `signOut()` 清州并召入港口 `reset`。 。 。 .
-   `purchase` 返回时 `granted` 一旦后端通过更新修订为应享权利服务,或 `pending` 之后 `refreshAttempts` 改为(默认5,相隔2秒).
-   `restore` 返回时 `granted` 或者说 `unchanged`。 。 。 .
-   `purchaseCreditPack` 仅接受 `one_time` 软件包和返回 `credited` 贷方余额订正垫款,或 `pending`。 。 。 .
-   一次只买一次 第二个人拒绝 `busy`。 。 。 .
-   失败的是 `PurchaseError` 与 `code` `cancelled`, (中文(简体) ), `pending`, (中文(简体) ), `network`, (中文(简体) ), `store`, (中文(简体) ), `unavailable`, (中文(简体) ), `not_identified`, (中文(简体) ), `identity_changed`, (中文(简体) ), `subject_mismatch`, (中文(简体) ), `invalid_subject`, (中文(简体) ), `not_credit_pack` 或者说 `busy`。 。 。 .

`createAccountPlanBackend` 读取 `GET /me/entitlement` 财务报告和审定财务报表 `GET /me/credits` 路线 `baukit-suite`是因为 `account_plan_router` 服务。 它治疗 `suite_identity_missing` 没有权利 和提高 `AccountPlanError` 与 `code` 财务报告和审定财务报表 `retryAfterSeconds` 否则。 一个验证票本身的客户 `entitlementFromTicket(claims, plansUrl)`。 。 。 .

`@baukit/purchases-core/react` 已经 `PurchasesProvider` (与 `flow` 财务报告和审定财务报表 `productId`, (中文(简体) ), `usePurchaseFlow`, (中文(简体) ), `usePurchaseState`, (中文(简体) ), `useEntitlement`, (中文(简体) ), `useFeature(key)` 财务报告和审定财务报表 `LockedFeature`。 。 。 . `useFeature` 返回时 `loading`, (中文(简体) ), `unavailable`, (中文(简体) ), `granted`,或 `locked` 带个活墙 装入和不能装入既未显示特性, 也未显示购买, 且刷新失败后, 保留了最后核实的应享权利 . `paywallFor` 把票翻开 `billing` 索赔转入 `purchase`, (中文(简体) ), `manage` (网络和存储计划,从来没有第二次购买), `covered` (家庭和组织)或 `none` (独立). `plansLink` 构建 Schlüsselbund C17 链接 `/plans?from=<product id>&feature=<feature key>` 减少 `feature` 无 `from`。 。 。 .

读取 Baukit 的 `docs/platform/mobile-purchases.md` 为全线.

## 常见问题

### @baukit/purchases-core 是什么？

存储中性移动购买:一个购买端口,一个不开放的客户端,一个等待套房身份和刷新权益的购买流程,以及特色钥匙的接钩\.

### 如何安装 @baukit/purchases-core？

在项目目录运行 npm install @baukit/purchases-core，或使用 pnpm add / yarn add / bun add。

### @baukit/purchases-core 支持 TypeScript 吗？

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

### @baukit/purchases-core 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @baukit/purchases-core 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @baukit/purchases-core 可以商用吗？

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

### @baukit/purchases-core 的下载量有多少？

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

### @baukit/purchases-core 还在维护吗？

最新版本 0\.19\.1 发布于 2026/11/08（今天）；至今共发布 15 个版本，其中过去 12 个月发布了 15 个；首次发布于 2026/10/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

