@cryptonly/sdk

中文文档
1.9.2发布于 2026/10/30MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 2000

官方密码SDK.

中文使用文档
文档目录12 节
  1. 安装
  2. 快开始
  3. 选项
  4. 资源
  5. 创建存款地址
  6. 发送退出
  7. 列出x402次付款
  8. 目 录
  9. 校验网约车
  10. 错误
  11. 捐款
  12. 许可证
Cryptonly

加密 – Merchant API SDK

官方JavaScript/TypeScript SDK用于Cryptly商家API.

网站 • 妇女 文档 • 妇女 联系人


安装

npm install @cryptonly/sdk

需要节点.js 18或以后。 TypeScript用户需要TypeScript 4.5或更晚.

快开始

import { Cryptonly } from '@cryptonly/sdk';

const client = new Cryptonly({ apiKey: process.env.CRYPTONLY_API_KEY! });

const invoice = await client.invoice.create({
  amount: 100,
  fiatCurrencyCode: 'USD',
  description: 'Order #123',
  orderId: 'order_123',
});

选项

选项默认
apiKey所需经费您的加密 API 密钥 。 它会选择账户.
sandboxfalse打电话 沙盒 API而不是生产.
baseUrlhttps://api-merchant.cryptonly.net另一个API起源. 胜过 sandbox。 。 。 .
timeout60000请求超时, 以毫秒计 .
fetchglobalThis.fetch习惯 fetch,用于测试或更长的运行时间.

资源

客户端方法指南
client.invoicecreate, (中文(简体) ), list, (中文(简体) ), get, (中文(简体) ), cancel发票
client.depositcreate, (中文(简体) ), list, (中文(简体) ), get存款
client.withdrawalquote, (中文(简体) ), commit, (中文(简体) ), list, (中文(简体) ), get退 款
client.currencieslist, (中文(简体) ), listFiat支持货币
client.x402Settlementslist, (中文(简体) ), getx402 付款额

get 财务报告和审定财务报表 cancel 带 { id } 或者说 { orderId }。 。 。 . list 方法返回 { data, total, page, limit, hasMore }。请求和响应类型从软件包中导出.

创建存款地址

const deposit = await client.deposit.create({
  cryptoCurrencyCode: 'USDT_TRC20',
  orderId: 'deposit_123',
});

console.log(deposit.address, deposit.qrCode);

发送退出

退出需要两次通话. quote 返回收费和短命 quoteId,以及 commit 发送它.

const quote = await client.withdrawal.quote({
  amount: '50',
  cryptoCurrencyCode: 'USDT_TRC20',
  address: 'TJn22ewJPN89yNtrnBkagsunbrLnPyQCgs',
  orderId: 'withdrawal_123',
});

const withdrawal = await client.withdrawal.commit({ quoteId: quote.quoteId });

过 allowAutoConvert: true 以弥补短缺,将余额中的其他资产转换. quote.autoConvert 然后显示转换.

列出x402次付款

const { data } = await client.x402Settlements.list({ status: 'confirmed' });

API 密钥需要 x402.list 范围.

目 录

orderId 制造 invoice.create, (中文(简体) ), deposit.create 财务报告和审定财务报表 withdrawal.quote 安全地重试。 同样的重试 orderId 返回原始,而不是创建重复。 见 一能性。 。 。 .

校验网约车

用你的账户的签名密钥 在每个网页上签名 把原始请求体递过来 x-webhook-signature 事件验证符头和密钥 :

import express from 'express';
import { verifyInvoiceWebhook } from '@cryptonly/sdk';

app.post('/webhooks/cryptonly', express.raw({ type: 'application/json' }), (req, res) => {
  const result = verifyInvoiceWebhook(
    req.body, // the raw Buffer, not parsed JSON
    req.header('x-webhook-signature'),
    process.env.CRYPTONLY_WEBHOOK_SECRET!,
  );
  if (!result.ok) return res.sendStatus(401);

  console.log(result.envelope.data.status);
  res.sendStatus(200);
});
活动验证人
invoice.statusChangedverifyInvoiceWebhook
deposit.statusChangedverifyDepositWebhook
withdrawal.statusChangedverifyWithdrawalWebhook

如果失败, result.reason 实值 missing_signature, (中文(简体) ), invalid_signature, (中文(简体) ), invalid_json 或者说 wrong_event。在仪表板下获取签名密钥 警卫。见 网络用户 对有效载荷和回击.

错误

每个失败的请求都会丢出一个 CryptonlyApiError数字 :

外地
statusHTTP 状态,或 0 用于网络错误和超时.
code稳定错误代码, 如 exceptions.withdrawal.insufficientBalance有关这个的分支.
message人文可读信息.
extension额外数据,例如: { msBeforeNext } 关于费率限制.
requestId联系支持时包含它 .
path, (中文(简体) ), body请求路径和解析的响应正文 .
import { CryptonlyApiError, CRYPTONLY_EXCEPTION_WITHDRAWAL_INSUFFICIENT_BALANCE } from '@cryptonly/sdk';

try {
  await client.withdrawal.commit({ quoteId });
} catch (error) {
  if (error instanceof CryptonlyApiError && error.code === CRYPTONLY_EXCEPTION_WITHDRAWAL_INSUFFICIENT_BALANCE) {
    // top up, then retry
  }
  throw error;
}

错误代码导出为 CRYPTONLY_EXCEPTION_* 常数.

捐款

欢迎错误报告和调取请求 GitHub 图像。对于更大的变化,首先打开一个问题。 见 捐款额 并且,对于脆弱性, 警卫。 。 。 .

许可证

麻省理工学院

版本与发布记录

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

版本发布日期距今
1.9.2latest2026/10/3015 天前
1.9.12026/10/2421 天前
1.9.02026/10/2322 天前
1.8.12026/10/2025 天前
1.8.02026/10/1827 天前
1.7.02026/10/1728 天前

关于 @cryptonly/sdk 的常见问题

@cryptonly/sdk 是什么?

官方密码SDK.

如何安装 @cryptonly/sdk?

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

@cryptonly/sdk 支持 TypeScript 吗?

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

@cryptonly/sdk 支持 ESM 还是 CommonJS?

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

@cryptonly/sdk 需要什么版本的 Node.js?

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

@cryptonly/sdk 可以商用吗?

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

@cryptonly/sdk 的下载量有多少?

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

@cryptonly/sdk 还在维护吗?

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