Fooman Payment Surcharge (Magento 2)

  • Why should you use a Magento 2 payment surcharge? Sharp base product prices are essential for attracting customers and keeping your abandoned cart rate low.

    By using targeted surcharges to recover your highest payment provider fees (while offering your lowest cost payment options without a surcharge), you can keep your standard product pricing low and keep your customers happy.

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

    Surcharges made easy

    Pass on expensive payment provider fees to customers. Add surcharges based on different payment methods, for example:

    • Credit cards
    • Paypal
    • Bank transfer
    • Plus many more

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

    Payment surcharges are automatically displayed in your Magento 2 store using our Payment Surcharge plugin

    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
    • Backend order, invoice and credit memo
    • Pdfs generated by Magento (including order, invoice, shipment and credit memo pdfs), including the great-looking pdfs you can create using Fooman Pdf Customiser
    Easily add, manage and delete surcharges in minutes using our Magento 2 Payment Surcharge extension

    Quick, easy and flexible payment surcharges

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

    Choose from four different surcharge calculation options:

    • Fixed fee ($5)
    • Percentage surcharge (3%)
    • Combination of fixed + percentage fees ($5 + 3%) 
    • The higher of the fixed fee ($5) or percentage surcharge (3%) based on order amount
    Set different surcharges on a per store basis (multi store capable).
    Surcharge customers in specific countries

    Payment surcharges by customer type

    Flexible options mean you can target the customers you need to with surcharges - and avoid adding payment provider fees onto others.

    Add Magento 2 payment fees by:

    • Customer group/s
    • Customer country (by billing or shipping address)
    Payment Surcharge Magento 2 extension

    Quality Magento 2 code

    • Coded for maximum compatibility with other customisations
    • Code is implemented using Magento’s recommended customisation points (everything is implemented using extension attributes, events and plugins)
    • No modification of Magento core database tables
    • Tested by unit tests, integration tests and functional tests in accordance with good Magento 2 practice
    • Lightweight, modular extension for targeted Magento 2 payment surcharges
    • Unlike other extensions, Fooman offers true compatibility and integration with Magento tax settings and calculations

    Other Features

    • Create an unlimited number of surcharges and combinations
    • Flexible surcharge refund options - choose to refund the surcharge in full, in part or not at all

    Future development roadmap - add surcharge by credit card type (e.g. 5% for AMEX and 3% for Visa/Mastercard)

    Existing Magento 1 Fooman Surcharge customers receive an exclusive discount on upgrading to this Magento 2 extension. Email us at

    You Might Also Like

    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  via the Fooman website

    Trusted By

    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, 2.3.6, 2.4.0, 2.4.1
    Legacy Magento Version Support (reduced feature set) Not Applicable
    Supported Magento Enterprise Versions Not Applicable
    Change Log [3.3.1] - 2020-10-15 ### Added - Compatibility with Magento 2.4.1 and 2.3.6 [3.3.0] - 2020-07-29
    ### Added
    - Compatibility with Magento 2.4.0
    - Support for Php 7.4
    [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