Skip to content
GPLWP Guides

How to accept direct debit payments on a WordPress site

WooCommerce Time About 30–60 minutes, plus account verification 7 steps Updated 23 Oct 2026

WOOCOMMERCE
The short answer

WooCommerce does not collect direct debits by itself. You need a gateway integration such as GoCardless, which creates the customer’s bank mandate, receives payment updates through webhooks and updates the WooCommerce order after the bank confirms payment. A custom integration is possible, but a gateway plugin is the practical route.

The route
  1. 01Choose the payment route
  2. 02Check the account and site
  3. 03Install a direct debit gateway
  4. 04Connect GoCardless and webhooks
  5. 05Configure checkout and order handling
  6. 06Test failed and delayed payments
  7. 07Recommend the plugin route

What you need

  • A WordPress site with WooCommerce and HTTPS enabled
  • A GoCardless merchant account that can onboard in your country
  • Administrator access to WordPress and your hosting firewall
  • A test product and access to the GoCardless sandbox

Choose the payment route

Do not enable WooCommerce’s built-in Direct Bank Transfer method and call it direct debit. BACS is an offline bank-transfer option: the customer sends money to your account, while a direct debit gateway obtains authorisation to pull money from the customer’s bank account.

For a custom build, you would need to create a GoCardless billing request or hosted payment flow, store the customer and mandate references against the order, and process webhook events that change the order when the payment succeeds or fails. GoCardless recommends Billing Requests for bringing the customer, authorisation, bank details and payment together.

That route is possible, but it is not a small theme snippet. For most stores, use a WooCommerce-compatible gateway plugin instead.

Check the account and site

Create or verify your GoCardless merchant account, confirm that your business can be onboarded, and make sure the store runs over https://. The official WooCommerce integration lists a GoCardless account, SSL, WooCommerce 8.4 or later, WordPress 6.1 or later and PHP 7.2 or later as requirements. Supported customer countries and merchant countries vary, so check both before building the checkout around direct debit.

Decide whether you need one-off direct debits, recurring subscriptions or both. Recurring WooCommerce payments normally require a subscriptions extension as well as a gateway that supports automatic renewals.

Install a direct debit gateway

Install a WooCommerce gateway that specifically supports GoCardless or another direct debit provider. In WordPress, go to Plugins, choose Add New or Upload Plugin, install the gateway ZIP and activate it.

Then open WooCommerce > Settings > Payments. Enable the new bank-payment method and open its setup screen. A proper gateway should send the customer through a hosted or embedded authorisation flow rather than asking you to collect unencrypted bank details in a normal checkout field. WooCommerce distinguishes form-based, iframe-based and direct gateways, and direct payment fields carry extra security and compliance responsibilities.

Connect GoCardless and webhooks

Use the gateway’s Connect with GoCardless button, sign in and return to WordPress. Copy the webhook endpoint name, URL and secret shown in the gateway settings into the webhook endpoint configuration in your GoCardless dashboard, then save the settings in both places. The official WooCommerce setup requires the webhook secret and endpoint; without them, orders may stay on hold even after the bank changes the payment status.

If you use a security plugin, managed firewall or server firewall, allow the provider’s webhook requests. This is the Friday-afternoon failure worth preventing: checkout appears to work, but WooCommerce never receives the confirmation and the order is not marked paid.

Configure checkout and order handling

Set the customer-facing title and description, select the direct debit scheme if the gateway offers that choice, and leave debug logging enabled while you troubleshoot. If the gateway also offers Instant Bank Pay, disable it when you want the checkout to use direct debit only; supported methods can depend on the customer’s country, currency and product type.

Explain the delay clearly on the checkout and order emails. A direct debit order is not the same as a card payment: WooCommerce may place a normal order On hold while the mandate and payment are confirmed, then move it to Processing or Completed. Do not ship or release a service merely because the customer reached the thank-you page unless your business accepts that risk.

Test failed and delayed payments

Use the provider’s sandbox rather than a live bank account. Place a test order, confirm that the WooCommerce order is created, inspect the payment and mandate in the provider dashboard, and verify that webhook events appear in the order notes. The official GoCardless test flow uses a sandbox, test bank details and simulated mandate and payment status changes.

Test at least a successful payment, a rejected or failed payment, a webhook that arrives late, a customer returning from the authorisation page, and a subscription renewal if you sell recurring products. Check that stock, emails, fulfilment and subscription status change only at the point your payment policy allows.

Recommend the plugin route

If you do not want to maintain a custom GoCardless API integration, consider GetPaid GoCardless Payment Gateway as the faster route. It is intended to connect WordPress payment forms with GoCardless direct debits and is most relevant when recurring or account-based payments matter more than a card-focused checkout.

After installing it, connect your GoCardless account, configure the payment method, complete the webhook setup and run the same sandbox checks above. Confirm its current WooCommerce compatibility and subscription behaviour before using it on a live store.

The fast route

Let GetPaid GoCardless Payment Gateway do it

GoCardless integration for bank direct debits, chosen when recurring or account-based payments matter more than card checkout.

Get GetPaid GoCardless Payment Gateway

Sources

  1. docs.gocardless.com /docs/collect-payments
  2. woocommerce.com /document/gocardless/
  3. developer.woocommerce.com /docs/features/payments/payment-gateway-api/
  4. woocommerce.com /documentation/woocommerce/payments/?utm_source=openai
  5. developer.woocommerce.com /docs/apis/rest-api/v2/payment-gateways?utm_source=openai

Questions

Can WooCommerce accept direct debit without a plugin?
No, WooCommerce core does not provide a direct debit collection service. Its built-in bank-transfer method is an offline instruction for customers to pay you manually, not a mandate-based debit from their bank account. Without a plugin, you would need a custom payment gateway that connects to a provider such as GoCardless, creates mandates and handles webhook events that update orders.
Is WooCommerce Direct Bank Transfer the same as direct debit?
No, WooCommerce Direct Bank Transfer, also called BACS, is not direct debit. The customer receives your bank details and sends the money themselves, so WooCommerce cannot automatically confirm or collect the payment. Direct debit requires a payment provider to obtain a mandate and submit collection requests against the customer’s bank account.
How long do direct debit payments take to confirm?
Direct debit payments are usually delayed rather than confirmed instantly. The WooCommerce GoCardless documentation says a normal order can remain On hold while the bank processes the payment, with confirmation taking around two to seven days; GoCardless also notes that timing varies by scheme and country. Keep fulfilment rules aligned with confirmed payment status.
Why is my WooCommerce direct debit order stuck on hold?
The usual cause is that the payment has not been confirmed yet or GoCardless cannot deliver its webhook to your site. Check the payment status in GoCardless, confirm that the webhook URL and secret match the WooCommerce gateway settings, and allow the provider’s webhook requests through security and firewall tools. Do not manually mark the order paid until you have verified the payment.
Can I use direct debit for WooCommerce subscriptions?
Yes, but recurring direct debit normally needs both a compatible gateway and a subscriptions system. GoCardless supports automatic recurring payments with WooCommerce Subscriptions, while the initial order and renewal orders may move through different statuses before bank confirmation. Test renewals and failed payments in sandbox mode before enabling automatic fulfilment.