GoCardless is a major payment service for accepting direct debit payments.
A node supporting its most common operations like creating and managing mandates and initiating and tracking direct debits would be very helpful.
A cherry on top would be to to support status webhooks in a trigger node.
See API reference: API reference - GoCardless Developers
It can be based on their own TypeScript-based Node-client: GitHub - gocardless/gocardless-nodejs: GoCardless Node.js client
Sandbox account can be created here: GoCardless
As always, happy to help! I can provide testing and feedback with our GC account.
Plus one to this. A lot of community membership organisations use it to handle monthly / yearly subscription fees.
Interestingly this is not something that Zapier has, and has caused a number of orgs we know to spin up their own custom code which is silly!
Two core workflows are:
After a form submission, create a paying customer
Create a customer
- Then save the returned customer ID to your membership database
Create a customer bank account linked to the customer
Create a mandate linked to the customer’s bank account
Create a subscription which schedules payments against the customer’s mandate
- Then save the subscription status to your membership database
Webhook for when things change in GoCardless
This is already achieved by the webhook node For example, the customer’s payment status changes and you want to update this data in Action Network so that reminder emails can be sent to them to update their payment details.
Agree with frane that a cherry on top would be to handle the GoCardless webhooks with a bit more finesse - in particular, there is a signature which ought to be programatically verified with one of their libraries.
Going to add “get/update a customer” as a primary usecase here - probably actually higher priority than the ‘create a paying customer’ usecase listed above as, quite often, you’ll use GoCardless’ own payments UI for that, but you will afterwards definitely want to retrieve data and keep things up to date.
Retrieve data about your customers and their billing details
For example, someone posts to a form, then maybe you fetch their membership record via their email address in airtable, and then you look for the customer or their active subscriptions or their payments log or their direct debit mandates (so you can check whether you can get their money at all!) with the
customer filter parameter and the customer ID from the database call you just made - perhaps you want to sync the records of their payments/payment status in another system
Update a customer’s details
Perhaps they changed their email address through this form - you’ll want to update the customer with the new value.
I all. A node for this service will be great and will help to a lot of small non-profit orgs that use the service to collect.
Do you think that we can saw it on n8n someday?