Store platform Payments Moderate ~5 days

WooCommerce and GoCardless integration

Direct Debit is the cheapest way to take a recurring payment in the UK and the slowest to tell you it failed: Bacs settles over three working days and reports a failure after the fact. An integration takes the mandate at checkout, collects on schedule, and moves the order only when the money has actually cleared.

Why companies connect WooCommerce to GoCardless

Card subscriptions fail on expiry and on strong-customer-authentication step-ups; Direct Debit does not, which is why membership and business-to-business sellers want it. But Bacs is not a card. The mandate has to exist before the first collection, the collection is submitted days ahead of the charge date, and a failure - insufficient funds, a cancelled mandate, an indemnity claim - arrives after the payment looked successful. Treating it like a card produces orders marked paid that were never funded.

How we do it

The mandate is taken at checkout through GoCardless, and the order waits on the mandate rather than on the browser. Collections are scheduled from the subscription, and the order status follows the payment's real lifecycle - pending, submitted, confirmed, failed, charged back - through signed webhooks, each handled once. A failure reopens the order with its reason, and the retry is scheduled by your rule rather than guessed at.

WooCommerce REST API GoCardless API Webhooks Bacs OAuth 2.0 PHP

What you get

01

The mandate is set up at checkout, so the first collection does not need the customer to come back

02

Order status follows the Bacs lifecycle instead of pretending the payment is instant

03

Webhook signatures verified, and each event handled once even when it is redelivered

04

Failures and indemnity claims reopen the order with the reason, rather than surfacing at reconciliation

05

A fee per collection instead of a percentage, which is what makes this worth doing above a certain order value

Use cases

A membership or subscription business losing revenue to expired cards

A business-to-business trader invoicing on thirty-day terms who wants collection on the due date

A store where card fees on a high average order value stopped making sense

A move from a card subscription plugin, with existing customers migrated onto mandates

Frequently asked questions

How long until the money arrives?

Bacs takes three working days from submission, and the integration schedules the submission so the charge date is the one the customer agreed to. None of that can be made faster; what can be made better is that the order state says so instead of implying otherwise.

What happens when a collection fails?

The order reopens with the failure reason and a retry is scheduled by your rule rather than a default. Repeated failures cancel the mandate instead of accumulating charges the customer will dispute.

Can we keep cards alongside?

Yes, and it is the usual arrangement: cards for one-off purchases, Direct Debit for anything recurring. Each keeps its own payment method on the order, so reconciliation stays separate by method.

Tell us what you want built

A few sentences about what it should do and who for is plenty. You get scope, a date and a price back within 24 hours.

Free consultation

Related integrations

Alternatives