@raimshq/raims

中文文档
0.1.2发布于 2026/11/02MITTypeScriptESM + CJS零依赖

官方Node.js SDK用于Raims公共API。

中文使用文档
文档目录7 节
  1. 安装
  2. 快速启动
  3. 创建收费
  4. 打印稿
  5. 遍历页面
  6. 资源
  7. 文档

Raims node . js

用于Raims公共API的官方Node.js SDK,带有TypeScript类型, ESM和CommonJS模块,以及按资源组织的方法。

需要Node.js 22或更高版本。使用Node.js HTTP传输,没有生产 依赖关系。在服务器上运行SDK,避免API密钥出现在浏览器中。 版本控制和日志。

安装

在将使用SDK的应用程序中:

npm install @raimshq/raims

包的名称为 @raimshq/raims. 包括TypeScript声明。 保留应用程序的lockfile以复制已安装的依赖版本。

要更新到最新的稳定版本:

npm install @raimshq/raims@latest

读了 发布说明 和测试 更新后的集成。将来的更新不会自动安装。

如果您安装了较早的GitHub归档文件 raims取代这种依赖 与 @raimshq/raims 更新你的 import 和 require 路径。这个 Raims 类和资源方法保持相同的名称。

这个 GitHub版本 还提供了 raims-node.tgz 和 SHA256SUMS. 要安装下载的软件包, 验证其校验和并运行 npm install /path/to/raims-node.tgz.

快速启动

import Raims from '@raimshq/raims';

const apiKey = process.env.RAIMS_API_KEY;
if (!apiKey) throw new Error('Set RAIMS_API_KEY on the server.');

const raims = new Raims(apiKey);
const customers = await raims.customers.list({ page_size: 20 });

for (const customer of customers.list) {
  console.log(customer.id);
}

对于CommonJS,使用 const Raims = require('@raimshq/raims'). 命名的导出 Raims 和 RaimsClient 引用同一个构造函数。

基本URL是 https://api.raims.com 在这两种环境中。API密钥 确定公司、环境和权限;客户没有 提供环境选择器。使用沙盒键进行模拟。

创建收费

本例使用一个现有客户。 customerId, chargeDueDate, chargeIdempotencyKey 应用程序定义和持久化的值是什么 发送请求前的订单。

const charge = await raims.charges.create({
  customer_id: customerId,
  amount_cents: 15000,
  due_date: chargeDueDate,
  title: 'Order 1234',
}, {
  idempotencyKey: chargeIdempotencyKey,
});

const { statusCode, requestId } = charge.lastResponse;

15000 即150巴西雷亚尔。资源日期使用UTC Unix秒。在失去一个 响应,保留相同的键和每个参数,包括到期日期。 SDK不会自动生成等幂密钥或重试写操作。 HTTP 202 表示结果等待处理,您必须跟踪资源;它 不确认付款或财务操作的完成。

打印稿

import Raims, { type CreateChargeParams } from '@raimshq/raims';

const params: CreateChargeParams = {
  customer_id: customerId,
  amount_cents: 15000,
  due_date: chargeDueDate,
};

const charge = await raims.charges.create(params, {
  idempotencyKey: chargeIdempotencyKey,
});

类型也可以在 Raims 名称空间,例如 Raims.CreateChargeParams 和 Raims.Charge. 它们是由 与定义方法和结构响应验证的契约相同。

遍历页面

for await (const charge of raims.charges.list({ page_size: 100 })) {
  await processCharge(charge);
}

const customers = await raims.customers.list().autoPagingToArray({ limit: 200 });

迭代器根据需要获取页面,并在离开循环时停止。 await list() 返回带有 list, page, nextPage(), previousPage(). 过滤器和选项保留用于后续读取。

资源

accounts, balances, customers, charges, paymentLinks, refunds, disputes, statements, withdrawals, withdrawalDestinations, webhooks, webhookEventTypes, simulations.charges, simulations.refunds.

看到 参考 对于每个资源的方法。

文档

根据 麻省理工学院的许可.

版本与发布记录

@raimshq/raims 共发布 2 个版本,首次发布于 2026/11/02;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.1.2latest2026/11/021 天前
0.0.0-stage2026/11/021 天前

关于 @raimshq/raims 的常见问题

@raimshq/raims 是什么?

官方Node.js SDK用于Raims公共API。

如何安装 @raimshq/raims?

在项目目录运行 npm install @raimshq/raims,或使用 pnpm add / yarn add / bun add。

@raimshq/raims 支持 TypeScript 吗?

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

@raimshq/raims 支持 ESM 还是 CommonJS?

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

@raimshq/raims 需要什么版本的 Node.js?

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

@raimshq/raims 可以商用吗?

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

@raimshq/raims 还在维护吗?

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