Install and configure baseline - Web Integration Toolkit

On this page

 

Important note for Production orgs

WIT Flow Application errors debug logs via email

By default, when a process or flow interview fails, Salesforce sends an email with details about everything that was executed and what failed. The details include the data that's involved in the process or flow, including user-entered data. The user who last modified the flow will be the default recipient of the email. To avoid receiving the FlowApplication errors via email, please follow the steps below:  

  1. Go to setup > Process Automation Settings 

  2. From the Process Automation Settings, change the “Send Process or Flow Error email to” to Apex Exception Email Recipients and save. 

  3. Go to setup > Apex Exception Email and do not set (or remove) any user or emails.

Create Experience Cloud Page 

Go to Setup > All Sites > Select the community site > Builder

There is one page you need to set up for WIT for every client project; the Checkout Page. If you are notified the client is going to pay for WIT as a separate product licence, set up all the following pages:

Free with Posi Giving

Paid version of WIT (separate licence) 

Checkout Page only

Multi Screen Donation Page 

 

Single Screen Donation Page 

 

Update Contact Details Page 

 

Subscribe To Newsletter Page 

 

Build Your Own Fundraising Page 

 

Checkout Page 

 

Reprocess Donation Page 

 

Update Credit Card Page 

To create a new page, just follow the steps below: 

Repeat the same steps for all the pages. 

Page Title 

Make sure to edit the page title in every page and it depends on the client preference. 

Assign flow to the Pages 

Open one of the pages that you created. Drag the “ASFundraisingFlow” custom component into the centre of the page.

Fill out the flow details. Note: Flow name should have a prefix of WITFA__flowname

  • See the list of flow details under “ASFundraising Flow” section. Repeat the same steps for all the pages.

Update the CSS 

A message will appear ‘Override CSS?’; select Use Overrides. Paste the CSS code provided into the edit window.

Security and Privacy

Create the Trusted Sites for Scripts below. Set the Status to Active for all entries.

TRUSTED SITE NAME 

TRUSTED SITE URL 

Google Pay 

https://pay.google.com 

PayPal 

https://www.paypal.com  

jQuery 

https://code.jquery.com/jquery-3.5.1.min.js 

Google 

https://www.google.com  

Gstatic 

https://www.gstatic.com 

PayPal Sandbox 

https://www.sandbox.paypal.com  

Public Access

Make all the pages accessible to public. Repeat the same steps for all the 3 pages (Multi Screen, Single Screen and Checkout Page).

Go to Settings > General > Enable “Public can access the site”. 

Publish Site 

Click the Publish button at the top right hand corner of the page.

Guest User Profile Permissions

Object Settings

Set all object permissions to Read.

Object Names:

  • Gateway disclaimers

  • GAU selection list

  • Campaign dollar handles

  • GAU allocations

  • Campaigns

 

Apex Class Access 

ASPHPPADDON.PGCallProcessBDEItem 

ASPHPP.ASPP_ProcessPayment 

WITFA.AS_Build_Campaign_Controller 

WITFA.AS_BuildFundraisingCampaign_Controller 

WITFA.AS_Dollar_Handle_Controller 

WITFA.ASDisclaimerComponent_Controller 

WITFA.ASPaymentMethodController 

WITFA.TypeaheadLookupController 

WITFA.ASEncryptDecryptData 

AS_FundraisingSettingsController 

WITFA.AS_CampaignBranding_Controller 

 Update Time Zone for Guest User 

Go to Setup > Profiles > Web Integration Toolkit Profile > Guest User Licence.

Update the time zone to Australia or wherever is the client located. Click Assigned Users and Edit. 

Click Edit. Set up the correct Time Zone under Locale Settings.

Activate Site

Flow Access 

Give the Salesforce Admin or other profile access to wit flows. Go to Setup > Profile > System Admin > Object Settings.

Common Config Issues

  • If an error ‘To access this page, you have to log in to Fundraising’ occurs, please retrace or check the following configurations:

  • Check the WIT site (e.g. Fundraising) in All Sites if the status was set to Active.

o   If not Active, click Workspaces>choose Administration> hit the button to ‘Activate’

  • Check the checkout page Builder if it is already Published.

o   Go to All sites>Builder>click Publish and Publish

  • Make sure that the Campaign URL is correct

o   Go to All Sites> Copy the URL of the WIT site (e.g. Fundraising), and Paste it on the Base URL under Campaign Page 

o   Put an /s after the WIT Fundraising URL

o click Builder on All Sites>Search page (page you created ex. Checkout page)>click the Page Actions> click Page Settings> copy the URL and Paste it next to the Base URL in Campaign.

o    Copy the Base URL and paste it on the Finish URL then add the Campaign URL  

o   Click Save

  • Setup Campaign Donation Record Types in ProntoGiving Settings

o Copy the “Donation Page” record type ID in the Campaign object. Go to Setup > Object Manager > Campaign > Record Types > Donation Page (WITFA) namespace.

o   Go to Setup > Custom Settings > ProntoGiving Settings > Manage.

o   Edit the Custom Settings. Paste the record type id.

  • Refresh the Campaign ‘Checkout Page’ and click the Campaign URL. It should now be accessible for guest user.

 

Setup CSP Trusted Sites 

Go to Setup > CSP Trusted Sites. Make sure that the following trusted sites below are created.


Setup CORS 

Go to Setup > CORS. Make sure that the following CORS below are created.

Setup Remote Site Settings
Go to Setup > Remote Site Settings. Make sure that the following remote sites below are created. 

Manage Campaign Record Types 

These are the available campaign record types.

Donation page

Acquisition Page 

Donation Page 

Reference Campaign 

Reprocess Donation 

Tribute 

Update Contact Details Page 

Update Credit Card 

Setup Custom Metadata Types
Go to Setup > Custom Metadata Types. Find Web_Page_URL and select “Manage Records”. 

Make sure that these metadata are created.

Setup Custom Settings
Go to Setup > Custom Settings > Web Toolkit Settings and click “Manage”. 

Create a new one and choose what WIT features need to enable. For example, if the client is only using the Multi Screen Donation Page then, enables only that feature. 

Note: If they will use PayPal (Make sure that the PayPal Default Currency has a value of “AUD”).

Generate Encryption Key 

Go to App Launcher > Web Toolkit Settings > Session > Encryption. Click Generate. 

Schedule Generate Encryption Key 

Go to Developer Console > Debug > Open Execute Anonymous > Windows > Paste the code below and execute. This will run every midnight. 

String schedName = 'AS Randomize WIT Encryption Key';
System.schedule(schedName, '0 0 0 ? * * *', new WITFA.ASWITEncryptionKeyRandomizerSchedule()); 


To check the job. Go to Setup > Scheduled Jobs. You will see it listed as ‘AS Randomize WIT Encryption Key’.

Trigger Handler  

Go to App Launcher > Trigger Handler > Create new if doesn’t exist yet. 

Product specific settings 

ProntoGiving

Setup Campaign Donation Record Types

Copy the “Donation Page” record type id in the campaign object. Go to Setup > Object Manager > Campaign > Record Types > Donation Page (WITFA) namespace.  

Go to Setup > Custom Settings > ProntoGiving Settings > Manage. 

Edit the Custom Settings. Paste the record type id.

(Optional) If there is an error when uploading a campaign banner 

Switch to a classic environment. Go to Setup > Content Permission > Library Administrator > Edit. Enable all actions.

Content Deliveries and Public Links 

Also, ensure the permission ‘Create Content Deliveries’ is enabled in the profile by going to Setup > Profile Name > System Permissions. 

Go to the Campaign Lightning Page and click on the Flow Component: ASUploadCampaignBanner. On the right hand side you will see a checkbox ‘Pass record ID into this variable’. Ensure this checkbox is enabled.

ProntoPayments 

Go to ProntoPayments Settings > Settings > Basic. Disable the “Auto Create Payment Transaction” toggle.

Other Profiles that will use WIT 

Go to Setup > All Sites > Select Community Site > Administration > Members. Add the custom profile or permission set and save.

Make sure that it has access to all record types in the Payment Transactions object. Go to Setup > Profiles > Custom Profile Name > Object Settings > Payment Transactions. 

Update BDE Item Record Mapping 

Go to ProntoGiving Settings > Batch Donation Entry > BDE 2.0 > Item Record Mapping. Note that this is the baseline mappings for WIT and FA. See link.  

In the table below, the first column is the old mapping, you need to replace it with the second column. See the example. 

Old (BDE Item Fields)

New (BDE Item WIT Fields)

BDE Item Fields 

BDE Item WIT Fields 

Alternate_Email__c  

WITFA__Alternate_Email__c  

Do_Not_Contact__c  

WITFA__Do_Not_Contact__c  

Email_Opt_Out__c  

WITFA__Email_Opt_Out__c  

Home_Phone__c  

WITFA__Home_Phone__c  

Mobile__c  

WITFA__Mobile__c  

Other_Phone__c  

WITFA__Other_Phone__c  

Payment_ID__c 

WITFA__Payment_ID__c 

Personal_Email__c  

WITFA__Personal_Email__c  

Preferred_Email__c  

WITFA__Preferred_Email__c  

Preferred_Phone__c  

WITFA__Preferred_Phone__c  

Receipt_Action__c  

WITFA__Receipt_Action__c  

Receipt_Template__c  

WITFA__Receipt_Template__c  

Receives_Newsletter__c  

WITFA__Receives_Newsletter__c  

Work_Email__c  

WITFA__Work_Email__c  

Work_Phone__c  

WITFA__Work_Phone__c  

 

WITFA__Tribute_Type__c 

 

WITFA__Notification_Type__c 

 

WITFA__Notification_Recipient_Name__c 

 

WITFA__Notification_Recipient_Details__c 

 

WITFA__Notification_Message__c 

 

WITFA__In_Tribute_Of__c 

 

WITFA__Anonymous_Gift__c 

 

WITFA__Receives_Newsletter__c 

ProntoEngage Mapping 

Go to App Launcher > Campaign Importer > Campaign – Opportunity Mappings.

WIT CICD

These include: 

  • Layouts -> Please refer to FA Demo Org  

  • Campaign -> Please refer to the FA Demo Org 

  • Campaign Member 

  • Campaign Dollar Handle 

  • BDE Item 

  • GAU Selection List 

  • Gateway Disclaimer 

  • Gateway 

  • BDE Item Record Mappings 

  • BDE Templates 

  • BDE Item Defaults 

WIT Gateway and Security Settings

Google ReCaptcha 

Go to App Launcher > Web Integration Toolkit Settings > Settings. Select Google reCAPTCHA v3 or v3 as Anti-Spam. 

Provide the Google reCAPTCHA site key. See this link on how to setup.

HoneyPot

Go to App Launcher > Web Integration Toolkit Settings > Settings. Select ASHoneyPot as Anti-Spam.

PayPal

Go to App Launcher > Web Integration Toolkit Settings > Settings. Ask the client for the PayPal Client Id. 

You can also select the minimum amount and to allow cents but it depends on the client preference.

Google Pay 

Go to App Launcher > Web Integration Toolkit Settings > Settings. Ask the client for the Google Pay Merchant Id and Google Pay Merchant Name. 

Note: Enable GooglePay Sandbox when you’re in a sandbox environment.

Flow Details

 

ASFundraisingFlow

Page Name

Flow API Name

URL Filter Parameters

Custom Classes

Checkout Page

WITFA__Checkout_Page

AS_Campaign_Id,AS_Amount,AS_Donation_Type,AS_First_Name,AS_Last_Name,

AS_Email,AS_Street,AS_City,AS_Country,AS_State,AS_Postcode,AS_Account_Name,AS_Payment_Type,AS_Tribute_Type,AS_In_Tribute_Of,

AS_Comments, AS_Frequency,AS_GAU, UUID

Checkoutpage

Multi Screen Donation Page

WITFA__AS_Multiscreen_Flow

 

AS_Campaign_Id, AS_Gateway_Id,GAU,UUID,utm_source,RDOnly

 

 

Single Screen Donation Page

WITFA__AS_Single_Screen_Flow

 

AS_Campaign_Id,UUID,GAU,Amount,utm_campaign,utm_content,

utm_medium,utm_source,RDOnly

Single-Screen-Flow

 

Update Credit Card Page

WITFA__Update_Credit_Card_Flow

 

AS_Campaign_Id,UUID,AS_PaymentSourceId,AS_RecurringDonationID

 

 

Reprocess Donation Page

WITFA__Update_Failed_Payment

 

AS_Campaign_Id,UUID,AS_PaymentSourceId,AS_OpportunityId

 

 

 

UpdateContactDetails

Page Name

Flow API Name

URL Filter Parameters

Custom Classes

Update Contact Details Page

WITFA__Update_Contact_Details

 

AS_Campaign_Id,UUID

 

 

 

Flow (Standard Component)

Page Name

Flow

Layout

AS_CampaignId

Build Your Own Fundraising Campaign Page

Build Fundraising Campaign

One Column

Campaign ID

Subscribe To Newsletter Page

Subscribe to Newsletter

One Column

 

Flow Parameters

Multi Screen Donation Page

Campaign Record Type: Donation Page

  • AS_Campaign_Id → Campaign Id

  • Amount → Amount

    • Any amount values

    • The Amount field is auto-populated

    • If the provided amount value is an existing amount value from Campaign Dollar Handle, the dollar handle will be auto-selected

  • GAU → GAU Selection List Id

    • Make sure the GAU Selection List Id is under the Campaign (check Related List)

    • The “Where do you want your donation to go?” will be auto-selected based from the GAU Selection List Id provided in the parameter

  • UUID → Campaign Member’s UUID

    • Make sure the provided UUID is an existing Campaign Member of the Campaign

    • Donor details is auto-populated based from the UUID’s details (Campaign  Member.Contact details)

  • utm_campaign, utm_content, utm_medium utm_source

    • Optional

    • If provided, no changes for the UI

  • RDOnly → only allow the page to process recurring donation

    • If the RDOnly parameter = true/TRUE in the campaign record, the “Multiply my gift by making it a monthly donation” checkbox field in page is hidden

  • If the RDOnly parameter = false/FALSE or URL has no RDOnly parameter in the campaign record, the user can tick or untick the “Multiply my gift by making it a monthly donation” checkbox field

Single Screen Donation Page

Campaign Record Type: Donation Page

  • AS_Campaign_Id → Campaign Id

  • Amount → Amount

    • Any amount values

    • The Amount field is auto-populated

    • If the provided amount value is an existing amount value from Campaign Dollar Handle, the dollar handle will be auto-selected

  • GAU → GAU Selection List Id

    • Make sure the GAU Selection List Id is under the Campaign (check Related List)

    • The “Where do you want your donation to go?” will be auto-selected based from the GAU Selection List Id provided in the parameter

  • UUID → Campaign Member’s UUID

    • Make sure the provided UUID is an existing Campaign Member of the Campaign

    • Donor details is auto-populated based from the UUID’s details (Campaign Member.Contact details)

  • utm_campaign, utm_content, utm_medium utm_source

    • Optional

    • If provided, no changes for the UI 

  • RDOnly → only allow the page to process recurring donation

    • If the RDOnly parameter = true/TRUE in the campaign record, the Multiply my gift by making it a monthly donation checkbox field in page is hidden

    • If  the RDOnly parameter = false/FALSE or URL has no RDOnly parameter in the campaign record, the user can tick or untick the Multiply my gift by making it a monthly donation checkbox field

Checkout Page

Campaign Record Type: Donation Page

  • AS_Campaign_Id → Campaign Id

  • AS_Amount → Amount

    • Any amount values

    • The Amount field is hidden

  • AS_GAU → GAU Selection List Id

    • Make sure the GAU Selection List Id is under the Campaign (check Related List)

    • The “Where do you want your donation to go?” is hidden

  • AS_Tribute_Type → Tribute Type: Honor, Memorial

    • The Tribute Type is hidden

  • AS_Frequency → Frequency: One Off, Monthly

    • If One Off, the “Multiply my gift by making it a monthly donation” is hidden but the flow will identify the frequency as once off

    • If Monthly, the “Multiply my gift by making it a monthly donation” is hidden but the flow will identify the frequency as monthly

  • AS_Payment_Type → Payment Type: Credit Card, Direct Debit, Other

    • Credit Card: The Credit Card will only display, other payment options will be hidden

  • Direct Debit: The Direct Debit will only display, other payment options will be hidden

  • Other: The Other will only display, other payment options will be hidden (NOT WORKING)

  • AS_In_Tribute_Of → Name (text)

    • The In Tribute Of is hidden

  • AS_Comments → Comments (text)

    • The Comment is hidden

  • AS_Donation_Type → Donation Type: Individual, Organisation

    • Individual: The Individual donation type is auto-selected

    • Organisation: The Individual donation type is auto-selected

  • AS_First_Name, AS_Last_Name, and AS_Email

    • These 3 parameters should be provided at the same URL

    • No Donor/Personal Details section will display (still in development)

  • AS_Account_Name and AS_Email

    • These 2 parameters should be provided at the same URL

    • No Donor/Personal Details section will display (still in development)

  • AS_Mobile_Phone → Mobile Phone Number

  • AS_Postcode → Postal Code

    • Postal Code will be auto-populated

  • AS_Country → Country

    • Country will be auto-populated

  • AS_Salutation → Contact Salutation

  • AS_State → State

    • State will be auto-populated

  • AS_Street → Street Address

    • Street Address will be auto-populated

  • AS_City → City

    • Suburb/City will be auto-populated 

Update Contact Details Page

Campaign Record Type: Update Contact Record Details

  • AS_Campaign_Id → Campaign Id

  • UUID → Campaign Member’s UUID

    • Make sure the provided UUID is an existing Campaign Member of the Campaign

    • Contact details is auto-populated based from the UUID’s details (Campaign  Member.Contact details).

Update Expired RD Credit Card

Campaign Record Type: Update Credit Card

  • AS_Campaign_Id → Campaign Id

  • UUID → Campaign Member’s UUID

    • Make sure the provided UUID is an existing Campaign Member of the Campaign

  • AS_RecurringDonationID → Recurring Donation Id

    • Make sure the Recurring Donation record has a Primary Campaign based from the Campaign (RD is under Campaign)

    • Make sure the Recurring Donation record has a Payment Source where the Payment Source is equals to the Payment Source Id provided from the parameter

    • Make sure the Recurring Donation record has a Contact where the UUID is equals to UUID from parameter and is equals to the Contact of the Payment Source and a Campaign Member under the Campaign

  • AS_PaymentSourceID → Payment Source Id

    • Make sure the Payment Source has a Contact where Contact is equals to the UUID from the parameter.

Reprocess Payment

Campaign Record Type: Reprocess Donation

  • AS_Campaign_Id → Campaign Id

  • UUID → Campaign Member’s UUID

    • Make sure the provided UUID is an existing Campaign Member of the Campaign

  • AS_OpportunityId → Opportunity Id

    • Make sure the Opportunity record has a Primary Campaign based from the Campaign (RD is under Campaign)

    • Make sure the Opportunity record has a Payment Source where the Payment Source is equals to the Payment Source Id provided from the parameter

    • Make sure the Opportunity record has a Contact where the UUID is equals to UUID from parameter and is equals to the Contact of the Payment Source and a Campaign Member under the Campaign

  • AS_PaymentSourceId → Payment Source Id

    • Make sure the Payment Source has a Contact where Contact is equals to the UUID from the parameter.

Update Credit Card page

Recurring Donations Expired Credit Card feature will create a new payment source to the Recurring Donation record. At the moment, it only supports Credit Card and Direct Debit payment type.

The contact should be a member of the campaign.

An email notification is sent to the contact assigned to RD record.

When the contact receives the email notification and clicked the Update RD Expired Credit Card button, contact will be redirected to the Update RD Expired Credit Card page.

Contact completes the necessary information and clicks the Next button. This creates a new payment source.

Update Contact Details Page

  1. When Contact record is created/updated with Address Unknown field ticked. An email notification will sent to the email address added in the Contact.

  2. The Contact will click the Update Your Contact Details here button on the email, which routes to the Update Contact Details page

  3. Contact completes the necessary information and clicks the Update button

  4. The BDE Item record is created with Pending Processing

  1. After that you will see the changes at the Contact.

Reprocess Donation page

Required Provide the input field.

  • Campaign ID

  • Opportunity ID

  • Payment Source ID

  • UUID

If there is invalid input data, error has occurred. List scenario below:

Contact must have UUID ->

Payment type -> Credit Card

Payment Source must be populated

Campaign Name must be active

Opportunity ID/name must exist

When opportunity stage is a Closed Won

Inputted record is correct, you will see the image below

Input card information.

Input card data is not correct

When successful, it will create a BDE item record

 

BDE Item Record Mapping