The Extra Fee extension allows creating a fee for mixed carts that will be applied to specific products in the cart only. To create such a fee, please go to Magento Admin Panel > Amasty Extensions > Extra Fee > Fees and create a fee with the value that you require. Here you can find an example both for a fixed fee and for a percent fee.
To define the products that fall under the fee, please go to the Calculation tab inside your fee, then proceed to the Fee Calculation Applicability section and select Apply Fees for - Each Product In the Cart. You can use the conditions tree to select a product attribute you'll be using to list the products. In this case, we're defining Category 4 (Bags).
Here you can see how the fees are applied to a mixed cart:
Even though this cart contains both Bags and Watches, the fee is applied to Bags only. Let's review each fee type separately:
1. Fixed surcharge per unit (Fixed fee type in backend settings). As we set it to be $12, it is multiplied by the number of units that correspond to the conditions in the Calculation tab. We have 3 Bags in the cart, so the final fee amount is $12*3 = $36;
2. Percent surcharge (Percent fee type). Again, the system locates all items that fall under the category condition we defined in the 'Calculation' tab, and calculates percentage from their subtotal. Here, Bag items cost $96 altogether, so fee amount is $96*10% = $9.6.
In the example above, a fixed fee is multiplied by the number of Bag items that are added to the cart. If you want to add a fixed fee only once per order, the configuration will differ.
For example, if you're setting up a fixed fee:
Please go to the Conditions tab and add a Product Attribute Combination condition.
Now you can select what products will trigger the fee. In this case, it's Bags category.
After entering the conditions, please proceed to the Calculation tab and make sure that the Apply Fees for setting is set to Whole Cart.
On the storefront, the fee won't be visible if there are no Bags in the cart:
It'll appear as soon as a Bag is added:
And its value won't change if you increase the amount of Bags in the cart: