• Supported SFRA Version: 6.0 ~ 6.3
  • Node.js: v12.21.0 is recommended by SFRA. You can use to install specific Node version.

Setup SFRA Base Dependency

  1. Download SFRA base: Follow the instruction and download the SFRA base repository

  2. Unzip the SFRA base package to ../storefront-reference-architecture-master to match the base path defined in package.json file.


  1. Run npm install; npm run compile:js; npm run compile:scss in the SFRA base path.

  2. Run npm install; npm run compile:js; npm run compile:scss in the Smartpay cartridge path.


Use your preferred tool to upload the compiled cartridge to your SFCC server.

Here's example steps of uploading the cartridge using VSCode & Prophet Debugger Extension.

  1. Install Prophet Debugger Extensions: Open VS Code and install the Prophet Debugger from the marketplace.

  2. Configuration: Create these files at the .vscode folder of your project. Populate it with your sandbox credentials and settings.


        "version": "0.2.0",
        "configurations": [
                "type": "prophet",
                "request": "launch",
                "name": "Attach to Sandbox"


  3. Upload the Cartridges: Run Prophet: Clean project/Upload All.

Business Manager Configurations

For the Smartpay integration to work, the following needs to be configured in the Business manager.

Activating the cartridge in Business Manager

Before Smartpay becomes available for your shoppers, the cartridges have to be added to the cartridge path of the Site. In order to do this, follow the following instructions:

  1. Log into Business Manager.
  2. Navigate to Administration > Sites > Manage Sites.
  3. Click on the site name and on the next page go to the Settings tab.
  4. In the Cartridges input field add int_smartpay_sfra:int_smartpay_core:bc_smartpay: in front of the base cartridge path.
  5. Click on the Apply button.
  6. To activate the cartridge for the Sandbox/Development/Production instances repeat steps 4 and 5 after selecting the appropriate instance from the Instance Type dropdown menu.
  7. Repeat steps 3 to 6 for each site that is to use Smartpay.
  8. Go to Manage the Business Manager site.
  9. In the Cartridges input field prepend bm_smartpay:int_smartpay_core:.
  10. Click on the Apply button.

Enable Cartridge Module

To enable the Cartridge module

  1. Go to Administration > Organization > Roles & Permissions.
  2. Click on Administrator and click on the Business Manager Modules tab.
  3. In the Select Context dialog, check your site ID checkbox and click the Apply button.
  4. Find Smartpay and check the checkbox to enable it.
  5. Click on the Update button.

Importing Metadata

For the Smartpay integration to work, the following object structures (metadata) needs to be imported and configured in the Business manager.

  1. In the cartridge bundle find metadata/ smartpay-meta-import/sites/RefArch folder.
  1. Rename this RefArch folder to the ID of your site. If you have multiple sites to which these meta has to be imported, then copy and paste this RefArch folder to replicate for other sites. Renames those folders with ID of corresponding sites.
  2. Modify context site-id value of the jobs.xml file to your site ID.
  3. In the cartridge bundle, inside metadata folder, compress smartpay-meta-import folder to generate file.
  4. Go to Business Manager Menu > Administration > Site Development > Site Import & Export
  5. Under Import > Upload Archive ensure that the Local radio button is enabled.
  6. Click on the Choose File input field, select the file you just created and click on the upload button.
  7. After finishing the upload, from the Archives list click the radio button corresponding to and click on the Import button.
  8. Click on the OK button of the confirmation box asking, Are you sure that you want to import the selected archive?

After the successful metadata import, the following attributes should have been created:

Custom Site Preferences

In Business Manager, navigate to the Merchant Tools > Site Preferences > Custom Preferences. Custom site preference groups with the ID Smartpay Settings will be available.

Please select it and edit the attributes according to your Smartpay account data.

For each site, set the values for your site preferences.

  1. Is Smartpay Enabled (ID: isSmartpayEnabled, Type: Boolean) – Enable and disable Smartpay and its functionality in a single point.
  2. Api Secret (ID: smartpayApiSecret, Type: String) – Api secret of Smartpay.
  3. Payment Mode (ID: smartpayCaptureMethod, Type: Enum of Strings) – Select transaction type.
  4. Minimum Checkout Value (ID: smartpayMinPrice, Type: String) – Set minimum amount of order in order to select Smartpay.
  5. Maximum Checkout Value (ID: smartpayMaxPrice, Type: String) – Set maximum amount of order in order to select Smartpay.
  6. Orders Created Time(ID: smartpayOrdersCreatedTime, Type: String) – Find the orders behind this given time. Set time in minutes.

Payment Methods

Under Merchant Tools > Ordering > Payment Methods, check that payment method with ID ‘SMARTPAY’ is created.

Payment Processor

Under Merchant Tools > Ordering > Payment Processors, check that payment processors with ID ‘SMARTPAY’ is created.

HTTP Services

Under Administration > Operations > Services, check that service with ID ‘smartpay.http.generic is created.


Under Administration > Operations > Jobs, check that job with ID ‘SmartpayPlaceOrder’ is created.