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'); // Initialise the client. 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'); // 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');
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 totrueto raise exceptions on idempotency conflicts. Defaults tofalse.