RaiseNow supports specifying the record type for the following objects when processing transactions in Salesforce:
- Opportunity object when creating one-off donations.
- Contact object when creating one-off and recurring donations.
If you wish to specify custom records types within Salesforce, you have to specify at least the record types for the given object. By default, each object in Salesforce has a "Master" record type. Salesforce does not allow you to specify an optional record type in addition to the "Master" record type. Hence, if you only create one additional record type, that record type will become your default and will always be used, irrespectively of the settings explained below.
The user profile you used to authenticate RaiseNow with Salesforce must have access to both created record types and you must define a default. Here is an example of a valid configuration:
As you can see the user profile has been assigned a "Default" record type and a "Member" record type.
Please also check the Salesforce documentation on custom record types, their usage and implications.
If you define a record type but do not assign permissions in the corresponding user profile, the transaction will not be transferred to Salesforce. You will have to fix the permissions and retrigger the data transfer using the business process monitor provided by RaiseNow. The exception shown will look something like this:
Invocation "inv123456" of service "createContact" at destination "salesforce-managed-package" failed: Message: Record Type ID: this ID value isn't valid for the user: 0123XXAASDFASD
Tamaro must define a transaction parameter for the payment platform. The following snippet will set the required parameters for all Opportunities and Contacts: