A Node.js client for the GoCardless API. For full details of the GoCardless API, see the API docs.
$ npm i gocardless-nodejs
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');
// Initialise the client.
const client = gocardless(
process.env.GC_ACCESS_TOKEN,
constants.Environments.Sandbox,
{ raiseOnIdempotencyConflict: true },
);
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');
// Create a new payment.
const payment = await client.payments.create(
{
amount: 100,
currency: "GBP",
links: { mandate: "MD123" },
},
{ idempotencyKey: uuidv4() },
);
// List the first three payments past a certain date.
const payments = await client.payments.list({
limit: 3,
created_at: {
gt: '2020-01-01T17:01:06.000Z',
},
});
// Get a payment.
const payment = await client.payments.find('PM123');
// Update a payment.
await client.payments.update('PM123', { amount: '22' });
// Cancel a payment.
await client.payments.cancel('PM123');
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);
}
raiseOnIdempotencyConflict
: set totrue
to raise exceptions on idempotency conflicts. Defaults tofalse
.