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:
- Launch the FinDock app and click the FinDock Setup tab
- 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. This requires that the URL of the org is in remote site settings.
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:
- From the FinDock Setup tab, go to Processing.
- Under General Settings, click Schedule Heartbeat.
- 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 native mandate handling
Native mandate handlings settings are determined by the organization and the payment methods and processors in use. The available settings determine:
- Are mandates (payment agreements) managed by FinDock?
- Can a single mandate be used for multiple recurring payments?
- For certain direct debit schemes, does the organization use a fixed prefix value for generated mandate references?
These are answered by the general mandate handling settings:
- Mandate reference: optional prefix that FinDock adds to generated mandate references
- Reuse existing mandate: use the existing mandate linked to a payment profile when an additional recurring payment is added to the same profile
- Auto-create mandates: automatically create mandates when using FinDock as the processor (with some exceptions). For further information, see Introduction to mandate handling.
To configure mandates:
- From the FinDock Setup tab, go to Processing.
- Scroll down and expand Mandate management settings.
- Adjust the settings as needed and click Save.
FinDock Heartbeat user
The FinDock Heartbeat 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 Heartbeat
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:
- Under Salesforce Setup, go to Custom Code > Custom Settings.
- From the list, find the Heartbeats custom setting.
- Click Manage next to Heartbeats.
- 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.
Package | Class | Description |
---|---|---|
Core | AnalyticsSchedule | Deprecated |
Core | MessagesSchedule | Deprecated |
Core | MessagesScheduleInbound | Deprecated |
Core | PaymentSchedulesSchedule | Deprecated. This job was used to run payment schedules. If you activate FinDock Heart Beat, we recommend unscheduling PaymentSchedulesSchedule. |
Core | PaymentJourneySweeperSchedule | This can be ignored unless you use Payment Journeys, an early feature of FinDock no longer under active development. |
ProcessingHub | MessagesCleaner | This 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. |
ProcessingHub | RefreshSchedule | Deprecated |
ProcessingHub | SyncDeletedRecordsSchedule | Deprecated |
To schedule Apex jobs:
- Open the Salesforce setup page, click Apex Classes and then click the Schedule Apex button.
- For each FinDock class mentioned above, define a Job Name and schedule the execution time.