Configure WebHub
FinDock requires a working connection between your Salesforce org and WebHub for FinDock Giving Pages and PayLinks, and to handle incoming notifications through Notification Gateway.
Please note two important points about WebHub
- Connections are dynamic, so Salesforce IP session locking must be disabled.
- WebHub is a connected app, so it must be installed through Salesforce Setup.
Connecting to WebHub
WebHub is an app on Heroku that you connect to through FinDock Setup. The user account for the WebHub connection needs the FinDock Integration User permission set group.
Because WebHub is a connected app, Salesforce security policies require explicit installation through Salesforce Setup. This requires a multi-phased configuration with different users.
The overall procedure is as follows:
- Connect WebHub through FinDock Setup. This creates the connected app instance in Salesforce.
- Install the WebHub connected app in Salesforce Setup. This enables security policies that allow the app to be used by other Salesforce users.
- Reconnect WebHub through FinDock. This is required because the previous step automatically resets active connections.
Install WebHub connected app
The easiest way to do this is as a system administrator. Alternatively, you can add the Approve Uninstalled Connected Apps user permission to your FinDock Administrator user. Apart from the initial setup, though, a FinDock admin does not need to install more connected apps, so that user permission is excessive over the long term.
If the Approve Uninstalled Connected Apps user permission is not available in your org, please reach out to Salesforce Support to activate the permission.
First, you need to create the connected app instance for WebHub by connecting to WebHub.
- Launch the FinDock app and click the FinDock Setup tab.
- Click Connect in the left-hand menu and then click the WebHub tab.
- Enter your admin username and click Connect.
- At the Salesforce prompt, enter the user credentials.
- Once the account is authenticated, click Allow to grant FinDock access to your org.
After WebHub is connected, you need to install the WebHub connected app:
- From the Salesforce Setup, go to Connected Apps OAuth Usage.
- Go to the WebHub entry in the table of connected apps and click Install.
Salesforce Setup redirects to the settings for the WebHub app. Under OAuth Policies, you see Permitted Users is by default set to "All users may self-authorize." You can leave the setting as is and allow all user to access WebHub, or you can change it to limit access.
If you would like to limit access:
Click Edit Policies at the top of the page. (If you this later, go to Manage Connected Apps and click Edit next to the FinDock app.)
Under OAuth Policies, change Permitted Users to "Admin approved users are pre-authorized" and click Save.
Scroll down to Profiles, click Manage Profiles.
Select the profiles of your Integration User and FinDock Admin in the Application Profile Assignment list and click Save.
Now you can go back to FinDock Setup to reconnect WebHub with the user account (typically a non-person integration user) you planned to use.
Connect WebHub
The connection is established through FinDock Setup, so your integration user needs to have access to the setup (i.e. use the FinDock Administrator permission set group). If you plan on using the Salesforce Integration user license, you need to first connect with a standard role (and FinDock admin permissions), then switch to a role that has the Integration User license.
If you have multi-factor authentication (MFA) enabled for the org, you may need to temporarily waive MFA (through permission sets) while establishing the WebHub connection.
To connect to WebHub:
- Launch the FinDock app and click the FinDock Setup tab.
- Click Connect in the left-hand menu and then click the WebHub tab.
- Enter your integration user for the WebHub connection and click Connect.
- At the Salesforce prompt, enter the user credentials.
- Once the account is authenticated, click Allow to grant FinDock access to your org.
- If needed, change the user profile for the integration user through Salesforce Setup.
If you get a permission error when going back to Salesforce, log out and then log in again with your admin user account to continue.
Disconnecting and reconnecting WebHub
In certain scenarios, you may need to disconnect and reconnect WebHub. This is required, for example, if you want to change the Salesforce user for the connection.
Before disconnecting WebHub
Proceed with caution. Some online payment channels, like Giving Pages, and payment processing through PSPs, like Stripe, require a working payment connection.
Before disconnecting, you should:
- Identify time to disconnect when there are little to no online payment activities.
- And/or temporarily disable any WebHub dependent features.
Disconnect and reconnect WebHub
There are different procedures for disconnecting and reconnecting depending on whether you use a custom domain for Giving Pages.
If you do not use a custom domain:
- Launch the FinDock app and click the FinDock Setup tab.
- Click Connect in the left-hand menu and then click the WebHub tab.
- Click Disconnect.
- Enter the new integration user for the WebHub connection and click Connect.
- At the Salesforce prompt, enter the user credentials.
- Once the account is authenticated, click Allow to grant FinDock access to your org.
- Adjust the user role and permissions of the connected user as needed.
If you use a custom domain:
- Launch the FinDock app and click the FinDock Setup tab.
- Click Pages in the left-hand menu.
- Click the settings cog next to the domain name.
- Open the drop-down menu for the domain and select Delete Domain.
- Click Connect in the left-hand menu and then click the WebHub tab.
- Click Disconnect.
- Enter the new integration user for the WebHub connection and click Connect.
- At the Salesforce prompt, enter the user credentials.
- Once the account is authenticated, click Allow to grant FinDock access to your org.
- Go back to Pages and re-add your custom domain.
- Adjust the user role and permissions of the connected user as needed.
This sequence is critical to avoid domain conflicts. If WebHub is disconnected without first deleting the custom domain, the domain remains claimed, preventing FinDock from restoring Giving Pages when reconnecting.
After reconnecting WebHub
It is essential to check and test your online payments after reconnecting WebHub. Especially for Stripe and GoCardless, you should conduct a penny test to ensure all connections are working properly and payment notifications coming through to FinDock.
Please also note that payments being processed during the disconnect-reconnection action may have failed. Look at inbound reports from that period for failures or missing reports (i.e. expected notification that didn't arrive).
Notification Gateway
The Notification Gateway is automatically set up when you connect to WebHub. It use a dedicated connection to Salesforce, but rather uses the WebHub connection. Once WebHub is connect, FinDock generates required URLs (e.g. webhook URLs) as needed when payment extensions are added and configured. Please refer to the specific payment extension configuration articles for more information.
