Overview
↑ Back to topThe GoCardless extension provides the integration between WooCommerce and the UK-based, direct-debit GoCardless payment gateway, so store owners may collect online payments.
Direct Debit (GoCardless) only appears as a payment method if the customer’s billing country is in:
- Australia (AU)
- New Zealand (NZ)
- United States (US)
- Canada (CA)
or on the list of SEPA countries:
- Austria (AT), Belgium (BE), Bulgaria (BG), Switzerland (CH), Cyprus (CY), Czech Republic (CZ), Denmark (DK), Estonia (EE), Finland (FI), France (FR), Germany (DE), United Kingdom (GB), Greece (GR, Croatia (HR), Hungary (HU), Ireland (IE), Iceland (IS), Italy (IT), Liechtenstein (LI), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Monaco (MC), Netherlands (NL), Norway (NO), Poland (PL), Portugal (PT), Romania (RO), Sweden (SE), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES).
While GoCardless can collect from customers in the above countries, note that GoCardless can only on-board merchants from:
- Austria
- Australia
- Belgium
- Denmark
- Finland
- France
- Germany
- Ireland
- Luxembourg
- Netherlands
- Spain
- Sweden
- United Kingdom
- United States
- Canada
Requirements
↑ Back to top- GoCardless account
- SSL Certificate with
https://
included in path, e.g., https://example.com/wc-api/WC_Gateway_GoCardless/ - WooCommerce version 7.2 or higher
- WordPress version 6.1 or higher
- PHP version 7.2 or higher
Installation
↑ Back to top- Download the .zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
- Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.
Register or sign in at GoCardless
↑ Back to top
To use GoCardless, you need an existing or new merchant account. To sign up for a new (free) account:
- Go to: gocardless.com
- Select Sign Up Now.
- Complete all fields (required).
- Select Create Your Account.
You can also sign up for GoCardless from the plugin settings. However, if you go this route, the instructions will be slightly different than described below in Setup and Configuration.
Setup and Configuration
↑ Back to topThere are two parts: Connecting your GoCardless account and configuring GoCardless settings in your WooCommerce store.
Connect your GoCardless account
↑ Back to top
- Go to: WooCommerce > Settings > Payments.
Note: ‘Payments’ formerly called ‘Checkout’ prior to WooCommerce 3.4. - Use the toggle under Enabled to select Direct Debit (GoCardless).
- Select Set Up. You are taken to Direct Debit (GoCardless) settings.
- Select Connect with GoCardless.
- Log in to your GoCardless account. If you haven’t yet created an account, select Sign Up.
- If successful, an authentication notice will appear.
- Select the That’s My Site – Redirect Me button.
- Skip down to Webhook Secret, and copy the grey URL.
- Select Here. A new window opens at GoCardless.
- Enter info in the Create Webhook Endpoint screen.
- Select the Create Webhook Endpoint button.
- Close the GoCardless webhooks endpoints window.
- Return to the Direct Debit (GoCardless) settings screen at your store.
- Enter the secret string from step 7 for Webhook Secret.
- Save changes.
Stay on this screen for next steps.
Configuring Direct Debit (GoCardless) settings
↑ Back to topTo finish setting up your payment gateway:

- Enable/Disable – Turn on or turn off.
- Title – Enter a name displayed in checkout. Default is GoCardless.
- Description – Enter what the user sees in checkout. Default is: Pay securely via your bank account.
- Direct Debit Scheme – Select a scheme. Default is: Automatically detected from the customer’s bank account
- Log debug messages – Enabled and useful for troubleshooting purposes, if/when issues arise.
- Save changes.
Test Mode – Sandbox
↑ Back to topTo test the GoCardless gateway before going live:
- Disconnect from GoCardless if you are connected. If you are already disconnected, go to step 2.
- Select the “Not ready to accept live payments?” link.
- Repeat the above setup and configuration for setting up a live environment for the test environment.
- Test transactions using GoCardless test credentials.
- In the UK, use the sort code 200000 and the account number 55779911
- In Sweden, use the clearingnummer (branch code) 5527 and the kontonummer (account number) 1234512
- Everywhere else, use the IBAN GB60 BARC 2000 0055 7799 11
Ready to go live?
- Use your live credentials and not the test credentials
- Connect to GoCardless
- Enable Direct Debit (GoCardless) on your WooCommerce site
Usage – Checkout flow
↑ Back to topOn the front end, when the payment gateway is enabled, the customer sees an option for GoCardless when checking out:

They select GoCardless and Place order, and are redirected to the GoCardless payment form to set up a direct debit.
This creates a mandate — a direct debit instruction is an authorization from customer to collect future payments — and then collects payment for the order.

Customers may also choose to securely save payment information so they need not re-enter for future transactions. Instead, they would select an option:

After validation, the customer sees a confirmation screen:

Once the customer confirms the order, they are redirected to your site and shown the standard WooCommerce order confirmation:

Opening the order screen, you see all the details. GoCardless gives status of those transactions via the webhook.

Note that direct debit payments don’t process instantly and work differently than card payments. More info at: How Direct Timings Work.
Frequently Asked Questions
↑ Back to topDoes GoCardless support BACS?
↑ Back to topYes, the GoCardless extension supports BACS and the payment methods mentioned in the GoCardless API documentation.
I’m based in country x – can I use GoCardless on my site?
↑ Back to topWhile GoCardless can collect from customers from many countries, note that GoCardless can only on-board merchants from Austria, Belgium, Finland, France, Germany, Ireland, Luxembourg, Netherlands, Spain, Sweden, United Kingdom, United States, and Canada.
I see the message “GoCardless is almost ready. To get started, please <connect your GoCardless account.” How do I fix this?
↑ Back to topThis message appears if you’re upgrading GoCardless from a version before version 2.4 and haven’t yet connected via the new API. It also appears if you haven’t finished setup and configuration.
Do I need to fill in the webhook secret?
↑ Back to topYes, you need to manually fill in the webhook secret and configure the webhook endpoint. It cannot be automated, so we made it as painless as possible.
Everything is set up and customers are ordering using this gateway, so why am I not receiving payouts from GoCardless?
↑ Back to topEnsure that you’re verified by GoCardless, as no payouts are made until this is done. Keep an eye out for emails from GoCardless, and check your Spam folder, as you are also notified when funds are waiting.
Does GoCardless support tokenization?
↑ Back to topYes. As described in the Usage section, customers may opt to securely store payment information for future checkout.
Can I use GoCardless (Direct Debit) with pre-orders?
↑ Back to topGoCardless includes support for WooCommerce Pre-Orders (separate purchase).
Can I use GoCardless (Direct Debit) with subscriptions?
↑ Back to topYes, it’s possible to use GoCardless to accept automatic, recurring payments for WooCommerce Subscriptions (separate purchase).
Can I use GoCardless (Direct Debit) with order status control?
↑ Back to topGoCardless is not compatible with WooCommerce Order Status Control. GoCardless does not use the function $order->payment_complete();
, which marks the order paid and updates the status to Processing.
Do I need to Create an App?
↑ Back to topMerchants need only click the Connect button to hook up their GoCardless account. It’s not necessary to Create an App.
Create an App is for developers seeking to code their own applications from scratch and not use the GoCardless for WooCommerce extension or any other already made.
Does this work with Pro and Plus packages?
↑ Back to topYes. As of version 2.4.5, WooCommerce GoCardless includes support for merchants upgrading to Pro and/or Plus. It:
- Notifies via webhook with event “mandate_replaced” with the new mandate in the payload.
- Gives an error response about mandate replacement when payment is created with the old mandate.
Code customization
↑ Back to topHooks
↑ Back to topwoocommerce_gocardless_after_success_redirect_flow – do_action( ‘woocommerce_gocardless_after_success_redirect_flow’, [response from after success of redirect flow]’ )
This action hook can be used to further manipulate information after a successful redirect flow. One such example would be to update the customer information on GoCardless side. An example of that would look something like this: add_action( 'woocommerce_gocardless_after_success_redirect_flow', 'process_redirect_flow' ); function process_redirect_flow( $response ) { WC_GoCardless_API::update_customer( $customer_id, $data ); }
Filters
↑ Back to topNow, there are three filters for updating initial order status:
woocommerce_gocardless_create_payment_subscription_order_status
— default toprocessing
. Triggered when an order contains a Subscription productwoocommerce_gocardless_create_payment_subscription_renewal_order_status
— default toprocessing
. Triggered when an order contains a Subscription renewalwoocommerce_gocardless_create_payment_order_status
— default toon-hold
Questions and Support
↑ Back to topSomething missing from this documentation? Do you still have questions and need assistance?
- Have a question before you buy this extension? Please fill out this pre-sales form – please include the name of this extension in your query.
- Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown