Fooman Payment Surcharge (Magento 2)

  • Surcharges made easy

    Pass on expensive payment provider fees to customers - choose to add a fixed fee, percentage surcharge or combination.

    Or encourage customers to use cost-effective payment options by offering a discount for these payment methods.

    Integrated surcharge display

    Surcharges are automatically displayed in your Magento 2 store:

    • Checkout
    • Print Order page
    • My Account Order View page
    • Magento 2 customer sales emails
    • Pdfs generated by Magento

    Quick and easy to use

    Easily add, manage and delete surcharges in minutes. Do it all from the Magento backend without technical knowledge.

    Feature List

    • Add surcharges based on different payment methods (credit cards, Paypal, bank transfer, etc)
    • Surcharge details are automatically added to the checkout, Print Order page, Account Order View page, customer sales emails and pdfs generated by Magento (including Fooman Pdf Customiser)
    • Surcharge calculation options available: flat rate  /  percentage fee  /  flat rate + percentage fee  /  the higher of either flat fee or percentage fee
    • Set different surcharges on a per store basis (multi store capable)
    • Coded for maximum compatibility with other customisations. The code is implemented using Magento’s recommended customisation points (everything is implemented using extension attributes, events and plugins)
    • Tested by unit tests, integration tests and functional tests in accordance with good Magento 2 practice


    Future development roadmap

    • Add surcharge by credit card type (e.g. 5% for AMEX and 3% for Visa/Mastercard

    Need to add a small order fee surcharge? Check out the Fooman Small Order Fee extension.

    Existing Magento 1 Fooman Surcharge customers receive an exclusive discount on upgrading to this Magento 2 extension. Email us at and we'll hook you up!


    What Our Customers Say

    “Flexible extension and brilliant support. Of all the surcharge type extensions, this one seems to understand the complexities of Magento's payment system the best. And when I did run into problems, the support was prompt, friendly and highly effective. Highly recommended!”

    - Neil, review of Fooman Surcharge (Magento 1) via the Fooman website

    Money Back Guarantee Icon

    Money Back Guarantee

    We stand behind the quality of our extensions with a 30 day money back guarantee

    Free Updates Icon

    Free Updates

    All extensions include free updates for 12 months

    Simple User Manuals Icon

    Simple User Manuals

    Easy to understand user manuals show you how to get the most out of your extension

    Open Source Code

    Open Source Code

    Our code is 100% open source and unencrypted. Easily add your own customisations

    Quality Support Icon

    Quality Support

    Our friendly team provides expert product support and troubleshooting

    Easy Licensing Icon

    Easy Licensing

    One license per Magento installation, including multi store setups and test sites. Easy!

  • License License for 1 Magento Installation (including multi store setup)
    Stability Stable
    Supported Magento Versions (full feature set) Not Applicable
    Supported Magento 2 Versions 2.1.6, 2.1.7, 2.1.8, 2.1.9, 2.1.10, 2.1.11, 2.1.12, 2.1.13, 2.1.14, 2.1.15, 2.1.16, 2.1.17, 2.1.18, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 2.2.10, 2.2.11, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
    Legacy Magento Version Support (reduced feature set) Not Applicable
    Supported Magento Enterprise Versions Not Applicable
    Change Log [3.2.2] - 2020-04-28
    ### Added
    - Support for Magento 2.3.5
    ### Fixed
    - Empty string should not be translatable
    - Test compatibility with Magento 2.3.5 and Paypal updates
    [3.2.1] - 2020-01-24
    ### Added
    - Support for Magento 2.2.11 and Magento 2.3.4
    [3.2.0] - 2020-01-06
    ### Changed
    - Improve detection of Paypal Express Checkout
    [3.1.9] - 2019-10-08
    ### Added
    - Support for Magento 2.2.10
    [3.1.8] - 2019-10-07
    ### Added
    - Support for Php 7.3
    - Support for Magento 2.3.3
    [3.1.7] - 2019-10-01
    ### Added
    - Surcharge calculation for multi-address checkouts
    ### Fixed
    - Some payment methods pollute the payment config
    - Don't refresh payments if new method is not given
    - Improve handling of additional payment data by re-using the knockout context
    [3.1.6] - 2019-06-26
    ### Added
    - Support for Magento 2.3.2, 2.2.9 and 2.1.18
    [3.1.5] - 2019-05-01
    ### Fixed
    - Force reload on payment method change during admin order creation
    [3.1.4] - 2019-04-28
    ### Fixed
    - Don't use core payment method list as it's output has been unreliable
    - Surcharge preview, CheckoutAgreements error message has changed in 2.3.1
    [3.1.3] - 2019-03-28
    - Compatibility with Magento 2.3.1, 2.2.8 and 2.1.17
    - Initial MFTF acceptance test
    [3.1.2] - 2019-03-11
    - Ability to enter Surcharge Amounts tax inclusively
    - Do not run validation in preview mode for Purchase Order payment method
    - split refresh of totals into a 2-step process to improve integration with OneStepCheckout (likely from version 1.2.031)
    [3.1.1] 2018-12-20
    - Ability to restrict surcharges by country/region
    [3.1.0] 2018-12-03
    - Support for Magento 2.3
    [3.0.16] 2018-11-09
    - Factor out tax compensation amount when calculating subtotal
    - Re-instate tax extension attributes on quote load
    [3.0.15] 2018-11-08
    Make Paypal an optional dependency
    Include latest Surcharge Core and Fooman Totals with alternative approach to adding totals on quote loading
    [3.0.14] 2018-10-04
    Include Latest Surcharge Core to handle payment methods that create an invoice before saving the order object
    Extra integration test for immediate invoice creation
    [3.0.13] 2018-07-17
    Include Totals Fix: Trigger total collect on extension attributes on cart load to cater for split checkouts
    [3.0.12] 2018-07-03
    Include Surcharge Core Fix: Remove surcharges from other store views when switching stores in a multi-store environment
    Load payment refresh Javascript on Amasty Checkout
    [3.0.10] 2018-06-15
    - Ensure surcharges are always reset directly in the database
    [3.0.9] 2018-06-14
    - Add workaround for Magento not displaying all grouped payment methods (#13460)
    - Include Surcharge Core Fix: Avoid using subtotal with discounts as older versions of Magento incorrectly update it
    - Code Style Improvement: Use class constants
    [3.0.8] 2018-04-05
    Updated to include latest Surcharge Core 7.0.2+ providing fixes for configurable Surcharges when creating a refund
    [3.0.7] 2018-03-13
    Group Selector on older Magento versions
    [3.0.6] 2018-03-06
    Group Config can sometimes already be an array
    [3.0.5] 2018-03-06
    Ability to restrict surcharges based on min/max amount and groups
    Ability to configure Surcharge Amount while refunding
    [3.0.4] 2018-02-15
    Workaround for Magento missing tax amounts on invoices/creditmemos that are not last
    [3.0.3] 2018-02-07
    Extended Test Coverage
    [3.0.2] 2018-01-25
    Improved handling of terms and conditions

    Workaround for Aheadworks OneStepCheckout
    [3.0.1] 2018-01-22
    Package changed into a Metapackage - Implementation moved into fooman/surcharge-payment-implementation-m2 package
    Semantic versioning will only be applied to the implementation package
    [2.2.0] 2017-10-24
    Increase extensibility
    [2.1.0] 2017-09-18
    - Support for PHP 7.1
    - Support for Magento 2.2.0
    [2.0.3] 2017-08-09
    - Functional tests adapted to customisable descriptions
    [2.0.2] 2017-08-04
    - Updated to include latest Surcharge Core 3.0.0+
    [2.0.1] 2017-07-12
    - Custom Label
    - Added explicit php version compatibility
    [2.0.0] 2017-06-14
    - Totals calculation has moved into Surcharge Core
    [1.0.4] 2017-05-09
    - More wording changes
    [1.0.3] 2017-04-26
    Wording of setting

    [1.0.2] 2017-04-25
    Updated some terms in the admin
    Updated to latest Surcharge Core

    Rounding for Surcharge calculation

    [1.0.1] 2017-01-23
    Reset Totals on Selection Change

    [1.0.0] 2017-01-23
    First Release
  • Check out installation instructions, User Manual and FAQ over at the Support Centre.

    Installing this Magento extension requires a moderate knowledge of website maintenance.
    Or select professional extension installation at checkout (or from here if you've already ordered your extension), and we'll install the extension for you.

    Extension Updates

    Free extension updates are available for 12 months after your initial purchase. When a new version is released, the file will be available to download from your account on the Fooman website, under “My Downloadable Products”.


    Installation Instructions
    User Manual
  • Below, you can find answers to questions you might have about the extension functionality, and common questions asked by customers before they purchase the extension.

    Do you have a general question (eg. about licensing or your account), or a specific troubleshooting issue? Check out our Help Centre.

    Frequently Asked Questions

    What kind of payment surcharges can I add with this extension?
    You can add as many different surcharges as you like based on your store's payment methods - including credit cards, Paypal, Stripe, bank transfer, check, Afterpay and more.

    You can't yet add different surcharges for different credit card types (e.g. 5% for AMEX but only 3% for Visa/Mastercard). This feature is on our roadmap for future development.

    Based on our experience with Magento 1 and surcharges, certain custom payment methods (those which send cart contents but do not honour Magento custom totals like surcharges) may not be compatible with Fooman Payment Surcharge. Our extensions include a 30 day money back guarantee, so feel free to test out the extension with any custom payment method if you suspect it may not not honour Magento custom totals.

    Am I permitted to charge a surcharge for credit card payments?
    Please check your individual credit card contractual agreement, as it varies from country to country and from payment provider to payment provider. As an alternative to charging a surcharge on credit card payments, you can usually apply a discount to non credit card payments (eg. cash payment/bank transfer).

    Will Fooman Payment Surcharge work with my one step checkout?
    The extension is tested with default Magento payment methods and is compatible with Magento 2's default one page checkout. Generally, third party one step checkout extensions which adequately replace Magento 2's default functionality are compatible with Fooman Payment Surcharge. If your one step checkout extension ticks the following boxes, the chances are good that Fooman Payment Surcharge will work out of the box:

    • Upon switching of the payment method, the review section reloads
    • Custom Totals are displayed
    • Custom Totals are displayed using their configured block
    • Settings are honoured
    • Totals sort order is honoured

    The ones that don't work out of the box are most often the ones that look at the individual cart items instead of charging the grand total of the order while neglecting custom totals (due to the way the one step checkout extension is coded which is beyond the control of Fooman). Rest assured that our extensions include a 30 day money back guarantee, so feel free to test out the extension on your own development site with other extensions.

    How many different payment method surcharges can I set up?
    As many as you want to - there's no limit.

    How do I make sure I'm using surcharges the right way?
    There is no one right way to use surcharges. Every store is different, and you know your customers best. Here are some of our tips on how to use Surcharges without turning your customers off.
    Read the full post here.

  • 3 Item(s)
    Review by Tjitse at Vendic
    Great extension, even better support
    Everything works as intended and the Fooman support is great. We use Fooman modules all the time and we're impressed with the quality. (Posted on 1/12/2017)
    Review by Alexander
    solid work
    Great extension, just one that we need to meet client requirements. We had a minor issue for very specific use case that Kristof resolved very quickly. (Posted on 28/06/2017)
    Review by Andreas von Studnitz
    Everything works as intended, and the code quality is really good. The code is easy to read and extend. Also, the support is fast and helpful as I was asking for future features. The module is more than worth the money. (Posted on 24/05/2017)
    3 Item(s)

    Add your Review

    Only registered users can write reviews. Please

License Purchase