banked-node
The Banked Node library provides convenient access to the Banked API from applications written in server-side JavaScript.
Installation
Install the package with
npm install @banked/node
# or
yarn add @banked/node
Usage
The package needs to be configured with your account's API and secret keys, these are available Banked's console.
const Banked = require('@banked/node');
const banked = new Banked({
api_key: 'Your API key',
secret_key: 'Your secret key'
});
All of node libraries public methods throw with a ValidationError
when called with incorrect arguments.
Network configuration
Banked's Node library optionally takes a global network configuration object as it's second paramter. This implements: a custom timeout period; an automatic retry policy; and/or configures an HTTP proxy.
const Banked = require('@banked/node');
const banked = new Banked({
api_key: 'Your API key',
secret_key: 'Your secret key'
}, {
timeout: 5000,
maxNetworkRetries: 5,
proxy: {
host: '127.0.0.1',
port: 8080,
auth: {
username: 'frodobaggins',
password: '4TheShire'
}
}
});
Payments
The Banked Node library allows you to create, read and delete payments with the Banked API. All of the payment methods return a promise (sourced from the axios client).
See Banked's Payment API docs for more information on request and response formats.
const Banked = require('@banked/node');
const banked = new Banked({
api_key: 'Your API key',
secret_key: 'Your secret key'
});
const payment = await banked.payments.create({
reference: "Banked NodeSDK",
success_url: "https://example.com/success",
error_url: "https://example.com/error",
line_items: [
{
name: "A line item name",
amount: 1267,
currency: "GBP",
description: "A line item description",
quantity: 1
}
],
payee: {
name: "Example Ltd.",
account_number: "00000000",
sort_code: "000000"
}
});
const payment = await banked.payments.read('1ae1ce03-dfa9-4593-b487-65c656991cb5');
const response = await banked.payments.delete('1ae1ce03-dfa9-4593-b487-65c656991cb5');
Banked's payments returns a paymentSession
object when created and read.
Webhooks
The library also supports the verification of webhook signatures
const Banked = require('@banked/node');
const banked = new Banked({
api_key: 'Your API key',
secret_key: 'Your secret key'
});
const verification = await banked.webhooks.validate({
payload_header: '',
payload: '',
signature: '',
time_range: {
start: '',
end: ''
}
});
Development
Commands
$ npm test
$ npm run coverage
$ npm run lint
$ npm run docs
$ npm run build
Publish
$ npm release
$ npm publish
It'll automatically run test
, lint
, docs
, build
, generate CHANGELOG.md
, and push commits and tags to the remote repository.
License
MIT