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:
Go to setup > Process Automation Settings
From the Process Automation Settings, change the “Send Process or Flow Error email to” to Apex Exception Email Recipients and save.
Go to setup > Apex Exception Email and do not set (or remove) any user or emails.
Create Community 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 link 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 | |
PayPal | |
jQuery | |
Gstatic | |
PayPal Sandbox |
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.
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 depending on the WIT subscription that the client has. Deactivate other record types if not needed.
WIT Essentials | WIT Professional |
Donation Page | Acquisition Page |
| Donation Page |
| Reference Campaign |
| Reprocess Donation |
| Tribute |
| Update Contact Record Details |
| 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.
WIT 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
o Any amount values
o The Amount field is hidden
· AS_GAU → GAU Selection List Id
o Make sure the GAU Selection List Id is under the Campaign (check Related List)
o The “Where do you want your donation to go?” is hidden
· AS_Tribute_Type → Tribute Type: Honor, Memorial
o The Tribute Type is hidden
· AS_Frequency → Frequency: One Off, Monthly
o 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
o 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
o Credit Card: The Credit Card will only display, other payment options will be hidden
o Direct Debit: The Direct Debit will only display, other payment options will be hidden
o Other: The Other will only display, other payment options will be hidden (NOT WORKING)
· AS_In_Tribute_Of → Name (text)
o The In Tribute Of is hidden
· AS_Comments → Comments (text)
o The Comment is hidden
· AS_Donation_Type → Donation Type: Individual, Organisation
o Individual: The Individual donation type is auto-selected
o Organisation: The Individual donation type is auto-selected (NOT WORKING)
· AS_First_Name, AS_Last_Name, and AS_Email
o These 3 parameters should be provided at the same URL
o No Donor/Personal Details section will display (still in development)
· AS_Account_Name and AS_Email
o These 2 parameters should be provided at the same URL
o No Donor/Personal Details section will display (still in development)
· AS_Mobile_Phone → Mobile Phone Number
· AS_Postcode → Postal Code
o Postal Code will be auto-populated
· AS_Country → Country
o Country will be auto-populated
· AS_Salutation → Contact Salutation
· AS_State → State
o State will be auto-populated
· AS_Street → Street Address
o Street Address will be auto-populated
· AS_City → City
o Suburb/City will be auto-populated
Update Contact Details
Campaign Record Type: Update Contact Record Details
· AS_Campaign_Id → Campaign Id
· UUID → Campaign Member’s UUID
o Make sure the provided UUID is an existing Campaign Member of the Campaign
o 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
o Make sure the provided UUID is an existing Campaign Member of the Campaign
· AS_RecurringDonationID → Recurring Donation Id
o Make sure the Recurring Donation record has a Primary Campaign based from the Campaign (RD is under Campaign)
o 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
o 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
o 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
Required URL parameters:
· AS_Campaign_Id → Campaign Id
· UUID → Campaign Member’s UUID
o Make sure the provided UUID is an existing Campaign Member of the Campaign
· AS_OpportunityId → Opportunity Id
o Make sure the Opportunity record has a Primary Campaign based from the Campaign (RD is under Campaign)
o Make sure the Opportunity record has a Payment Source where the Payment Source is equals to the Payment Source Id provided from the parameter
o 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
o Make sure the Payment Source has a Contact where Contact is equals to the UUID from the parameter