In some instances users may come across error messages similar to the following after the package has been upgraded to version 2.17.1 or above. For example, when trying to create a payment or an authorisation from Salesforce Site or Community.
Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, asp04.PaymentTrigger: execution of BeforeInsert caused by: asp04.SecurityViolationException: Class PaymentHelper, object Payment__c Class.asp04.PaymentHelper: line 9, column 1 Trigger.asp04.PaymentTrigger: line 8, column 1: []
Upsert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, asp04.AuthorisationTrigger: execution of BeforeInsert caused by: asp04.SecurityViolationException: Class AuthorisationHelper, object Authorisation__c Class.asp04.AuthorisationHelper: line 9, column 1 Trigger.asp04.AuthorisationTrigger: line 8, column 1: []
The issue stems from insufficient permissions following a change made in the package which introduced a new security feature called Data Integrity Token (DIT). Regardless if the DIT security feature is enabled or not, 'Read' permission is required on these fields for the user that has encountered the error
Object name | Field name |
Asperato Authorisation (asp04__Authorisation__c) | Data Integrity Token (asp04__Data_Integrity_Token__c) |
Asperato Payment (asp04__Payment__c) | Data Integrity Token (asp04__Data_Integrity_Token__c) |
Without 'Read' permission the system cannot check if the DIT security feature is active and therefore error message is thrown.
In addition to the above it is also necessary to assign 'Read' permission on this field when the error is encountered in package versions 2.19+
Object name | Field name |
Asperato Payment (asp04__Payment__c) | Success+enabled (asp04__Success_plus_enabled__c) |
Additional information in relation to this field for the Success+ feature is available in release notes.