...
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
...
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:
...
See the list of flow details link under “ASFundraising Flow” section. Repeat the same steps for all the pages.
View file name WIT Flow Details.docx
Update the CSS
...
A message will appear ‘Override CSS?’; select Use Overrides. Paste the CSS code provided into the edit window.
...
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).
...
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
...
Give the Salesforce Admin or other profile access to wit flows. Go to Setup > Profile > System Admin > Object Settings.
...
...
Go to Setup > CSP Trusted Sites. Make sure that the following trusted sites below are created.
...
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());
...
Trigger Handler
Go to App Launcher > Trigger Handler > Create new if doesn’t exist yet.
Product specific settings
ProntoGiving
Setup Campaign Donation Record Types
...
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 > 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.
...
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
...
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_Country Street → CountryStreet Address
Country Street Address will be auto-populated
AS_Salutation City → Contact Salutation
AS_State → State
StateCity
Suburb/City will be auto-populatedpopulated
Update Contact Details Page
Campaign Record Type: Update Contact Record Details
AS_Street → Street Address
Street Address will be auto-populated
AS_City → City
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
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_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_RecurringDonationID OpportunityId → Recurring Donation Opportunity Id
Make sure the Recurring Donation Opportunity record has a Primary Campaign based from the Campaign (RD is under Campaign)
Make sure the Recurring Donation Opportunity 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 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 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
When Contact record is created/updated with Address Unknown field ticked. An email notification will sent to the email address added in the Contact.
The Contact will click the Update Your Contact Details here button, which routes to the Update Contact Details page
Contact completes the necessary information and clicks the Update button
The BDE Item record is created with Pending Processing
...
After that you will see the changes at the Contact.
...
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
When Contact record is created/updated with Address Unknown field ticked. An email notification will sent to the email address added in the Contact.
The Contact will click the Update Your Contact Details here button on the email, which routes to the Update Contact Details page
Contact completes the necessary information and clicks the Update button
The BDE Item record is created with Pending Processing
...
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
View file | ||
---|---|---|
|