Skip to main content
Version: march-24-production

Configuring FinDock Core

After installing the packages for FinDock Core (formally "PaymentHub"), ProcessingHub and FinDock Additional Setup, you can start configuring FinDock. This article guides you through the procedures for completing basic Core configuration only.

Before you start

We recommend taking a moment to collect the following information before starting. This helps you go through the configuration without having to request the information as you need it.

To configure FinDock, you need to get answers to the following questions about how the organization wants to handle mandates.

  • Will FinDock's automated mandate management be used?
  • Will multiple recurring donations be collected using the same mandate?
  • For SEPA mandates, will the organization use a prefix (such as the organization’s name) on every mandate?

Assign permissions

FinDock contains several permission sets that help you assign the right permissions to users. For a complete overview, please see our Permissions article.

Assign permissions using standard Salesforce functionality as explained in the Salesforce documentation Control Who Sees What.


FinDock packages installed before October 2019 release are called ‘StepOrange CPM’ or ‘PaymentHub.’

Configure Remote Site access

For some operations, including Deploy Config, FinDock needs to be able to call itself through the Salesforce Metadata API. This requires that the URL of the org is in remote site settings. To configure Remote Site access:

  1. Launch the FinDock App and click on the Remote Site Settings tab. You should see a red circle with “1” next to the tab.
  2. Click the Create Initial Setting button. The page automatically refreshes and takes you back to the app home view. You should see a green “0” next to the remote site settings tab, indicating Metadata Access was successfully configured.
  3. In a separate tab, open Setup > Security > Remote Site Settings and check that the org URL has been correctly added to the settings.

General settings and heartbeat

The general settings include few settings that are important for the overall functioning of FinDock. During initial configuration, we recommend enabling the informal logs so you get a complete record of what is happening in the background should you need to do troubleshooting.

The enforce uniqueness setting is enabled by default. We recommend keeping the setting as is. It defines what happens when a new payment profile record is created. When enabled, the uniqueness of the payment profile record is guaranteed within all payment profiles that are active and have enforce uniqueness checked. This is enforced through the Unique Identifier field on the Payment Profile object.

The source connector and heart beat schedule are required configuration that need to be set for FinDock to function properly. The default source connector tells FinDock where to store and management payment data whenever the source is not explicitly defined in, for example, and API call.

The FinDock Heartbeat is an Apex class that automatically manages other FinDock Apex class scheduling. You may still have other Apex classes that need to be schedule separately. See below for more information.

To configure general settings:

  1. From the FinDock Setup tab, click the General icon.
  2. Configure the general settings as needed.
  3. Click Save.
  4. Click the Schedule Heartbeat button FinDock General Settings

Activate packages

Activate each installed FinDock package. Additional payment extension or source packages need to be activated as well when they are installed.

To activate packages:

  1. Launch the FinDock app and click on the Activate/Deactivate tab.
  2. Use the toggle in the Status column to activate packages.

Configure mandates

Setup mandate handling according to the information you gathered from the organization.

To configure mandates:

  1. Launch the FinDock app and click on the Mandates icon.
  2. Enter the prefix the organization wishes to use for Mandate Reference.
  3. Enable options as needed. We recommend enabling both.
    • Reuse existing mandate: use the existing mandate linked to a payment profile (that has a recurring payment) when an additional recurring payment is added to the same profile
    • Autocreate mandate for Direct Debits: automatically create mandates when using FinDock as the processor (with some exceptions). For further information, see Introduction to mandate handling
      Mandates general settings
  4. Click Save.

Schedule Apex jobs

Certain functions in FinDock can use a scheduled Apex job to run in the background. Jobs need to be scheduled carefully to avoid errors or data quality issues due to jobs trying to work on the same data at the same time.

Additional FinDock packages, such as for payment extensions, may have their own classes. If so, scheduling these are covered in the package-specific articles.

Please discuss and plan scheduling with your integration partner, Salesforce admin(s) and other relevant stakeholders, such as the finance department.

CorePaymentSchedulesScheduleDeprecated. This job was used to run payment schedules. If you activate FinDock Heart Beat, we recommend unscheduling PaymentSchedulesSchedule.
CorePaymentJourneySweeperScheduleThis can be ignored unless you use Payment Journeys, an early feature of FinDock no longer under active development.
ProcessingHubMessagesCleanerThis is one you can schedule to run daily. It looks for messages which haven’t been processed yet and acts as a fail safe in the unlikely event that messages are missed.

To schedule Apex jobs:

  1. Open the Salesforce setup page, click Apex Classes and then click the Schedule Apex button.
  2. For each FinDock class mentioned above, define a Job Name and schedule the execution time.

Adjusting FinDock heartbeats

All FinDock Core heartbeats run in a predefined sequence starting at 03:00 (3am). Typically these do not need to be modified, the order and starting time can be changed.

  • Order: 2-digit number indicating sequence order within set of heartbeats
  • Starting Hour: 2-digit number indicating starting time of day for the heartbeat

To adjust heartbeat scheduling:

  1. Under Salesforce Setup, go to Custom Code > Custom Settings.
  2. From the list, find the Heartbeats custom setting.
  3. Click Manage next to Heartbeats.
  4. Adjust order and start time as needed and click Save.

The default heartbeats included in FinDock are listed below. Additional heartbeats maybe added through optional FinDock packages.

  • CalculatePaymentScheduleCountersBeat
  • CalculateTransactionSetCountersBeat
  • CleanJobRecordsBeat
  • CountCollectedInstallmentsBeat
  • GenerateMandateSchedulesBeat
  • GeneratePaymentSchedulesBeat
  • RecurringMandateScheduleBeat
  • RecurringPaymentScheduleBeat