A Node.js client for the GoCardless API. For full details of the GoCardless API, see the API docs.
$ npm i gocardless-nodejsTo 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).
import gocardless from 'gocardless-nodejs';
import { Environments } from 'gocardless-nodejs/constants';
// Initialize the client
const client = gocardless(
process.env.GC_ACCESS_TOKEN,
Environments.Sandbox,
{ raiseOnIdempotencyConflict: true }
);TypeScript:
import gocardless, { GoCardlessClient } from 'gocardless-nodejs';
import { Environments } from 'gocardless-nodejs/constants';
import type { Payment } from 'gocardless-nodejs/types';
const client: GoCardlessClient = gocardless(
process.env.GC_ACCESS_TOKEN,
Environments.Sandbox
);
const payment: Payment = await client.payments.find('PM123');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.
import { v4 as uuidv4 } from 'uuid';
// Create a new payment.
const payment = await client.payments.create(
{
amount: 100,
currency: "GBP",
links: { mandate: "MD123" },
},
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 totrueto raise exceptions on idempotency conflicts. Defaults tofalse.
We provide a CommonJS implementation for backwards compatibility. For CommonJS, change the imports to:
const gocardless = require('gocardless-nodejs');
const { Environments } = require('gocardless-nodejs/constants');