Node.js client for the GoCardless API
A Node.js client for the GoCardless API. For full details of the GoCardless API, see the API docs.
Installation
$ npm i gocardless-nodejs
Usage
Initialising the client
To initialise the client, you must provide:
- An access token.
- The environment that this token is for (see here for a list of available environments).
- Any additional options (see here for a list of supported options).
const gocardless = require('gocardless-nodejs');
const constants = require('gocardless-nodejs/constants');
const client = gocardless(
process.env.GC_ACCESS_TOKEN,
Constants.Environments.Sandbox,
{ raiseOnIdempotencyConflict: true },
);
The Basics
We'll illustrate the basic library usage by demonstrating on the payment resource.
For a full list of available resources, visit the GoCardless API reference.
const uuidv4 = require('uuid/v4');
const payment = await client.payments.create(
{
amount: 100,
currency: "GBP",
links: { mandate: "MD123" },
},
{ idempotencyKey: uuidv4() },
);
const payments = await client.payments.list({
limit: 3,
created_at: {
gt: '2020-01-01T17:01:06.000Z',
},
});
const payment = await client.payments.find('PM123');
await client.payments.update('PM123', { amount: '22' });
await client.payments.cancel('PM123');
The all
method
All resources with a list
method will also have an additional *all
method. This method acts like the regular list
method and accepts the same parameters, but instead returns an async generator.
for await (const payment of client.payments.all()) {
console.log(payment.id);
}
Available client options
raiseOnIdempotencyConflict
: set to true
to raise exceptions on idempotency conflicts. Defaults to false
.