GoCardless
Connect GoCardless to take payments through the provider configured for your form. You need access to configure the form in Craft and credentials for the destination account. The steps below establish the connection; finish by sending a test submission to verify the result.
Formie uses GoCardless Billing Request Flows for hosted Direct Debit authorisation. After the customer authorises their bank details, Formie creates a one-off payment or recurring subscription against the mandate and tracks status through webhooks and the status page.
Direct Debit payments are asynchronous. Customers are redirected back to your site while GoCardless collects the payment over the next few business days. One-off submissions finalise when GoCardless confirms the payment. Subscription submissions finalise once the GoCardless subscription is active.
Setup
Step 1. Create the Integration
- Navigate to Formie → Settings → Payments.
- Click the New Integration button.
- Select GoCardless as the Integration Provider.
Step 2. Connect to the GoCardless API
- Go to the GoCardless Dashboard (or use the sandbox environment for testing).
- Navigate to Developers → Developers.
- Click the Create Access Token button.
- Copy the Access Token from GoCardless and paste it in the Access Token field in Formie.
Step 3. Configure Webhooks
- Save the integration in Formie, then copy its Webhook URL. The URL contains the integration’s stable UID, so changing its handle does not disconnect GoCardless.
- In the GoCardless dashboard, create a webhook endpoint using that URL.
- Copy the webhook signing secret into Formie’s Webhook Secret Key field.
- Enable payment, billing request, and subscription events in GoCardless.
Formie listens for payment status updates, billing request fulfilment, and subscription lifecycle events. Do not rely on the customer redirect alone to confirm payment status.
Step 4. Test Connection
- Save this integration.
- Click on the Refresh button in the right-hand sidebar.
Step 5. Field Settings
- Go to the form you want to enable this integration on.
- Add a Payment field to your form.
- Select GoCardless for the Payment Provider.
- Choose Once-off or Subscription for the Payment Type.
- Configure the payment Currency and Amount.
- For subscriptions, configure the billing frequency and subscription description.
- Optionally map Billing Details so Formie can prefill customer details on the GoCardless hosted page.
How It Works
Once-Off Payments
- The customer submits your form.
- Formie creates a GoCardless Billing Request and Billing Request Flow.
- The customer is redirected to GoCardless to authorise Direct Debit.
- When they return, Formie creates the payment against the mandate and shows the status page.
- GoCardless webhooks update the payment status as collection progresses.
Subscriptions
- The customer submits your form.
- Formie creates a GoCardless Billing Request and Billing Request Flow for mandate authorisation.
- The customer is redirected to GoCardless to authorise Direct Debit.
- When they return, Formie creates a GoCardless Subscription against the mandate.
- GoCardless collects recurring payments automatically. Formie tracks subscription status and upcoming payment dates via webhooks.
Customers can cancel subscriptions using Formie’s subscription cancel URL when included in notifications.
Mandate and subscription setup is recorded separately from money collected. Each GoCardless recurring payment is retained as its own monetary payment. GoCardless cancellation is immediate; Formie keeps pending, active, failed, cancelled and completed provider states distinct while ignoring stale webhook observations.
Limitations
- Direct Debit only — Instant Bank Pay and combined instant + Direct Debit flows are not supported yet.
- Scheme selection is inferred from the payment currency (for example GBP → BACS, EUR → SEPA).
- Subscription intervals support weekly, monthly, and yearly billing only.
- Setup fees, payment limits, and trials are not supported for GoCardless subscriptions.
Troubleshooting
Pending billing request but no payment amount in GoCardless — Formie creates the payment or subscription after the customer completes the hosted authorisation flow. Check that webhooks are configured and that the customer returned to the Formie status page.
Payment stays pending — This is normal for Direct Debit until GoCardless confirms collection. Use webhooks or wait for the status page polling to refresh.
Subscription active but submission still incomplete — Ensure webhooks are configured and that the status page can refresh the subscription state. The submission finalises once the GoCardless subscription is active.
Sandbox testing — Enable Use Sandbox on the integration and use sandbox API credentials.
Verify a Submission
Save the form, open it on your site and submit recognisable test values. Complete a test payment and inspect both the saved submission and the provider’s transaction record. Confirm the amount, currency and final payment state before enabling live payments.
If nothing arrives, check whether integration conditions matched, whether the submission was complete and non-spam, and whether Craft’s queue has processed the job. A successful connection check verifies credentials; it does not prove that field mapping and delivery work. See Connect and Test an Integration for a complete mapping and verification workflow.