@buckaroo/buckaroo_sdk

中文文档
1.14.0发布于 2026/11/05ISCTypeScriptESM + CJS构建来源已验证近 30 天下载 9123

袋鼠支付 SDK

中文使用文档
文档目录14 节
  1. 关于
  2. 所需资源
  3. 安装
  4. 开始
  5. 配置客户端
  6. 创建付款
  7. 获取交易信息
  8. 正在验证按下消息
  9. 只使用服务器侧
  10. 测试
  11. 支助
  12. 贡献
  13. 版本
  14. 许可证

Buckaroo — Node SDK

白鼠节点 SDK

Latest release Node version Documentation Download from npm

关于 • 妇女 所需资源 • 妇女 安装 • 妇女 开始 • 妇女 只使用服务器侧 • 妇女 测试 • 妇女 支助 • 妇女 贡献


关于

Buckaroo是荷兰支付服务供应商。 超过54 000个组织依靠Buckaroo平台处理付款、订阅和未付发票.

这是Buckaroo的官方节点SDK:一个现代开放源代码库,将JavaScript或TypeScript应用程序连接到Buckaroo API. 它搭载了CommonJS和ES模块与TypeScript声明一起构建,因此在任一模块系统中工作,没有额外的配置.

关于docs.buckaroo.io的完整SDK文档,则 API 参考 用于请求参数和服务代码.


所需资源

所需经费支持的版本
节点.js6.14 或更高

你还需要一个Buckaroo账户。 还没有吗? 请求账户。 。 。 .


安装

npm install @buckaroo/buckaroo_sdk

或用纱线:

yarn add @buckaroo/buckaroo_sdk

开始

配置客户端

您可以在下面找到您的 Store 密钥和密钥 Buckaroo广场的API证书设置 mode 改为 TEST 开发并进入 LIVE 在生产中.

import Buckaroo from '@buckaroo/buckaroo_sdk';

const buckarooClient = Buckaroo.InitializeClient(
    {
        websiteKey: 'YOUR_STORE_KEY',
        secretKey: 'YOUR_SECRET_KEY',
    },
    {
        mode: 'TEST', // or 'LIVE'
        currency: 'EUR',
        returnURL: 'https://example.com/return',
        pushURL: 'https://example.com/push',
    }
);

[注] 这个 websiteKey 选项选择您的 Store 密钥。 Store 密钥之前称为 Website 密钥,该选项名称被保留为后向兼容.

[TIP] 让您的密钥脱离版本控制 。 从环境变量中装入两把钥匙,而存储器则装入 .env.example 开始.

创建付款

每一种支付方法都使用稍有不同的有效载荷. 本例收费为 Mastercard :

const payment = await buckarooClient
    .method('mastercard')
    .pay({
        amountDebit: 100,
    })
    .request();

交换 mastercard 用于任何其他服务代码使用不同的支付方法。 服务代码及其参数列于 API 参考。 。 。 .

获取交易信息

一旦交易存在,您可按要求查询:

const transaction = buckarooClient.transaction(payment.getTransactionKey());

await transaction.status();     // transaction status
await transaction.refundInfo(); // refund info
await transaction.cancelInfo(); // cancellation info

正在验证按下消息

把原始请求体传递给 ReplyHandler 作为弦. 从 data()而不是从你自己的身体. data() 只在通过验证后返回字段.

import { ReplyHandler } from '@buckaroo/buckaroo_sdk';

// HTTP post push: the raw application/x-www-form-urlencoded body
const reply = new ReplyHandler(buckarooClient.credentials, rawBody).validate();

// JSON push: also pass the Authorization header and the full push URL
// const reply = new ReplyHandler(buckarooClient.credentials, rawBody, req.headers.authorization, pushUrl).validate();

if (reply.isValid()) {
    const push = reply.data();
    // push.brq_statuscode, push.brq_invoicenumber, ...
}

更多可运行的例子在 example/。 。 。 .


只使用服务器侧

[尖叫声] 只使用您服务器上的此库 。 永远不要将其捆绑到网站或移动应用程序中.

这个库用JavaScript来写出,因此技术上可以将其收录到前端代码中——但这样做会让装入页面的每个人暴露出你的"秘密"密钥. 任何持有钥匙的人都可以代表你行事.

在预定的设置中,你的服务器持有"秘密"密钥,并通过这个SDK呼叫"白鼠"API. 浏览器上没有任何敏感内容 .


测试

npm install
npm test

测试运行于 欢乐。格式由 Pretier 处理 :

npm run prettier

与白鼠测试环境交谈的测试需要证明,所以复制 .env.example 改为 .env 并先填写您的测试 Store 密钥和密钥.


支助

有麻烦吗? 通过这份清单,然后联系:

  1. 检查 SDK 文档 编辑 API 参考。 。 。 .
  2. 确认你正在 最新发布。 。 。 .
  3. 重新提出这个问题: mode: 'TEST' 并检查完整的响应,包括状态子代码和消息.
  4. 校验您的推力 URL 从您的网络外部可以到达 。 Buckaroo从固定的IP地址和端口发送推推消息,所以确保这些消息在您的允许列表中. 见 推动消息 用于当前列表.

还卡住? 联系我们,并包括您的Node.js版本, SDK版本, 您调用的服务和动作, 错误消息和交易密钥 .


贡献

当开发者帮助改进 Buckaroo SDK 时,我们真的很感激。 请读我们的 贡献准则 在打开拉出请求之前,并瞄准 master 树枝.

找到安全问题了吗? 请私下报到 支持@ buckaroo.nl 而不是公开讨论.


版本

我们遵循语义化的版本(MAJOR.MINOR.PATCH:

  • 大师 ——打破需要额外测试和谨慎的变动.
  • 毛里塔尼亚 ——影响有限的新功能.
  • 帕齐 ——只修复错误和热修.

所有更改均记录在 更改日志 报告 页 次。 。 。 .


许可证

此 SDK 是开源软件, 许可使用 麻省理工学院许可证。 。 。 .


由我小心地制作 由我负责制作 白鲸。 。 。 .
此文档可能更改; 类型和语言错误是可能的.

版本与发布记录

@buckaroo/buckaroo_sdk 共发布 34 个版本,首次发布于 2023/04/20;过去 12 个月发布了 10 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.14.0latest2026/11/053 天前
1.13.02026/10/1425 天前
1.12.32026/09/251 个月前
1.12.22026/08/192 个月前
1.12.12026/07/213 个月前
1.12.02026/05/145 个月前

关于 @buckaroo/buckaroo_sdk 的常见问题

@buckaroo/buckaroo_sdk 是什么?

袋鼠支付 SDK

如何安装 @buckaroo/buckaroo_sdk?

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

@buckaroo/buckaroo_sdk 支持 TypeScript 吗?

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

@buckaroo/buckaroo_sdk 支持 ESM 还是 CommonJS?

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

@buckaroo/buckaroo_sdk 需要什么版本的 Node.js?

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

@buckaroo/buckaroo_sdk 可以商用吗?

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

@buckaroo/buckaroo_sdk 的下载量有多少?

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

@buckaroo/buckaroo_sdk 还在维护吗?

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