HomeProduct DocsAPI ReferenceChangelog
RecurlyAPI GuidesRecurly.jsWebhooksAPI ReferenceSupportBook demo
Product Docs

GoCardless

Connect GoCardless to Recurly to process direct debit payments via SEPA, ACH, BACS, and BECS — covering OAuth setup, currency configuration, webhooks, and refund handling.

GoCardless enables direct debit payments from customers' bank accounts across Europe, the UK, Australia, and the US. Integrating it with Recurly lets you process SEPA, ACH, BACS, and BECS payment schemes for recurring subscriptions. This guide covers OAuth onboarding, currency and webhook configuration, and refund handling.
Not included in Starter or Pro — contact Recurly Sales to upgrade

Limitations

  • Transaction limits — GoCardless imposes minimum and maximum transaction thresholds that vary by payment method. Review the transaction limits FAQ to confirm alignment with your business requirements. Minimum ACH transaction value is $2.
  • Address requirements — Some payment methods require minimum address details. Collect these during checkout (ACH requires a full address and name).
  • Hosted Gift Card pages not supported — GoCardless cannot be used with Recurly's Hosted Gift Card pages.
  • Status transitions — Direct debit transactions can move from past_due to processing status under certain conditions.
  • Restricted activities — See GoCardless's restrictions page for their list of restricted activities and business models.
  • No API import of existing direct debit billing info — Importing existing direct debit billing info via the API is not supported. This is possible through a professional services engagement — contact Recurly Sales for details.

Definition

GoCardless is a direct debit payment platform that lets merchants charge customers directly from their bank accounts across multiple international payment schemes. Recurly's integration supports SEPA (EUR), ACH (USD), BACS (GBP), and BECS (AUD). SEPA and ACH are available through all Recurly integration points; BACS and BECS are supported via Recurly.js, API V2, and V3 — contact [email protected] to enable BACS, BECS, or ACH for your account.

Key details

FeatureDetails
Services that work with RecurlyGoCardless
Supported operationsCharge, recurring billing, refund
Supported payment typesSEPA, ACH, BACS, BECS
Supported card brandsN/A
Gateway-specific 3DS2 supportedN/A
Card on file supportedN/A
RegionsEurope, United Kingdom, Australia, United States
CurrenciesEUR (SEPA), USD (ACH), GBP (BACS), AUD (BECS)
Note Use distinct GoCardless credentials for each Recurly site to avoid transaction processing issues.

API integration details

GoCardless compliance review required If you plan to use the API to build custom checkout pages, GoCardless requires a review and approval before you go live. Factor this review time into your development cycle — contact your GoCardless partner manager or support team to begin the approval process.

GoCardless supports local bank detail submission across API V3, API V2, and Recurly.js. All versions support the same bank detail types:

  • IBAN (SEPA)
  • Account number and routing number (ACH)
  • Account code, sort code, and type (BACS)
  • Account code and BSB code (BECS)

Bank details are passed within the billing_info parameter in all versions.

Required fields for all GoCardless transactions

  • Both the first and last name of the account holder are required.
  • The consumer IP address must be included in your payload — mandate creation will fail without it.

Automated retries

Recurly supports automated retries for SEPA payments on GoCardless. See the SEPA Retries documentation for details.

Handling refunds with GoCardless

Safer Refund Period

GoCardless offers an optional Safer Refund Period that prevents refunds from being initiated within 7 days of the original payment request. This feature is off by default. To enable it, contact your GoCardless account manager or support team.

If the Safer Refund Period is enabled, adjust your billing flows to account for the delay when issuing refunds.

If a refund is accepted by Recurly but ultimately fails due to the Safer Refund Period:

  • With credit invoices — The failure is treated as a gateway failure and a credit memo is generated on the account. This credit memo can be refunded externally if the intent is to return money to the customer.
  • Without credit invoices — The account receives credits that can be consumed or refunded externally.

Refund limitations

  • A single GoCardless invoice can be refunded a maximum of five times via partial refund amounts. Attempting a sixth refund returns an error from both GoCardless and Recurly.
  • Individual line items on an invoice can be refunded, subject to the five-refund limit per invoice.
Tip If the 7-day Safer Refund Period is enabled, build that waiting period into your refund process proactively — this avoids conflicts and ensures a consistent experience for your team and customers.

GoCardless integration with Recurly

Step 1: Enable GoCardless in Recurly

1

Open Payment Gateways

In Recurly, navigate to Payment Gateways and select GoCardless from the list of available gateways under Alternative Payment Solutions.

2

Select environment

In the popup, choose Production or Development depending on your intent for this gateway instance.

Step 2: Connect with GoCardless

1

Complete the OAuth flow

You'll be redirected to GoCardless's onboarding OAuth flow. If you don't have a GoCardless account, you can create one here. If you have existing credentials, click Sign In.

2

Authenticate and return to Recurly

Enter your GoCardless credentials and click Connect Account. Once authenticated, you'll be redirected back to your Recurly admin dashboard.

Important If you're creating a new GoCardless account, do not proceed until your account is fully approved by GoCardless. After redirect, your gateway instance will show a Status field. If the status is not approved, log in to GoCardless or contact them to resolve outstanding requirements — common reasons include unverified account, no package selected, or missing business information.

Step 3: Configure currencies and payment methods

1

Enable currencies

In Recurly, go to Configuration → Currency and enable the currencies for your payment schemes: EUR (SEPA), USD (ACH), GBP (BACS), AUD (BECS). Contact [email protected] if your desired currency or payment method isn't visible.

2

Enable late failure and chargeback webhooks

Enable GoCardless Late Failure and Chargeback notification webhooks in Recurly. Recurly automates late failure handling for SEPA and ACH to keep your Recurly and GoCardless accounts in sync — without these webhooks, transaction failures won't be reflected in your Recurly reporting.

Step 4: Set up Recurly plans

Confirm the relevant currencies are enabled on your Recurly plans under Configuration → Currencies.

Step 5: Configure address requirements

Based on the payment methods you're using, ensure you're collecting the required address fields at checkout. ACH requires a full address and name.

Step 6: Configure Checkout and Hosted Pages (optional)

1

Set up checkout configurations

Create checkout configurations to collect payment from customers. Enable Hosted Payment Pages and Hosted Account Management Pages in your Hosted Pages configuration if applicable.

2

Collect first and last name

Ensure your hosted pages collect both first and last name — GoCardless requires both for all transactions.

Step 7: Set up email notifications

Configure and verify email notifications for New Subscription, Subscription Change, and Payment Notification. See GoCardless scheme documentation for exact timing of communications per payment method.

Step 8: Configure webhooks

Set up Recurly webhooks to stay updated on transaction status. See the Recurly webhooks documentation for setup instructions.

Note No merchant-configured webhooks are needed inside the GoCardless dashboard.

Step 9: Configure chargeback and late failure handling

When SEPA payments fail after merchant funding — typically when a customer disputes a charge — Recurly can automate the chargeback process and create a Refund Invoice marked as a chargeback.

Important Webhook Options must be set to Enabled for automated chargeback handling to work.
1

Open Invoice Settings

Navigate to Configuration → Invoice Templates → Invoice Settings and scroll to the Chargebacks section.

2

Choose your chargeback handling mode

Select Create a refund transaction when a chargeback is received (default) to automate the process — you can also choose to automatically expire subscriptions on chargeback. Or select Manually process chargebacks if you prefer to create chargeback invoices yourself. Note: manual processing will cause your Recurly reporting to appear out of sync with GoCardless.

Step 10: Test the integration

Contact [email protected] to put your site in development mode, then connect your Recurly sandbox to the GoCardless sandbox and test your transaction flows end to end.

Step 11: Go live

Once testing is complete, switch your Recurly site from development mode to live mode and begin processing real transactions through GoCardless.

Processing a refund

Step 1: Review refund policies

Familiarize yourself with the GoCardless Safer Refund Period feature and decide whether you want it enabled before initiating any refunds.

Step 2: Locate the invoice and initiate the refund

In your Recurly dashboard, find the invoice for the transaction you want to refund and click the Refund button.

Step 3: Specify refund details

Choose a full or partial refund. For partial refunds, specify the amount or line items to refund.

Step 4: Process the refund

Review the details and click Process Refund. Wait for confirmation from GoCardless. Note that the Safer Refund Period may delay processing if enabled.

Step 5: Handle refund failures

If a refund fails due to the Safer Refund Period, a credit memo will be generated on the account in Recurly. This credit memo can be refunded externally if you need to return funds to the customer.


Did this page help you?