Salesforce
Tabby works on the Salesforce Commerce Cloud platform for all supported countries.
Installation Steps
Register with Tabby and fill all the business details
Receive your Testing API keys from your Tabby account manager
Download and install Tabby Cartridge for your platform:
To download SFRA (Store Front Reference Architecture) Cartridge, click here
To download SiteGenesis Cartridge, click here
Test your integration and contact Tabby to have a green light for going live
Collect your Live API Keys, populate them for your store, make sure Live Webhooks are installed. You are ready for going live now
Salesforce integration supposes adding the necessary cartridges into an SFCC reference application.
Tabby cartridge package contains 3 folders:
- int_tabby_core – Tabby core implementations both for Sitegenesis and SFRA
- int_tabby_sfra – Tabby SFRA changes/implementations
- bm_tabby – Tabby Business Manager module
Compatibility: SFRA v6.0.0 Compatibility Mode 21.7
Cartridges Installation
Adding Cartridges in Salesforce Commerce Cloud Studio
- Open package.json and ensure the base path mentioned is correctly resolved (please provide the correct path to app_storefront_base)
- Open the command prompt and run ‘npm install’ (assuming node.js (12.21.0 and above) is installed) to install all of the local dependencies
- Run the “npm run compile”
- Create the dw.json file:
- Upload this code to the environment using the command ‘npm run uploadCartridge’, that will upload the int_tabby_core , int_tabby_sfra and bm_tabby cartridges to the sandbox you specified in dw.json file
Activating Cartridges in Business Manager
Before Tabby functionality can become available to Reference Architecture, the cartridges need to be added to the cartridge path of the site. In order to do this, follow the following instructions:
- Log into Business Manager
- Navigate to Administration -> Sites -> Manage Sites
- Click on the site name
- Go to the “Settings” tab
- In the textbox cartridges add int_tabby_sfra:int_tabby_core before app_storefront_base
example: int_tabby_sfra:int_tabby_core: app_storefront_base
- Click Apply
- Repeat steps 3 to 5 for each site that is to use Tabby
- To run the Jobs and have tabby BM module, Navigate to Administration -> Sites -> Manage Sites
- Go to the “Manage the Business Manager site” tab
- In the textbox cartridges add int_tabby_core:bm_tabby to the start
Configuration
Importing Meta Data with a single Site Import
All import files are located in the import folder (metadata) within the cartridge installation pack. To import necessary Tabby settings:
- Open the metadata folder from the repository structure (open jobs.xml) and change the references of RefArchGlobal to your site id;
- Open the metadata/sites folder from the repository structure and change the folder name from RefArchGlobal to your site id. If you have multiple sites with Tabby, then copy RefArchGlobal folder and rename it with your other site id(s).
- Open the metadata/sites/YourSiteID/preferences.xml file from the repository structure;
- Fill in tabbyServiceCredentialPublicKey and tabbyServiceCredentialSecretKey with keys provided by your account manager from Tabby;
- Fill in tabbyWebhooksTitle and tabbyWebhooksValue values;
- Compress the metadata folder from the repository structure;
- Log in to the Business Manager and navigate to Administration -> Site Development -> Site Import & Export, upload the zipped folder, go back and use the import button to import the file;
- After a successful import, the entire configuration requirements needed for Tabby are available according to your Tabby account data.
Managing Tabby Custom Site Preferences
In Business Manager, navigate to the Site -> Merchant Tools -> Site Preferences -> Custom Preferences. A custom site preference group “Tabby” is available. Please select it and edit the attributes according to your Tabby account data.
Site Preference | Description | Values |
Is Tabby Enable | This field represents the enable/disable tabby implementation. | Boolean: True/FalseDefault: True |
Tabby Environment | This field represents the type of the environment. | Enum of String: Development -> Development instancesProduction -> Production instancesDefault: Development |
Service Credential Public Key | This field represents the tabby service credential public key (pk_…). | String: (Mandatory) The public API key that Tabby provided to you |
Service Credential Secret Key | This field represents the tabby service credential secret key (sk_…). | String: (Mandatory) The secret API key that Tabby provided to you |
Is Tabby Installments Enable | This field represents the Installments payment method is enabled. | Boolean: True/False Default: True |
Is Tabby Credit Card Installments Enable(Deprecated) | This field represents the Credit Card Installments payment method is enabled. | Boolean: True/False Default: False |
Is Tabby Pay Later Enable | This field represents the Pay Later payment method is enabled. | Boolean: True/False Default: False |
Immediate Capture On Authorize | This field represents if the Immediate Capture on Authorize is enabled. If Yes -> Capture request will be triggered automatically after success Authorization. If No -> Tabby-Capture scheduled job will send the capture request. | Boolean: True/False Default: True |
Installments Count | This field represents Installments counts. | Integer:Default: 4 |
Tabby Merchant Code Per Country | This field represents the Merchant codes per country in a JSON format: { “AE”: “uae”,“SA”: “ksa”,“KW”: “kwt”} | Text (JSON) { “AE”: “uae”,“SA”: “ksa”,“KW”: “kwt”} - need to define Site countries only. |
Card Size | This field represents the tabby card size, can be narrow or wide, depending on the width | Enum of String: Narrow/Wide Default: Narrow |
Card Theme | This field represents the tabby card theme, can be default or black, depending on the styles | Enum of String: Default/Black Default: Default |
Webhooks Title | This field represents the arbitrary header name to sign the request for the webhooks.Will be used to verify webhook requests that tabby system sends. | String: |
Webhooks Value | This field represents the random string to sign the request for the webhooks.Will be used to verify webhook requests that tabby system sends. | String: |
Managing Tabby Payment Processor
In Business Manager select the required site from the dropdown and navigate to Merchant Tools -> Ordering -> Payment Processors.
Managing Tabby Payment Methods
In the integration package, a payment method definition is provided in the file that you have already imported
- Navigate to Merchant Tools -> Ordering -> Payment Methods;
- Enable/Disable the Payment Method under Ordering -> Payment Methods section that needs to be activated. Repeat these steps for all the Payment Methods that are required to be supported on the site.
Managing Jobs
In the integration package, a job definition is provided in the import zip (metadata.zip) file (jobs.xml). Make sure to associate the jobs with the respective merchant site.
Tabby-CaptureShippedOrders
It captures the payments that are authorized by Tabby. This job fetches the orders which have confirmationStatus=CONFIRMED, paymentStatus=NOTPAID, shippingStatus=SHIPPED and custom.tabbyPaymentStatus: AUTHORIZED.
Script file: int_tabby_core/cartridge/scripts/jobs/capture.js
If the site preference “Immediate Capture On Authorize” is set to “True”, it is not necessary to enable this job.
Tabby-RegisterWebhooks
It registers the Webhooks for the sites defined by merchantcodes from the “Site preference” tab. Each merchant_code needs to be registered separately. This job is a one time job to register the Webhooks. It is important to fill in “Webhooks Title” and “Webhooks Value” in the “Site Preferences” before running this job.
Script file int_tabby_core/cartridge/scripts/jobs/webhooks.js
Tabby-Feedback
It processes the TabbyFeedback custom objects that are saved within the TabbyWebhooks-Process endpoint. Custom object details are to compare with the order payment statuses. If there is a difference between the order/payment status, the job will synchronize the order/payment statuses based on the TabbyFeedback details.
Script file int_tabby_core/cartridge/scripts/jobs/feedback.js
Tabby Business Manager Module
The cartridge for Business Manager module bm_tabby is present in the installation package. It helps processing capture and refund APIs. To enable/activate it, do the following:
- Navigate to Administration -> Organization -> Roles & Permissions;
- Click Administrator in the Roles;
- Click Business Manager Modules;
- Select the sites where you have Tabby;
- Click Apply;
- Scroll to Ordering -> Tabby Orders and check the checkbox;
- Click Update at the bottom of the page;
Once it is enabled, “Tabby Orders” will be placed under Merchant Tools > Ordering
Was this page helpful?