Permission Sets
GoCardless for Salesforce Billing contains the following permission sets:
- GoCardless Finance Operations - This permission set allows users to create payments against invoices and accounts.
- GoCardless Sales Operations - This permission set allows users to invite customers to GoCardless and manage their bank debit mandates.
- GoCardless Admin Operations - This permission set allows users to Configure the GoCardless App
To assign these permission sets to a user please follow the steps below in the organisation.
- Navigate to Setup and type "Permission Sets" in the search box
- Click on each of the GoCardless permission sets and assign them to a specific user by clicking on "Manage Assignments"
- Click on "Add Assignment", select a specific user from the list, then click on "Assign".
- Repeat the previous steps to assign all GoCardless permission sets to a specific user.
Community Setup
Set up your payment pages on Salesforce Digital Experiences (former Communities)
In order to invite customers to pay using GoCardless, you will need to set up your payment pages on Salesforce Digital Experiences.
Enable Communities
The following steps will enable Digital Experiences for your Org.
1. Go to App Setup > Feature Settings > Digital Experiences > Settings.
2. Click Enable Digital Experiences.
3. Click Save.
4. Enter a default Domain name and click Check Availability. All Digital Experiences that are created under this Org will use this Domain name in the URL.
5. If the domain name is available, click Save to use that name.
6. Deploy the Digital Experiences metadata following the steps below. This must be deployed before the Digital Experiences profile metadata (step 7) and will create the Digital Experience. You can download the Digital Experiences metadata from here. (see "How to deploy Digital Experiences metadata files")
7. After deploying the digital experiences metadata continue with deploying the Digital Experiences profile metadata to deploy the profile for the Digital Experiences. You can download the Digital Experiences profile metadata from here.
How to deploy Digital Experiences metadata files
Steps for deploying Community Metadata file:
1. Download the metadata (*.zip) file from steps 6 & 7 to your local dir and unzip it.
2. Open sites\GoCardless.site with a structure-preserving text editor (Sublime Text / Notepad++ / Atom) and change the value in siteAdmin to the Salesforce Username which you use to login to your Org
3. Make sure that all invisible files such as .DS_Store, desktop.ini are deleted
4. Make sure your zip file remains as it is except for the above change
5. Only compress the files and folders within the parent CommunitySetting folder to a new zip (no compression, save only, using Keka / 7-Zip)
6. Go to: https://workbench.developerforce.com/login.php
7. Login with your Salesforce credentials for your target Org
8. Go to Migration > Deploy
9. Select the newly zipped file and check the following boxes:
a). Allow Missing Files
b). Rollback on Error
c). Single Package
d). Optional: Check Only (to verify that the file is correct before deploying it)
10. Click on Next > Deploy
11. Repeat steps 6-11 as well for the Digital Experiences profile metadata
Page Layout assignment
GoCardless for Salesforce billing comes with Page Layouts tailored for GoCardless payments. These steps will show you how to assign these Page Layouts.
The following steps cover assignment of the Page Layout for Accounts:
1. From Lightning Experience navigate to Setup and then to Object Manager
2. Click on Account
3. From the left hand column, click on Page Layouts, then on the Page Layout Assignment button, then on Edit Assignment.
4. Select the profile which you want to update, select the layout as Account (GoCardless) Layout from the drop down, then click on Save
The following steps cover assignment of the Page Layout for Invoices:
1. From Lightning Experience navigate to Setup and then to Object Manager
2. Click on Invoice (API Name: blng__Invoice__c)
3. From the left hand column, click on Page Layouts, then on the Page Layout Assignment, then on Edit Assignment.
4. Select the profile which you want to update, select the layout as Invoice (GoCardless) Layout from the drop down, then click on Save
Adding GoCardless as a Payment Method & Payment Type
In order to automatically create GoCardless payments against invoices, you will need to define GoCardless as a Payment Method and Payment Type.
1. From Lightning Experience navigate to Setup and then to Object Manager
2. In the Quick Find bar type Payment and click on Payment (API Name: blng__Payment__c), go to Fields & Relationships on the left hand column, and click on Payment Type
3. Scroll down and click on the button View Payment Type Value Set
4. Click on the New button, in the box add the value as GoCardless, tick the checkbox "Add the new picklist values to all Record Types that use this Global Value Set.", click on Save
Follow the same steps above for the Payment Method (blng__PaymentMethod__c) object in Setup > Object Manager
GoCardless Site Guest User profile changes
1. From Lightning Experience navigate to Global Search and search for “GoCardless Site Guest User” as shown below. Click on "Profile (GoCardless Profile)" on the top right area
Object Level Permission
1. In GoCardless Site Guest User profile scroll down to "Standard Object Permissions" Provide following object level permissions.
a). Account & API Configuration - Read Permission
b). Invited Customer - Read & Write permission
Note: Please refer to the following screenshots.
Field Level Permission
API Configuration
In the profile, search for “API Configuration” in the field "Custom Field-Level Security" and click on View link to open. Click on Edit and provide Read Access to the following fields & click on save.
- URL Extension,
- Destination Object
- Invoking Object
Account
In the same profile, search for “Account” in the "Standard Field-Level Security" and click on View link to open. Click on Edit and provide Read Access to the following fields & click on save.
- GoCardless Customer Id(s)
- GoCardless Primary Customer Id
- GC Invite Date
- Invite To Setup
- Redirect Flow Id
- Email
- Region
- Reminder Date.
Invited Customer
In the same profile, search for “Invited Customer” in the "Custom Field-Level Security" and click on View link to open. Click on Edit and provide Read/Edit Access to all fields and Save.
Enable Apex Class Access
In “GoCardless Site Guest User profile” navigate to “Enabled Apex Class Access” Click on Edit button & add the following apex classes to be enabled.
- GCBilling.CompleteRedirectFlowService
- GCBilling.AccountRedirectFlowHandler
- GCBilling.UpdateAccountWithCustomerDetail
- GCBilling.MandateEventTriggerHandler
- GCBilling.AccountDataAccess
- GCBilling.RedirectFlowService
- And click on the Save button.
Note:-Please refer to the following screenshot.
Sharing Settings Changes
1. Go to Setup >Search>Sharing Setting and Click on the Edit button
2. And search & update following permissions
a). API Configuration (Default Internal Access-Public Read/Write,External Access-Public Read/Write).
b). Invited Customer (Default Internal Access-Public Read/Write,External Access-Public Read/Write).
Note: See refer to the following following screenshot.
Creating Sharing Rules
Invited Customer Sharing Rule
1. From Lightning Experience navigate to Setup. In the Quick Find box, type “Sharing Settings” and scroll down for the “Invited Customer Sharing Rules” as shown below. Click on New button.
2. Label it as “Invited Customer”, choose “Guest user access based on criteria”, add a condition as “Invited Customer Name not equal to [blank value]”, share with “GoCardless Site Guest User” and click on Save.
API Configuration Sharing Rules
1. From Lightning Experience navigate to Setup. In the Quick Find box, type “Sharing Settings” and scroll down for the “API Configuration Sharing Rules” as shown below. Click on New button.
Label it as “API Config”, choose “Guest user access based on criteria”, add a condition as “API Configuration Name not equal to [blank value]”, share with “GoCardless Site Guest User” and click on Save.
Updating API Configuration record for Redirect flow
1. Search API Configurations from App launcher.
2. Navigate to API Configuration
3. Navigate to “Redirect Flow” flow record
4. See below screenshot and delete “Redirect Flow” record.
5. Click on the Delete button on the popup.
6. Should be able to receive a success message on deletion of record.
Now add New API Configuration record
1. Click on New button
2. Should enter flow name “Redirect Flow”
3. Should enter URL Extension “/redirect_flows”
4. And click on the save button.
Enabling Opportunity Currency in Opportunity Object
“Opportunity currency” field can be added to the default opportunity layout if multi-currency opportunity creation is needed.
Important note: It is advisable to select the currency during opportunity creation as this won't be possible after selecting a pricebook or adding product.
1. Using Lightning Experience, navigate to Setup and then to Object Manager
2. In the Quick Find bar type Opportunity and click on the Opportunity object, select Page Layouts.
3. Click on your Opportunity layout. By default, it is CPQ Opportunity Layout. Drag and drop “Opportunity Currency” field into the Opportunity Information section and Save.
Invitation Email Configuration
The emails used to invite customers to create GoCardless Mandates can be configured to customise the company name and logo.
Changing Organization Name
The company name will be taken from the Organization name in your Org’s Company Information. To view or change this, go to your Org’s setup and search ‘Company Information’ in the Quick Find. To edit the Organization name, click Edit and modify the Organization Name field.
Changing Email Logo
To change the logo that appears in the customer emails, you will need to enter Salesforce Classic Mode. This is available from the profile menu at the top right of the page.
When Salesforce Classic is loaded, click the + tab and select Documents, then load the GoCardless folder.
To update the logo, click on Merchant Logo and click Replace Document. Select the new logo, either via path or file upload and click Replace Document.