07398 946 380
07398 946 380
GoCardless API

GoCardless Direct Debit for Subscription Billing: How It Works

27 April 2026 9 min read

Direct Debit is the most cost-effective and operationally reliable way to collect recurring payments from UK customers. No card expiry dates to manage, no chargebacks, lower fees than cards at scale, and the ability to collect any amount against an existing mandate without requiring fresh customer authorisation. GoCardless is the leading Direct Debit platform for UK software businesses, and their API makes it possible to build Direct Debit collection directly into your subscription platform. This post covers how GoCardless subscription billing works, what it automates, and where it’s better than card-based billing — and where it isn’t.

How GoCardless subscription billing works

A GoCardless subscription billing integration has three core components: mandate creation at signup, payment scheduling for recurring charges, and webhook-driven event handling for confirmations, failures and cancellations.

Mandate creation at signup. When a new customer signs up and chooses Direct Debit as their payment method, the integration initiates a mandate authorisation flow. GoCardless provides two options: a hosted mandate page on GoCardless’s own domain, or a custom mandate flow embedded in your platform using GoCardless’s Billing Request API. The hosted page is faster to implement; the custom flow gives you a seamless experience within your own UI. In both cases, the customer enters their sort code and account number, confirms the Direct Debit guarantee, and authorises the mandate. GoCardless returns a mandate ID that you store against the customer record.

Payment scheduling. Once the mandate is active, the integration creates payments against it on your billing schedule. For a monthly subscription, a payment is created on the customer’s billing date each month — either at a fixed amount or a variable amount based on usage. GoCardless validates the payment against the active mandate and schedules it for processing. The payment is submitted to Bacs and typically confirms within 3 working days.

Webhook-driven event handling. GoCardless communicates every payment state change via webhooks. Payment confirmed, payment failed, mandate cancelled — each event fires a webhook to your server. The integration processes these events and takes the appropriate action: marking a subscription as active when payment confirms, suspending access when payment fails, triggering the failed payment flow when a mandate is cancelled.

Access provisioning based on payment status

For SaaS platforms and subscription services, the most important part of the GoCardless integration is access provisioning — granting and revoking access to the service based on payment status.

When a payment is confirmed, the customer’s subscription remains active and access continues. When a payment fails, the integration suspends access after a configurable grace period and triggers the recovery flow. When a payment is recovered, access is reinstated immediately.

The timing matters. Bacs payments take 3–5 working days to process. A subscription due on the 1st of the month may not confirm until the 4th or 5th. The integration needs to handle this window correctly — not suspending access for a payment that’s in transit, but suspending access promptly when a payment has genuinely failed. A well-built integration distinguishes between a payment that’s processing normally and one that has actually failed.

Fixed amount vs variable amount subscriptions

One of GoCardless’s most valuable features for subscription businesses is the ability to collect variable amounts against existing mandates. Unlike card subscriptions where the amount must match what the customer authorised, Direct Debit mandates allow you to collect any amount (with appropriate advance notice) without requiring fresh authorisation.

Fixed amount subscriptions are straightforward — the same amount collected on the same date each period. Monthly SaaS plans, annual memberships, fixed-fee retainers. These are the simplest to implement and the most common starting point.

Variable amount subscriptions use metered or usage-based billing — the amount collected varies based on what the customer used. Cloud platform billing based on API calls, telecoms billing based on usage, energy billing based on consumption. With GoCardless Direct Debit, the integration calculates the amount at the end of each billing period and creates a payment for that amount against the existing mandate. No re-authorisation required. The advance notice requirement (typically 3 working days) means the customer is notified of the amount before the payment is collected.

Failed payment handling and dunning

Failed payments are an inevitable part of subscription billing. Insufficient funds, mandate cancelled by the customer, bank account closed or frozen. How your integration handles failures determines how much revenue is lost to failed payments.

A robust GoCardless integration implements a dunning flow — the sequence of retry attempts and customer communications triggered by a payment failure. A typical UK subscription business dunning flow: immediate customer notification on failure with a link to update payment details or re-authorise a new mandate; automatic retry after 3 working days if the mandate is still active; final retry after 7 days; access suspension if payment remains uncollected after 14 days; account flagged for manual follow-up.

GoCardless’s Smart Retries feature can handle automatic retries, but for integrations with custom access control logic, building the retry schedule into your integration gives you more control over timing and customer communications at each stage.

When a customer cancels their mandate directly with their bank, the mandate cancelled webhook fires. The integration catches this immediately, stops future payment attempts, and triggers a communication asking the customer to set up a new mandate if they wish to continue their subscription. Without explicit handling, a cancelled mandate would cause every future payment attempt to fail silently.

GoCardless vs Stripe Billing for subscriptions

The choice between GoCardless Direct Debit and Stripe card billing for subscriptions depends primarily on your customer base and average transaction value.

GoCardless wins on cost at scale. GoCardless transaction fees are lower than Stripe’s card processing fees, particularly for higher-value transactions. For a £50/month subscription, the cost difference is meaningful at scale. For a £5/month subscription, the difference is negligible.

GoCardless has no chargebacks. Card payments can be disputed and charged back, leaving you out of pocket. Direct Debit payments cannot be charged back in the same way — disputes go through a different process. For B2B subscriptions, this is a significant advantage.

Stripe wins on speed and flexibility. Card payments confirm immediately. GoCardless payments take days. For platforms that need to provision access immediately on payment, Stripe’s card billing or GoCardless’s Instant Bank Pay is better than Bacs Direct Debit.

Many businesses use both. Card payments for initial signups where immediate access confirmation matters. GoCardless Direct Debit for ongoing recurring billing where the lower fees and no-chargeback advantages outweigh the slower settlement. See GoCardless vs Stripe for a full comparison.

For the full GoCardless service and pricing, see the GoCardless API integration service. For the complete GoCardless API guide, see GoCardless API integration guide. For connecting GoCardless payments with Xero, see GoCardless and Xero integration. For what the build costs, see the GoCardless API integration cost guide.

Related posts

Membership and club billing with GoCardless

Membership organisations — sports clubs, professional associations, gym chains, community groups — are one of the strongest use cases for GoCardless Direct Debit. Monthly or annual membership fees collected automatically, new member mandates created during the sign-up process, lapsed members flagged and followed up automatically. The integration handles the entire membership billing lifecycle.

For organisations that have historically collected membership fees by standing order — the old approach where each member sets up a standing order to the organisation’s bank account — GoCardless is a significant upgrade. Standing orders are fixed amounts set by the member; Direct Debit mandates allow you to collect the right amount and change it when membership fees increase, without requiring each member to update their standing order.

The mandate creation process for membership organisations is typically embedded in the member signup or renewal journey. A new member completes their details, chooses their membership tier, and authorises the Direct Debit mandate as part of the same flow. The integration creates the mandate, stores the mandate ID against the member record, and schedules the first and subsequent payments automatically.

For annual memberships, the integration creates a payment once per year on the renewal date. For monthly memberships, it creates a payment each month. Fee increases are handled by updating the payment amount — no new mandate required. The advance notice requirement means members receive notification of any amount change before the updated fee is collected, satisfying the Direct Debit guarantee.

B2B invoice collection with GoCardless

For businesses invoicing other businesses on regular payment terms — agencies, consultancies, service providers — GoCardless Direct Debit eliminates the uncertainty and manual chasing that comes with bank transfer invoice collection. Instead of issuing an invoice and waiting to see if the client pays on time, the integration collects the invoice amount directly from the client’s bank account on the due date.

The flow: invoice generated in your system (or Xero), payment created against the client’s existing GoCardless mandate for the invoice amount, payment collects on the due date, invoice automatically marked paid in Xero when payment confirms. No chasing, no late payments, no uncertainty.

For B2B collection, GoCardless supports both Bacs Direct Debit (for UK business bank accounts) and SEPA Direct Debit (for European business accounts). A client in Germany can be set up on a SEPA mandate and invoices collected in euros from their German business account. The API handles both schemes through the same interface.

If you need help with a custom API integration for your website or business application, I can help. I build bespoke API integrations for UK businesses. See API integration pricing or get in touch to discuss your project.

Need a custom integration built?

I build custom API integrations — Stripe, Companies House and bespoke data pipelines. Reliable, well-documented, no agency overhead.

Discuss your project →