Skip to main content

Configuring GoCardless

GoCardless is specializes in direct debit payments. In addition to direct debit schemes, the FinDock integration supports GoCardless Instant Bank Pay for collecting one-time payments using open banking to instantly process bank-to-bank payments.

tip

FinDock supports several Bacs Direct Debit processing options. Check out our Choosing a Bacs DD solution article for details.

Multi-merchantMulti-currency
yesyes
Payment MethodOne-timeRecurringRefunds
Bacs Direct Debityesyesyes
Instant Bank Payyes----
SEPA Direct Debityesyesyes
Autogiroyesyesyes

Pre-requisites

  • FinDock installed and configured
  • A working connection with the WebHub
  • A GoCardless account

Install and activate GoCardless for FinDock

Follow the standard procedure for installing and activating the GoCardless for FinDock payment extension.

Check and assign the required permissions for FinDock and GoCardless features. Ensure all package-specific permission sets are correctly assigned.

Configure the GoCardless extension

note

For Salesforce test environments, we strongly recommend you first integrate with a GoCardless Sandbox environment.

To connect your Salesforce environment to your GoCardless account:

  1. Launch the FinDock app and click Setup.
  2. Open the Remote Site Settings tab and, depending on your org, activate the test and/or production endpoint of GoCardless: https://api-sandbox.gocardless.com or https://api.gocardless.com. You should see a notification saying “Success: The remote site setting "GoCardless" has been activated successfully.
  3. Go back to the Setup tab.
  4. Go to the GoCardless-FinDock tile in the FinDock Setup in Salesforce.
  5. Select Is Test if you are connecting with a GoCardless Sandbox account (manage-sandbox.gocardless.com)
  6. Click Connect GoCardless. You will be redirected to a GoCardless page.
    Connect GoCardless
  7. Follow the setup steps from GoCardless.
  8. When completed, you are redirected to the FinDock GoCardless setup page with a message “Successfully connected <your-target-name> to GoCardless."
  9. Click Save.

If you later wish to disconnect your GoCardless account, simply click Disconnect GoCardless. Connect GoCardless

Configuring Quick Direct Debit

info

To use the Quick Direct Debit component, you need approval from GoCardless for “Manual entry.” You are approved if you see the option for Manual in your GoCardless production account. In GoCardless sandboxes, the Manual option is always available. For more information, please visit the GoCardless website.

FinDock Quick Direct Debit for GoCardless is implemented as a Salesforce component. To use it, all you need to do is add the component to a page layout.

To configure Quick Direct Debit:

  1. Add the GoCardless Quick Direct Debit component to a page layout for:
    • Contact object
    • Person Account (Account object with a person account record type)
  2. Click the component to open the component settings.
  3. Adjust the component settings to your needs:
    • Set a Target (‘Target name’ in the FinDock-GoCardless Setup page) to use for Recurring / Installments created with the component.
    • Set a default Description for one-off installments
    • Set available Recurring Frequencies separated by a comma. Currently only monthly,yearly are supported.
    • Set the Country code to determine the direct debit Scheme.
  4. Click Save.
note

It is currently not possible to set a description for Recurring from the component. The ‘Bank Statement Description’ field defaults to __TO_BE_REPLACED__. You need to override this value manually or with Salesforce automation tooling.

To configure Cancel Mandates from Salesforce:

  1. Open the Salesforce Object Manager and select the Mandate object.
  2. Go to Lightning Record Pages and select a Record Page.
  3. Search for the GoCardless Mandate Manager component.
  4. Drag the component onto the page.
  5. Click Save.

Multi-currency support

The FinDock GoCardless integration supports collecting direct debits using different schemes. Each scheme assumes a specific currency. If the currency is incorrect, a clear error message indicates the currency needs to be changed.

The following currencies are currently supported:

  • Autogiro Direct Debit: Swedish Krona (SEK)
  • Bacs Direct Debit: British Pounds (GBP)
  • SEPA Direct Debit: Euro (EUR)

Payer notifications

GoCardless controls compliance with payment schemes, including Bacs Direct Debit, Autogiro and SEPA.

GoCardless makes sure all required checks on payer details are performed, handles all interactions with the scheme authorities, and sends all required notifications to the payer.

If you collect Bacs Direct Debit or Autogiro payments with GoCardless, there are two ways to make sure the required notifications are sent out to payers:

  • Default: GoCardless sends out an email notification when
    • A new mandate is set up
    • Every time a payment is collected from the customer (also for recurring)
  • Custom: ask GoCardless to disable all notifications and set up notifications yourself using Salesforce tooling. For specific requirements to use this option, including contract level, please check the GoCardless support site.

Migrating GoCardless subscriptions to FinDock

If you already had an existing GoCardless account with subscriptions, you can migrate your data to FinDock. Please first carefully read the detailed data migration instructions from GoCardless to ensure you prevent any unexpected behavior or communication with your existing customers.

  1. Create a Contact record for each GoCardless customer, with the GoCardless customerId in the gcf__GoCardless_Customer_Id__c field.
  2. Create a Payment Profile record with the GoCardless customer bank account details.
  3. Create a Mandate record with the GoCardless mandate reference linked to the Contact and Payment Profile record.
  4. Create a Recurring payment / donation with the data from the GoCardless subscription, linked to the Contact and Mandate records.
  5. Set up a (recurring) Payment Schedule to start collecting GoCardless Direct Debit payments.
  6. Ask GoCardless support to silently end the subscriptions in GoCardless.

Using the Payment API

You can use the Findock Payment API to integrate, for example, your website's payment form with GoCardless.

In the case of Bacs Direct Debit payments, if you already ask a payer/donor to fill in an address on your website’s payment form, you can use the following parameters to prefill the address information the GoCardless hosted payment page (HPP). These parameters only perform the prefill action the HPP and do not affect Salesforce data in any way.

  • prefilledAddressLine1
  • prefilledAddressLine2
  • prefilledPostalCode
  • prefilledCity

Example messages for Bacs DD

You can use the following example messages to test if your GoCardless configuration is working as expected. Use a test bank account from GoCardless.

One-time payment

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Donald",
"LastName": "Johnson"
}
}
},
"OneTime": {
"Amount": "25"
},
"PaymentMethod": {
"Name": "BACS Direct Debit",
"Processor": "FinDock-GoCardless",
"Parameters": {
"Description": "Thank you for your donation"
}
}
}

Recurring payment

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Donald",
"LastName": "Johnson"
}
}
},
"Recurring": {
"Amount": "25",
"Frequency" : "Monthly",
"StartDate" : "2020-08-10"
},
"PaymentMethod": {
"Name": "BACS Direct Debit",
"Processor": "FinDock-GoCardless",
"Parameters" : {
"description" : "Thank you so much!"
}
}
}

Example message for Instant Bank Pay

The following API massage can be used to setup and collect a one-time Insant Bank Pay payment.

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Donald",
"LastName": "Johnson",
"Email": "donald@johnson.com"
}
}
},
"OneTime": {
"Amount": "15"
},
"PaymentMethod": {
"Name": "Instant Bank Pay",
"Processor": "FinDock-GoCardless",
"Parameters" : {
"description" : "Thank you so much!!"
}
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}