> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tabby.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Magento 2 Plugin Installation

<Note>
  To access the latest features and updates, you can easily update the plugin via <a href="/e-commerce-platforms/magento-2/magento-2-plugin-installation#using-composer">Composer</a>.
</Note>

<Note>
  Tabby works on the Magento 2 platform for all supported countries.
</Note>

## Installation Steps

<Steps>
  <Step
    stepNumber={1}
    title={(
  <span>
    <a href="https://merchant.tabby.ai/">
      Register with Tabby
    </a>
    <span style={{ fontWeight: 'normal', fontSize: '0.9em' }}>
      &nbsp;(KSA: <a href="https://merchant.tabby.sa/">merchant.tabby.sa</a>)
    </span>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;and fill all the business details
    </span>
  </span>
)}
  />

  <Step
    stepNumber={2}
    title={(
  <span style={{ fontWeight: 'normal' }}>
    Go to Stores -<span>&gt;</span> All Stores page and provide the Store Codes to Tabby account manager. Then receive Test API Keys
  </span>
)}
  />
</Steps>

<img className="product-shot" alt="Store codes" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-stores.avif?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=47850b2859fa5ed951d6061ed59efa93" width="2304" height="350" data-path="images/m2-stores.avif" />

<Steps>
  <Step
    stepNumber={3}
    title={(
  <span>
    Download Tabby
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;extension&nbsp;
    </span>
    from the Adobe store:&nbsp;
    <a href="https://commercemarketplace.adobe.com/tabby-m2-payments.html">
      https://commercemarketplace.adobe.com/tabby-m2-payments.html
    </a><br />
    <span style={{ fontWeight: 'normal' }}>
      If due to any reason the Adobe store cannot be used - download the extension from&nbsp;
    </span>
    <a href="https://storage.googleapis.com/plgns/magento2-latest.tar.gz">
      here
    </a>
  </span>
)}
  />

  <Step
    stepNumber={4}
    title={(
  <span>
    <a href="/e-commerce-platforms/magento-2/magento-2-plugin-installation#2-ways-to-install-update-the-magento-2-extension">
      Install the plugin
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;and&nbsp;
    </span>
    <a href="/e-commerce-platforms/magento-2/magento-2-plugin-installation#configure-tabby-as-a-payment-method">
      configure Tabby as a payment method
    </a>
  </span>
)}
  />

  <Step
    stepNumber={5}
    title={(
  <span>
    <a href="/e-commerce-platforms/magento-2/magento-2-plugin-installation#test-your-integration">
      Test your integration
    </a>
  </span>
)}
  />

  <Step
    stepNumber={6}
    title={(
  <span>
    <span style={{ fontWeight: 'normal' }}>
      Receive live API keys and&nbsp;
    </span>
    <a href="/e-commerce-platforms/magento-2/magento-2-plugin-installation#connect-to-the-live-tabby-environment">
      deploy to production
    </a>
  </span>
)}
  />
</Steps>

**Important Note**

* Install the extension in your sandbox or staging environment before pushing it live.
* Keep a copy of your Magento store and database to ensure you can revert to the version before the installation.
* If you set up Tabby plugin on your Staging site and copy this configuration to Production site, make sure you go to Tabby plugin settings and click Save to enable all settings and webhooks for on Production site.
* You may need to re-index all the produce and category tables after the extension is installed.

## 2 ways to install/update the Magento 2 Extension

### Using Composer

1. Add Tabby module to composer dependencies
2. Install the defined dependencies
3. Turn on Tabby module in Magento
4. Upgrade Magento database
5. Recompile your project
6. Deploy static view files

Here needed commands are shown:

```
composer require tabby/m2-payments
composer update
php bin/magento module:status
php bin/magento module:enable Tabby_Checkout Tabby_Feed
php bin/magento setup:upgrade
php bin/magento deploy:mode:set developer
php bin/magento deploy:mode:set production
```

#### Additional Commands

During the plugin installation / update the following error might occur: **"Higher matching version 7.0.1 of tabby/m2-payments was found in public repository packagist.org"**:

<img className="product-shot" alt="Example of higher matching version error during plugin installation / update" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-error.png?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=2cfe26bab122126e17382c1fe8a9e2a2" width="1139" height="231" data-path="images/m2-error.png" />

In this case you need to manually set the version for tabby m2-payments to the higher matching version of tabby/m2-payments in public repository packagist.org, e.g.:

```
tabby m2-payments >= 7.0.1
```

### Using Command Line

1. Download the extension from the Adobe store: <a href="https://commercemarketplace.adobe.com/tabby-m2-payments.html" rel="noopener noreferrer" target="_blank">[https://commercemarketplace.adobe.com/tabby-m2-payments.html](https://commercemarketplace.adobe.com/tabby-m2-payments.html)</a><br />
   If due to any reason the Adobe store cannot be used - download the extension from <a href="https://storage.googleapis.com/plgns/magento2-latest.tar.gz">here</a>

2. If it does not exist, create the directory **Magento2\_root/app/code/Tabby/Checkout/**

3. Unzip the extension and move all the files to **Magento2\_root/app/code/Tabby/Checkout/**

4. In the Magento 2 root directory run the following command to verify that **Tabby Checkout** exists in the **List of disabled modules**:

   ```
   php bin/magento module:status
   ```

5. In the Magento 2 root directory run the following commands:

   ```
   php bin/magento setup:upgrade
   php bin/magento deploy:mode:set production
   ```

6. Clear the Magento 2 cache to use the default Magento 2 Tabby configuration

## Configure Tabby as a Payment Method

After installing the extension, enable Tabby as a payment method by updating Magento 2’s configurations:

1. Sign in to your Magento 2 admin portal
2. Go to ***Stores > Configuration > Sales > Payment Methods > Tabby Payments***
3. Go to **Tabby API** and configure the following settings:

* Enter the **Public API Key** and **Secret API Key** for testing
* Capture On - Order placed (required)
* Enable **Tabby Installments** (Pay later with Tabby) payment methods

An example of Tabby API settings:

<img className="product-shot" alt="Tabby settings 1" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-settings-1.webp?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=023be7e87bcb2fb0e4f66e67d6bfc1c0" width="2304" height="1159" data-path="images/m2-settings-1.webp" />

<img className="product-shot" alt="Tabby settings 2" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-settings-2.webp?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=458b75e3c0a0d291a4421173bfd65f2b" width="2304" height="1167" data-path="images/m2-settings-2.webp" />

<img className="product-shot" alt="Tabby settings 3" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-settings-3.webp?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=ed7d8ba816ebf953e2166fb2537fa6df" width="2304" height="1152" data-path="images/m2-settings-3.webp" />

### Manage Tabby Product Catalogue Feature

<Warning>
  <div>
    <span>Kindly note that Tabby Product Catalogue Feature works with </span>
    <span style={{ textDecoration: 'none', fontWeight: 'bold' }}>Live API Keys</span>
    <span> only.</span>
  </div>
</Warning>

1. Sign in to your Magento 2 admin portal
2. Go to ***Stores > Configuration > Sales > Payment Methods > Tabby Payments***
3. Go to **Tabby Feed** and configure the setting

<img className="product-shot" alt="Tabby Feed setting" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-tabby-feed.avif?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=5e7ae6eebd2a4b7fb552aa3052b2073c" width="2304" height="1099" data-path="images/m2-tabby-feed.avif" />

<Note>
  For multi-store setup - in case you use the same store\_code for different websites (different countries) you need to enable Use local currency on the checkout setting from Tabby API settings tab. Please inform your integration manager about such changes.
</Note>

If these changes do not take effect immediately:

1. In the Magento admin panel, go to ***System > Cache Management***
2. Click **Flush Magento Cache**
3. Sign out
4. Sign back in to reset permissions

### Test Your Integration

After completing your integration, make an order and refund it (create a Credit Memo) to ensure that everything works as expected.

**Coordinate Testing with Tabby**

Before deploying Tabby integration to your production site, Tabby needs to validate the correctness of the integration. Contact your account manager to coordinate this test.

### Connect to the Live Tabby Environment

1. Get your Live Public and Secret keys for the live environment. Ask your account manager to share the keys.
2. Set your public and secret keys in the Magento admin panel, go to ***Stores > Configuration > Sales > Payment Methods > Tabby***
3. **Launch to Production**<br />
   After you’ve connected to the live environment and we’ve tested your integration, you’re ready to deploy to your production environment and offer Tabby payment methods to your customers.

## Specific Settings

### No Price snippet

It is possible to turn on non-standard Tabby snippets in ***Stores > Configuration > Sales > Payment Methods > Tabby***, parameter ***Promotions theme*** should have **:non-standard** specified:

<div className="product-shot-figure">
  <img className="product-shot" alt="Promotions theme" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-non-standard.avif?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=7e4b0744f65625d34fe8f47c07807432" width="2304" height="1093" data-path="images/m2-non-standard.avif" />

  <p className="product-shot-caption">Promotions theme</p>
</div>

<img className="product-shot" alt="No price snippet" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/no-price-0625.png?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=d10ddd5c2bb788afd5d06f5d3460ee21" width="2530" height="1548" data-path="images/no-price-0625.png" />

<div className="product-shot-figure">
  <img className="product-shot" alt="No price pop-up" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/no-price-pop-up-0625.png?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=5ace8b39cfa5c09b95742d70df1af926" style={{ width: '200px', height: 'auto' }} width="456" height="1686" data-path="images/no-price-pop-up-0625.png" />

  <p className="product-shot-caption">No price snippet</p>
</div>

### Promotions Only Mode

It is possible to set Tabby plugin for promotion purposes only if Checkout integration was done with another provider: the plugin will only enable PDP / Cart page snippets.

For this setup go to ***Stores > Configuration > Sales > Payment Methods > Tabby***, parameter ***Tabby plugin mode***, and select ***Promotions only*** there:

<div className="product-shot-figure">
  <img className="product-shot" alt="Promotions only mode" src="https://mintcdn.com/tabby-5f40add6/P693KbtvGHftcJLw/images/m2-promotions-only.avif?fit=max&auto=format&n=P693KbtvGHftcJLw&q=85&s=4767c4c50e90b930ddce6596f99f8a16" width="2304" height="745" data-path="images/m2-promotions-only.avif" />

  <p className="product-shot-caption">Promo only mode</p>
</div>
