白鼠节点 SDK
关于 • 妇女 所需资源 • 妇女 安装 • 妇女 开始 • 妇女 只使用服务器侧 • 妇女 测试 • 妇女 支助 • 妇女 贡献
关于
Buckaroo是荷兰支付服务供应商。 超过54 000个组织依靠Buckaroo平台处理付款、订阅和未付发票.
这是Buckaroo的官方节点SDK:一个现代开放源代码库,将JavaScript或TypeScript应用程序连接到Buckaroo API. 它搭载了CommonJS和ES模块与TypeScript声明一起构建,因此在任一模块系统中工作,没有额外的配置.
关于docs.buckaroo.io的完整SDK文档,则 API 参考 用于请求参数和服务代码.
所需资源
| 所需经费 | 支持的版本 |
|---|---|
| 节点.js | 6.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 密钥和密钥.
支助
有麻烦吗? 通过这份清单,然后联系:
- 检查 SDK 文档 编辑 API 参考。 。 。 .
- 确认你正在 最新发布。 。 。 .
- 重新提出这个问题:
mode: 'TEST'并检查完整的响应,包括状态子代码和消息. - 校验您的推力 URL 从您的网络外部可以到达 。 Buckaroo从固定的IP地址和端口发送推推消息,所以确保这些消息在您的允许列表中. 见 推动消息 用于当前列表.
还卡住? 联系我们,并包括您的Node.js版本, SDK版本, 您调用的服务和动作, 错误消息和交易密钥 .
- 错误报告和特性请求 : 打开一个问题
- 技术支持: 支持@ buckaroo.nl
- 电话: +31(0)30 711 50 50
- 网关状态 : (原始内容存档于2017-10-21). status.buckaroo.io
贡献
当开发者帮助改进 Buckaroo SDK 时,我们真的很感激。 请读我们的 贡献准则 在打开拉出请求之前,并瞄准 master 树枝.
找到安全问题了吗? 请私下报到 支持@ buckaroo.nl 而不是公开讨论.
版本
我们遵循语义化的版本(MAJOR.MINOR.PATCH:
- 大师 ——打破需要额外测试和谨慎的变动.
- 毛里塔尼亚 ——影响有限的新功能.
- 帕齐 ——只修复错误和热修.
许可证
此 SDK 是开源软件, 许可使用 麻省理工学院许可证。 。 。 .
由我小心地制作 由我负责制作 白鲸。 。 。 .
此文档可能更改; 类型和语言错误是可能的.