Complete guide to using the GHL GoCardless integration.
The GHL GoCardless Integration connects your GoHighLevel account with GoCardless Direct Debit payment processing. This allows you to:
GoCardless is a Direct Debit payment processor supporting:
Direct Debit is ideal for recurring payments as customers only need to authorise once.
Before you begin, ensure you have:
After installing, you'll be prompted to connect your GoCardless account:
Access settings via the integration dashboard:
| Setting | Description |
|---|---|
| Environment | Sandbox or Live mode |
| Email Template | Template for sending DD setup links |
| SMS Template | Template for SMS mandate requests |
| Auto-Check Mandate | Check mandate on contact creation |
| Auto-Sync Payments | Mark GHL invoices as paid automatically |
Create a GHL email template with the placeholder {{mandate_link}} where the GoCardless setup link should appear.
Subject: Set Up Direct Debit
Hi {{contact.first_name}},
Please click below to set up your Direct Debit:
{{mandate_link}}
This secure link will take you to GoCardless to authorise the payment.
Thanks,
{{location.name}}
Instantly verify if a contact has an active Direct Debit mandate.
Mandate Statuses:
| Status | Meaning |
|---|---|
active | Ready to collect payments |
pending_submission | Awaiting bank processing |
submitted | Sent to bank |
cancelled | Customer or merchant cancelled |
failed | Bank rejected the mandate |
expired | No payments for 13+ months |
Send a secure link for new customers to set up Direct Debit.
Options:
Flow:
Take a one-off payment from an active mandate.
| Field | Description |
|---|---|
| Amount | Payment amount in pence/cents |
| Description | Shown on customer's bank statement |
| Reference | Your internal reference |
| Charge Date | When to collect (optional) |
Payment Timeline (BACS):
Create scheduled payment series for payment plans.
Example: £1,200 in 12 monthly instalments of £100
Via Dashboard:
Via Workflow (Automation):
POST /api/billing-request
{
"email": "{{contact.email}}",
"name": "{{contact.full_name}}",
"description": "Monthly Plan",
"send_email": true
}
Cause: Email doesn't match GoCardless customer
Fix: Search by alternative email or check GoCardless dashboard
Cause: Insufficient funds, cancelled mandate, or bank rejection
Fix: Check failure reason, contact customer, or create new mandate
Cause: GoCardless access token revoked or expired
Fix: Reconnect in Settings → GoCardless → Reconnect
| Code | Meaning | Action |
|---|---|---|
401 | Invalid API token | Reconnect GoCardless |
403 | Insufficient permissions | Check token scopes |
404 | Resource not found | Verify mandate/payment ID |
422 | Validation error | Check request parameters |
429 | Rate limited | Wait and retry |
Q: Is this secure?
A: Yes. All sensitive data (tokens, bank details) is encrypted. GoCardless is FCA-regulated and PCI-DSS compliant. We never store full bank account numbers.
Q: Can I use sandbox for testing?
A: Yes. Start with sandbox to test the flow without real payments. Switch to live when ready.
Q: How much does GoCardless cost?
A: GoCardless charges 1-2% per transaction (varies by region). Check gocardless.com/pricing for current rates.
Q: How long does mandate setup take?
A: Typically 1-3 business days for BACS (UK). SEPA can be instant with supporting banks.
Q: Can customers cancel their mandate?
A: Yes, customers can cancel via their bank. You'll receive a webhook notification.
Q: When do I receive funds?
A: BACS payments: 4-5 working days. SEPA: 3-4 working days. Your GoCardless payout schedule may add 1-2 days.
Q: Can I use this with multiple GHL locations?
A: Yes, each location can connect their own GoCardless account.