Deploying Commerce Extensions

This document details the steps to successfully configure the MoveData Commerce Extensions

Install

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.

Configuration

Price Books

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 Book which is the Salesforce default for managing products. This must be marked as active and isn't a straightforward as it would seem.

To mark the Standard Price Book as active, click the search bar at the top of the Salesforce user interface, toggle the scope to Price Books and search for Standard Price Book. Edit the record and mark as active.

Record Types

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 Anonymous command 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 theRecord Type Label. This can be found on the Opportunity configuration via Object Manager under Setup.

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 Name of 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).

Extension Flows

The Commerce extension flows have the following phases and can be extended like other MoveData extensions:

  • Account

  • Contact

  • Campaign

  • Catalog

  • Order

  • OrderItem

  • 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.

Integrations

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.

To enable tickets within MoveData for Raisely, select the V2: Donation and Tickets processor 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:

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.

Last updated