Configuring FinDock Core

AFter you have adjusted general permissions and assigned FinDock permission Set groups, you're ready to set up FinDock Core.

Add contact details

As part of the enhanced FinDock Setup, please add contact information for FinDock. These contacts are vital for FinDock to maintain system reliability and business continuity. The information you provide ensures FinDock knows whom to contact in the case of, for example, security or privacy-related incidents.

To add contact details:

  1. Launch the FinDock app and click the FinDock Setup tab
  2. Go to Contact Information and fill in details following the guidance on the setup page.

Configure Remote Site access

For some operations, like to deploy configuration changes, FinDock needs to call itself through the Salesforce Metadata API.

To configure Remote Site access:

You don't need to do anything. The enhanced FinDock Setup handles remote site settings automatically.

Configure Core general settings

FinDock has a few general settings about payment profile handling, as well as Apex scheduling, to configured for FinDock Core. These include:

  • Store Informal Logs: enable informal logging for troubleshooting if needed during initial configuration
  • Enforce Payment Profile Uniqueness: defines how FinDock handles new Payment Profile records. Enabled by default to ensure uniqueness of active payment profiles, enforced via the Unique Identifier field. We recommend keeping the setting as is.
  • Default Source Connector: tells FinDock what payment data to store where when the source is not explicitly defined in the Payment API call.

To configure general settings:

  1. From the FinDock Setup tab, go to Processing.
  2. Under General Settings, click Schedule Heartbeat.
  3. To use informal logs, go to Payment Processors & Methods and enable the logging under Advanced Settings.

You do no need to do anything more for general settings. FinDock automatically enforces payment profile uniqueness ands sets the default source. These can be changed later if needed.

Configure mandate service

The Core mandate service controls how FinDock handles mandates for direct debit payments. The service configuration depends on how an organization answers the following:

  • Are mandates created by FinDock?
  • Can a mandate be reused for multiple recurring payments?
  • Should FinDock add a prefix value to generated mandate references?

There corresponding Core mandate service settings are:

  • Auto-create mandates: automatically create mandates for new direct debit payments. Please refer to processor-specific articles for further details on mandate creation.
  • Reuse existing mandate: use the existing mandate linked to a payer's payment profile when a new recurring payment is created for the same payer
  • Mandate reference: optional prefix that FinDock adds to generated mandate references. This prefix is only added of the specific direct debit method and processor combination allows it.

To configure the Core mandate service:

  1. From the FinDock Setup tab, go to Processing.
  2. Scroll down and expand Mandate management settings.
  3. Adjust the settings as needed and click Save.

FinDock Heart Beat user

The FinDock Heart Beat is an Apex class that automatically manages other FinDock Apex class scheduling. When you use the schedule button in the (classic) setup, the Apex jobs run under the currently logged in user.

Because the heartbeat is purely backend automation, you could schedule it using a non-person user. The non-person user just needs the FinDock Integration user permission set group to run the heartbeat.

If you only want to use that integration user permission set group for the heartbeat, you need to first give that user setup access. There are a couple of options:

  • Assign the FinDock Core Setup permission set to the heartbeat user, log in, schedule the heartbeat from the FinDock Setup, log out, and then log back in as an admin and remove the FinDock Core Setup permission set.
  • Grant access to Salesforce Setup to the heartbeat user, log in, go to the Salesforce Setup under Apex Classes, click the Schedule Apex button and define a schedule for the HeartbeatSchedule Apex class. Log out, and then log back in as an admin and remove Salesforce Setup access from the heartbeat user.

Note that there may be other Apex classes that need to be scheduled separately. See below for more information.

Adjusting FinDock Heart Beat

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

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.

PackageClassDescription
CoreAnalyticsScheduleDeprecated
CoreMessagesScheduleDeprecated
CoreMessagesScheduleInboundDeprecated
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.
ProcessingHubRefreshScheduleDeprecated
ProcessingHubSyncDeletedRecordsScheduleDeprecated

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.
    schedule-apex-page

Was this page helpful?