Configuring GoCardless

GoCardless 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.

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

Multi-merchantMulti-currency
Payment MethodOne-timeRecurringRefunds
Bacs Direct Debit
Instant Bank Pay
SEPA Direct Debit
Autogiro
Pre-authorized Debit (PAD)
ACH Direct Debit

Pre-requisites

  • FinDock is installed and configured.
  • WebHub is connected.

Install GoCardless extension

Follow the standard procedure for installing payment processors to add the GoCardless payment extension and activate payment methods.

Check and assign the required permissions. If you are using custom permission set groups, ensure the GoCardless permission sets are assigned.

Configure GoCardless for FinDock

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

To configure GoCardless for FinDock, you simply connect your org to a GoCardless account:

  1. Launch the FinDock app and click the FinDock Setup tab.
  2. Go to Payment Processors & Methods.
  3. Under Installed Processors, click the GoCardless processor entry.
  4. Click Add account.
  5. Toggle on Test Account if you are connecting with a GoCardless Sandbox account.
  6. Click Connect with GoCardless. You are redirected to a GoCardless page.
  7. Follow the setup steps from GoCardless.
  8. When completed, you are redirected to the FinDock with a message โ€œSuccessfully connected your-target-name to GoCardless."
  9. Click Save.

If you add more accounts, use the default toggle to define which account should be used in calls the Payment API that don't specify an account (target).

To disconnect a GoCardless account, simply go to the account settings and click Disconnect GoCardless.

Configure Quick Direct Debit

ย ย ย 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 (an account name from the GoCardless extension setup) to use for payments 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.

ย ย ย 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 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"
    }
}

Was this page helpful?