Deploying Commerce Extensions
This document details the steps to successfully configure the MoveData Commerce Extensions
To install the MoveData Commerce Extensions, please install via the Settings -> Extensions interface or use the https://api.movedata.io/installer/commerce-extension link. If you are running an existing version of MoveData, you may be required to update your version. This can be done via MoveData' listing on the Salesforce AppExchange.
The Commerce extensions use Salesforce Opportunities and Products. This requires an active Price Book.
Out of the box, the extension defaults to the
Standard Price Bookwhich is the Salesforce default for managing products. This must be marked as
activeand isn't a straightforward as it would seem.
Searching for the Standard Price Book
To mark the
Standard Price Bookas
active, click the search bar at the top of the Salesforce user interface, toggle the scope to
Price Booksand search for
Standard Price Book. Edit the record and mark as
By default, Salesforce doesn't have record types enabled on Opportunities. However, it is often required by customers that opportunities are segmented by types -- for example, Ticket Sale, Donation, etc. Customers using Salesforce' NPSP platform will have record types enabled.
If record types are enabled, the record type set for any opportunity will be the default record type flagged on the executing user's profile (which is the user that MoveData creates records under).
For NPSP users, this is often configured to 'Donation' or 'NPSP Default'. In this scenario, any transactions created by the MoveData Commerce Extensions will also use this default.
To set a different default for the Commerce Extensions, a different record type must be specified. This must be done via the Developer Console using the
Execute Anonymouscommand window; this is a temporary measure prior to implementing a user interface within the extension's setting screen.
Firstly, you must know the
Record Type Name; this is different to the
Record Type Label. This can be found on the Opportunity configuration via Object Manager under Setup.
Finding an Opportunity Record Type via Object Manager
Using the above example, we are looking for Ticket Sale. This Ticket Sales record type has been manually created. Opening the Ticket Sale record reveals it has a
Record Type Nameof
Ticket_Sale. This name will be used as part of the next configuration step.
Opening the Execute Anonymous window on the Developer Console, you must execute the following command to link all Commerce-generated Opportunities to the selected record type:
movedata.ExtensionSetting.SetRecordTypeValue('md_comm_pack', 'OrderCommerce', 'Ticket_Sale');
This command tells MoveData to use the Ticket Sales record type for all Opportunities created as part of the Commerce package (md_comm_pack).
The Commerce extension flows have the following phases and can be extended like other MoveData extensions:
- Order (Finaliser)
For developers looking to implement extension flows, we recommend looking at the MoveData Pipeline Settings in Custom Metadata Types under Setup. These entries are used to tell MoveData which Flows to execute and in which phase & order.
At present, the only integrated platform using Commerce extensions is Raisely. In addition to the donation notifications, ticket notifications can be enabled via a Raisely integration in the MoveData Integration tab.
Editing a Raisely integration for Tickets
To enable tickets within MoveData for Raisely, select the
V2: Donation and Ticketsprocessor version and an appropriate fee allocation method. The fee allocation method determines where the Raisely platform and gateway fees are stored.
Within Raisely, you must enable the following events for API webhooks used by MoveData:
Events supported by Raisely Tickets
Please Note: There is no support for refunds that include ticket sales; impacted records must be manually modified. This is due to significant complexity in accurately supporting all permutations and fee combinations.