Every payment gateway charges a processing fee. Stripe takes 2.9% plus 30 cents. PayPal has its own rate. Bank transfers carry handling costs. For most Odoo store owners, those fees come straight out of the margin because standard Odoo eCommerce has no built-in way to pass them on to the customer at checkout. The only options have been to absorb the cost silently, raise prices across the board, or commission a custom development that needs maintaining through every Odoo upgrade. The Odoo eCommerce Payment Surcharge module by Creyox Technologies changes that calculation entirely.
The Problem with Standard Odoo eCommerce Payment Handling
Out of the box, Odoo eCommerce does not support per-method payment surcharges. The payment provider configuration in Odoo 17 and 18 includes fields for fixed fees and percentage fees on certain providers but this is a legacy feature tied only to specific acquirers (historically PayPal), it is not universally available, it does not surface clearly on the checkout page before the customer confirms, and it does not create a traceable line on the resulting sale order. If you operate across multiple payment methods say, Stripe for cards, Wire Transfer for B2B customers, and a local payment gateway for regional buyers you have no native way to apply different surcharges to each one and show those charges transparently during checkout.
The workaround most businesses reach for is a blanket price increase, which penalizes customers who use cheaper payment methods. Another common approach is simply absorbing gateway fees as a cost of sale. Neither is a good business answer. The real requirement is a payment fee that fires automatically when a specific provider is selected, calculates in real time based on the order total, shows up in the amount summary before the order is placed, and lands on the sale order as a proper line item. That is precisely what this module delivers.
Overview
This module lets you configure and apply additional charges based on the payment method a customer selects during checkout. Each payment provider in your Odoo backend gets its own Extra Fees configuration page, where you define the charge type, the amount or rate, and optionally the order value conditions under which the fee applies. When a customer reaches the checkout page and selects a payment method, the calculated surcharge appears immediately next to that method and is added to the amount summary. The fee is not hidden in the order total; it is visible, labeled, and traceable. If the customer switches to a different payment method, the fee updates instantly to reflect the new provider's configuration. The resulting sale order in the backend includes a dedicated Payment Fee line, making reconciliation and reporting straightforward.
Hot Features
◆ Configure Payment Gateway Charges
◆ Fixed & Percentage Charges On Gateway
◆ Set Different Charges For Each Gateways
◆ See Charges Of Gateway On Checkout
◆ Identify Charges In Amount Summary
◆ Sale Order Line For Payment Fee
◆ Easy To Identify The Product Of Fees
◆ Easy To Apply Fees Based On Condition
◆ Conditional Threshold To Apply Fees
Features
◆ User can configure the payment fee from Extra Fees page of Payment Provider.
◆ Set Fixed or Percentage type payment fee in Extra Fees page.
◆ Auto calculate & set the percentage fee amount in checkout page of website.
◆ User can identify the payment fee applied in amount summary of checkout page.
◆ Automatically creates a line in backend sale order with Payment Fee product.
◆ Based on cart changes automatically update the payment fee for the payment method that has payment fee type as percentage.
◆ User can identify the product used for fee in sale order created.
◆ User can apply the fees based on certain conditions of less then or greater then specific amount.
Payment Charges Without Condition
- User need to navigate to Website >> Configuration >> Payment Provider and select Payment Provider.

- Further user need to select the payment provider let's take payment provider Wire Transfer.
- In that payment provider user will see a page Extra Fees, Here user can configure the fees as per their requirements.
- Here user can apply the fees based on specific condition or simply apply fees without any conditions.
- User can see the product for fees & user have to select Payment Fee Type as Percentage & set the percentage in Payment Fees in these case.

- In another case let's take another payment provider Demo here let's take Payment Fee Type as Fixed & set the Payment Fees.

- Further when user adds a product to cart from Website >> Shop >> Add To Cart >> View Cart.

- Inside cart user will see the product details and amount summary of the order & later user have to click on Checkout > button of amount summary.

- Here user will see the all the details associated to order along with Shipping Methods, Payment Methods & amount summary.
- Here user will notice the Payment Methods has a amount written which are the payment fees that will be applied on using that specific payment method as per the configuration done in payment method.
- Each payment method has the payment fee written as per configuration done previously user will see the payment method Wire Transfer has a amount 1.8 shown which is calculated amount of 15% of the total order value.

- When user select any of the payment method a line with Payment Fees will be added into amount summary and into the cart which also adds line in the sale order created.

- Later if user change the payment method then the Payment Fees will be applied or changed as per the changed payment method.

Payment Charges Based On Condition
- User need to navigate to Website >> Configuration >> Payment Provider and select Payment Provider let's take Wire Transfer.
- User need to update the configuration as check Applied Based On Condition boolean it will make 2 other fields Payment Fees Applied On & Order Amount visible.
- There user need to select Payment Fees Applied On & set the amount in Order Amount .

- Going back to website checkout page when user will select payment method as Wire Transfer the payment fee will be applied to it as per the condition configured in payment provider Wire Transfer.
- Here it will apply the 15% of the total order value if the total order value is less than 30 or the value set in Order Amount field.

- Here if user has the order value greater then Order Amount set in payment provider it will not apply payment fees.

- Similarly, let's change the condition in Wire Transfer payment provider to Greater then.

- As per the changes done now when user select Wire Transfer payment method it will not apply the 15% of the total order value if the total order value is less than 30 or the value set in Order Amount field.

- Here if user has the order value greater then Order Amount set in payment provider it will be apply payment fees.

- Where as if user change payment method to Demo in that case payment fee will be applied with the fixed amount set in payment providerDemo & line will to added into sale order & amount summary.
