bizinly.
Let’s talk business

USER GUIDE

Set up GoCardless (Direct Debit)

Let a customer pay by Direct Debit mandate instead of a one-off card or bank payment.

GoCardless is one of the two Bank payments providers (the other is Wise) — only one of them can be switched on at a time. With it on, a customer paying a shared invoice can set up a Direct Debit mandate (Bacs, SEPA and other schemes GoCardless supports) instead of paying by card; the money follows a few working days later, once the bank collects it.

What you need

A GoCardless account. From its Developers section you'll need:

  • Access token

And, for the webhook:

  • Webhook endpoint secret

GoCardless keeps sandbox and live as separate environments, each with its own access token.

Where to paste them

In Bizinly, open Settings → Payments, and under Bank payments pick GoCardless from the provider dropdown. Set:

  • Mode — Test mode or Live.
  • Access token
  • Webhook endpoint secret — see below.

Save the tab. GoCardless is ready once it's switched on with an access token saved.

Test vs live mode

Test mode calls GoCardless's sandbox with your sandbox access token — set up a mandate there with GoCardless's test bank details and no real Direct Debit is created. Switch Mode to Live and paste your live access token once you're ready to collect real payments.

What the customer sees, and what happens next

The customer goes through GoCardless's own hosted flow to authorise a mandate and submit the payment. Back on the invoice, it shows as "being collected" rather than offering to pay again — the invoice is only marked paid once the bank has actually collected the money, which is typically a few working days after the mandate is set up.

The webhook

  1. In the GoCardless dashboard, add a webhook endpoint pointed at:
    https://<your-workspace-domain>/api/pay/gocardless/webhook
    
    GoCardless shows you the endpoint's secret at that point.
  2. GoCardless sends every event to one endpoint by default; Bizinly only acts on payment events (confirmed, paid_out → paid; failed, cancelled → failed/cancelled; charged_back → refunded) and billing request events that confirm a mandate is in place — nothing needs to be filtered on GoCardless's side.
  3. Copy the endpoint secret into Webhook endpoint secret in Bizinly and save.

Checking it works

With GoCardless in test mode, open a test invoice's shared link, set up a mandate with a GoCardless sandbox test bank account, and confirm the invoice first shows as "being collected," then moves to Paid once the (simulated) collection completes.

Related: Online payments, Record and manage payments, Payment webhooks.

Book a live demo Back to the docs